Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite SurveyMonkey source doc #48625

Merged
merged 1 commit into from
Dec 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 53 additions & 41 deletions docs/integrations/sources/surveymonkey.md
Original file line number Diff line number Diff line change
@@ -1,72 +1,84 @@
# SurveyMonkey

This page guides you through the process of setting up the SurveyMonkey source connector.
Set up a SurveyMonkey source connector to extract survey, question, response, and collector data from your SurveyMonkey account.

:::note

OAuth for Survey Monkey is officially supported only for the US. We are testing how to enable it in the EU at the moment. If you run into any issues, please [reach out to us](mailto:product@airbyte.io) so we can promptly assist you.
Airbyte officially supports OAuth for SurveyMonkey only for the US. If you have any issues, [contact us](https://support.airbyte.com/).

:::

<!-- env:oss -->

## Prerequisites

**For Airbyte Open Source:**
Before you begin, have the following ready.

<!-- env:oss -->
### For Airbyte Open Source

- Access Token
- A [registered SurveyMonkey app](https://developer.surveymonkey.com/apps/)
- A SurveyMonkey access token, found on the Settings page of your SurveyMonkey app
- If your SurveyMonkey app is a Public app, you also need a Client ID and Client Secret, found on the Settings page of your SurveyMonkey app
<!-- /env:oss -->

## Setup guide
<!-- env:cloud -->
### For Airbyte Cloud

### Step 1: Set up SurveyMonkey
- A [registered SurveyMonkey application](https://developer.surveymonkey.com/apps/)
- A [paid SurveyMonkey account](https://www.surveymonkey.com/pricing/)
<!-- /env:cloud -->

Please read this [docs](https://developer.surveymonkey.com/api/v3/#getting-started). Register your application [here](https://developer.surveymonkey.com/apps/) Then go to Settings and copy your access token
You may want to review SurveyMonkey's [API docs](https://developer.surveymonkey.com/api/v3/#getting-started), but this isn't strictly necessary.

### Step 2: Set up the source connector in Airbyte
## Create the SurveyMonkey source

<!-- env:cloud -->

**For Airbyte Cloud:**

1. [Log into your Airbyte Cloud](https://cloud.airbyte.com/workspaces) account.
2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**.
3. On the source setup page, select **SurveyMonkey** from the Source type dropdown and enter a name for this connector.
4. lick `Authenticate your account`.
5. Log in and Authorize to the SurveyMonkey account
6. Choose required Start date
7. click `Set up source`.
### Airbyte Cloud steps

1. In the left navigation bar, click **Sources**.
2. Click **New source**.
3. Find and click **SurveyMonkey**.
4. Click **Authenticate your SurveyMonkey account**. Log in and authorize Airbyte to access your SurveyMonkey account.
5. Fill out the form.
- **Source name**: A short, descriptive name to help you identify this source in Airbyte.
- **Start Date**: Any data before this date will not be extracted.
- **Origin datacenter of the SurveyMonkey account**: Airbyte needs to know this because API access URLs may depend on the origin datacenter's location.
- **Survey Monkey survey IDs**: If you want to extract specific surveys, enter the IDs of those surveys. If you want to extract all survey data, leave this blank.
6. Click **Set up source**. Wait a moment while Airbyte tests the connection.
<!-- /env:cloud -->

<!-- env:oss -->

**For Airbyte Open Source:**

1. Go to local Airbyte page.
2. In the left navigation bar, click **Sources**. In the top-right corner, click **+ new source**.
3. On the source setup page, select **SurveyMonkey** from the Source type dropdown and enter a name for this connector.
4. Add **Access Token**
5. Choose required Start date
6. Click `Set up source`.
### Airbyte Open Source steps

1. In the left navigation bar, click **Sources**.
2. Click **New source**.
3. Find and click **SurveyMonkey**.
4. Fill out the form.
- **Source name**: A short, descriptive name to help you identify this source in Airbyte.
- **Access Token**: Your SurveyMonkey app's access token.
- **Client ID**: Your SurveyMonkey app's client id.
- **Client Secret**: Your SurveyMonkey app's client secret.
- **Start Date**: Any data before this date will not be extracted.
- **Origin datacenter of the SurveyMonkey account**: Airbyte needs to know this because API access URLs may depend on the origin datacenter's location.
- **Survey Monkey survey IDs**: If you want to extract specific surveys, enter the IDs of those surveys. If you want to extract all survey data, leave this blank.
6. Click **Set up source**. Wait a moment while Airbyte tests the connection.
<!-- /env:oss -->

## Supported streams and sync modes

- [Surveys](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys) \(Incremental\)
- [SurveyPages](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-pages)
- [SurveyQuestions](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-pages-page_id-questions)
- [SurveyResponses](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-id-responses-bulk) \(Incremental\)
- [SurveyCollectors](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-collectors)
- [Collectors](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-collectors-collector_id-)

### Performance considerations
You can stream the following data from SurveyMonkey using the [sync modes](/using-airbyte/core-concepts/sync-modes/) indicated.

The SurveyMonkey API applies heavy API quotas for default private apps, which have the following limits:
| Stream | Sync mode |
| :------ | :--------- |
| [Surveys](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys) | Full refresh, incremental |
| [SurveyPages](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-pages) | Full refresh |
| [SurveyQuestions](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-pages-page_id-questions) | Full refresh |
| [SurveyResponses](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-id-responses-bulk) | Full refresh, incremental |
| [SurveyCollectors](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-surveys-survey_id-collectors) | Full refresh |
| [Collectors](https://api.surveymonkey.com/v3/docs?shell#api-endpoints-get-collectors-collector_id-) | Full refresh |

- 125 requests per minute
- 500 requests per day
## Rate limits

To cover more data from this source we use caching.
SurveyMonkey's API has [default rate limits](https://developer.surveymonkey.com/api/v3/#request-and-response-limits) for draft and private apps. Airbyte uses caching to economize its usage of the API. However, if you need a higher quota, SurveyMonkey offers temporary and permanent options to increase your rate limits.

## Changelog

Expand Down
Loading