SurveyMonkey integration summary

Stitch’s SurveyMonkey integration replicates data using the SurveyMonkey REST API v3. Refer to the Schema section for a list of objects available for replication.

SurveyMonkey feature snapshot

A high-level look at Stitch's SurveyMonkey (v1) integration, including release status, useful links, and the features supported in Stitch.

STITCH
Release status

Released on February 26, 2020

Supported by

Singer Community

Stitch plan

Standard

API availability

Available

Singer GitHub repository

singer-io/tap-surveymonkey

REPLICATION SETTINGS
Anchor Scheduling

Supported

Advanced Scheduling

Supported

Table-level reset

Unsupported

Configurable Replication Methods

Unsupported

DATA SELECTION
Table selection

Supported

Column selection

Supported

Select all

Supported

TRANSPARENCY
Extraction Logs

Supported

Loading Reports

Supported

Connecting SurveyMonkey

SurveyMonkey setup requirements

To set up SurveyMonkey in Stitch, you need:

  • An Enterprise SurveyMonkey account. This is required to complete the setup in SurveyMonkey.


Step 1: Retrieve your access token and Survey ID

  1. Login to your SurveyMonkey and go to App Directory.
  2. Type stitchdata in the search input box to find the Stitchdata ETL app.
  3. Click the Visit Site button on the right side of the page.
  4. Click the Authorize button.
  5. The access token and list of surveys are shown after authorization:

    Access token and the list of Survey IDs.

Leave this page open - you’ll need it in the next step. Note: You may come back at any time to retrieve your access token or identify a new survey ID.

Step 2: Add SurveyMonkey as a Stitch data source

  1. Sign into your Stitch account.
  2. On the Stitch Dashboard page, click the Add Integration button.

  3. Click the SurveyMonkey icon.

  4. Enter a name for the integration. This is the name that will display on the Stitch Dashboard for the integration; it’ll also be used to create the schema in your destination.

    For example, the name “Stitch SurveyMonkey” would create a schema called stitch_surveymonkey in the destination. Note: Schema names cannot be changed after you save the integration.

  5. In the Access Token field, add your access token that you obtained in Step 1.
  6. In the Survey Id field, add your survey ID that you retrieved in Step 1.

Step 3: Define the historical replication start date

The Sync Historical Data setting defines the starting date for your SurveyMonkey integration. This means that data equal to or newer than this date will be replicated to your data warehouse.

Change this setting if you want to replicate data beyond SurveyMonkey’s default setting of 1 year. For a detailed look at historical replication jobs, check out the Syncing Historical SaaS Data guide.

Step 4: Create a replication schedule

In the Replication Frequency section, you’ll create the integration’s replication schedule. An integration’s replication schedule determines how often Stitch runs a replication job, and the time that job begins.

SurveyMonkey integrations support the following replication scheduling methods:

To keep your row usage low, consider setting the integration to replicate less frequently. See the Understanding and Reducing Your Row Usage guide for tips on reducing your usage.

Step 5: Set objects to replicate

The last step is to select the tables and columns you want to replicate. Learn about the available tables for this integration.

Note: If a replication job is currently in progress, new selections won’t be used until the next job starts.

For SurveyMonkey integrations, you can select:

  1. Individual tables and columns

  2. All tables and columns

Click the tabs to view instructions for each selection method.

  1. In the integration’s Tables to Replicate tab, locate a table you want to replicate.
  2. To track a table, click the checkbox next to the table’s name. A blue checkmark means the table is set to replicate.

  3. To track a column, click the checkbox next to the column’s name. A blue checkmark means the column is set to replicate.

  4. Repeat this process for all the tables and columns you want to replicate.
  5. When finished, click the Finalize Your Selections button at the bottom of the screen to save your selections.
  1. Click into the integration from the Stitch Dashboard page.
  2. Click the Tables to Replicate tab.

  3. In the list of tables, click the box next to the Table Names column.
  4. In the menu that displays, click Track all Tables and Fields:

    The Track all Tables and Fields menu in the Tables to Replicate tab

  5. Click the Finalize Your Selections button at the bottom of the page to save your data selections.

Initial and historical replication jobs

After you finish setting up SurveyMonkey, its Sync Status may show as Pending on either the Stitch Dashboard or in the Integration Details page.

For a new integration, a Pending status indicates that Stitch is in the process of scheduling the initial replication job for the integration. This may take some time to complete.

Free historical data loads

The first seven days of replication, beginning when data is first replicated, are free. Rows replicated from the new integration during this time won’t count towards your quota. Stitch offers this as a way of testing new integrations, measuring usage, and ensuring historical data volumes don’t quickly consume your quota.


SurveyMonkey table reference

Replication Method :

Key-based Incremental

Replication Key :

date_modified

Primary Key :

id

API endpoint :

GET Survey Responses

This table contains information about your survey responses.

id
STRING

The response ID.

Reference:

date_modified
DATE-TIME

The date the response was last modified.

analyze_url
STRING

The weblink to the analyze page to view the response.

collection_mode
STRING

The collection mode of the response: default, preview, data_entry, survey_preview, or edit.

collector_id
STRING

The ID of the collector the response was taken for.

custom_value
STRING

The custom value associated with a response.

custom_variables
OBJECT

The values to any available custom variables in the survey.

date_created
DATE-TIME

The date the response was created.

edit_url
STRING

The weblink to the survey taking page to edit the response.

email_address
STRING

The email address of the responder.

first_name
STRING

The first name of the responder.

href
STRING

The Resource API URL.

ip_address
STRING

The IP Address the response was taken from.

last_name
STRING

The last name of the responder.

logic_path
OBJECT

The logic path taken during the survey.

metadata
OBJECT

Other associated metadata or custom values.

page_path
ARRAY

The order in which the pages were responded to.

value
STRING

responses (table), page_path (attribute)

pages
ARRAY

Pages from the survey and their associated responses.

id
STRING

The ID of the page with responses.

questions
ARRAY

The questions on that page with responses.

answers
ARRAY

The answers for the question with responses.

choice_id
STRING

The choice selected.

col_id
STRING

The column selected.

image
STRING

other_id
STRING

The other text choice selected.

row_id
STRING

The row selected.

text
STRING

Any open ended text.

responses (table), answers (attribute)

id
STRING

ID of the question with responses.

variable_id
STRING

ID of the random assignment variable for the question.

responses (table), questions (attribute)
responses (table), pages (attribute)

recipient_id
STRING

The ID of the recipient.

response_status
STRING

The status of the response: completed, partial, overquota, or disqualified.

survey_id
STRING

ID of the survey the response was taken for.

Reference:

total_time
INTEGER

Total time in seconds spent on the survey.


simplified_responses

Replication Method :

Key-based Incremental

Replication Key :

date_modified

Primary Key :

id

API endpoint :

GET Response

This table contains a simplified version of information about your survey responses.

id
STRING

The response ID.

Reference:

date_modified
DATE-TIME

The date the response was last modified.

analyze_url
STRING

The weblink to the analyze page to view the response.

collection_mode
STRING

The collection mode of the response: default, preview, data_entry, survey_preview, or edit.

collector_id
STRING

The ID of the collector the response was taken for.

custom_value
STRING

The custom value associated with a response.

custom_variables
OBJECT

The values to any available custom variables in the survey.

date_created
DATE-TIME

The date the response was created.

edit_url
STRING

The weblink to the survey taking page to edit the response.

href
STRING

The Resource API URL.

ip_address
STRING

The IP Address the response was taken from.

logic_path
OBJECT

The logic path taken during the survey.

metadata
OBJECT

Other associated metadata or custom values.

page_path
ARRAY

The order in which the pages were responded to.

value
STRING

simplified_responses (table), page_path (attribute)

pages
ARRAY

Pages from the survey and their associated responses.

id
STRING

The ID of the page with responses.

questions
ARRAY

The questions on that page with responses.

answers
ARRAY

The answers for the question with responses.

choice_id
STRING

The choice selected.

col_id
STRING

The column selected.

image
STRING

other_id
STRING

The other text choice selected.

row_id
STRING

The row selected.

simple_text
STRING

tag_data
ARRAY

value
STRING

simplified_responses (table), tag_data (attribute)

text
STRING

Any open ended text.

simplified_responses (table), answers (attribute)

family
STRING

The question family.

heading
STRING

The question heading.

id
STRING

ID of the question with responses.

subtype
STRING

The question family’s subtype.

variable_id
STRING

ID of the random assignment variable for the question.

simplified_responses (table), questions (attribute)
simplified_responses (table), pages (attribute)

recipient_id
STRING

The ID of the recipient.

response_status
STRING

The status of the response: completed, partial, overquota, or disqualified.

survey_id
STRING

ID of the survey the response was taken for.

Reference:

total_time
INTEGER

Total time in seconds spent on the survey.


Replication Method :

Key-based Incremental

Replication Key :

date_modified

Primary Key :

id

API endpoint :

GET Surveys

This table contains information about your survey details.

id
STRING

The survey ID.

Reference:

date_modified
DATE-TIME

The date and time when survey was last modified.

analyze_url
STRING

The survey’s Analyze URL.

buttons_text
OBJECT

The survey buttons text container.

done_button
STRING

The Done button text.

exit_button
STRING

The Exit button text.

next_button
STRING

The Next button text.

prev_button
STRING

The Previous button text.

survey_details (table), buttons_text (attribute)

category
STRING

The survey category chosen when creating the survey.

collect_url
STRING

The survey’s Collect URL.

custom_variables
OBJECT

The dictionary of survey variables.

date_created
DATE-TIME

The date and time when survey was created

edit_url
STRING

The survey’s Edit URL.

folder_id
STRING

If applicable, the id of the folder the survey is in.

footer
BOOLEAN

Whether or not SurveyMonkey’s footer is not displayed.

href
STRING

The Resource API URL.

is_owner
BOOLEAN

language
STRING

The survey language.

nickname
STRING

The survey nickname.

page_count
INTEGER

The number of pages in the survey.

pages
ARRAY

Pages from the surveys.

description
STRING

The page description.

href
STRING

id
STRING

The page ID.

position
INTEGER

The page position.

question_count
INTEGER

The number of questions on the page.

questions
ARRAY

The questions on the page.

answers
OBJECT

The answer to the question.

choices
ARRAY

The list of available choices for the user.

description
STRING

Valid values: , Extremely likely, Not at all likely.

id
STRING

The ID of the choice

image
OBJECT

The image choice.

s3_key
STRING

url
STRING

The URL of image choice.

survey_details (table), image (attribute)

is_na
BOOLEAN

position
INTEGER

The position of the current choice

quiz_options
OBJECT

The object containing the quiz properties of this question, if quiz-mode is enabled.

score
INTEGER

The quiz score.

survey_details (table), quiz_options (attribute)

text
STRING

The choice for user selection.

visible
BOOLEAN

Whether the question is visible.

weight
INTEGER

The weight value of the choice.

survey_details (table), choices (attribute)

cols
ARRAY

The list of columns in the matrix.

choices
ARRAY

The list of available choices for the user in dropdown menu.

id
STRING

is_na
BOOLEAN

position
INTEGER

The position of choice.

text
STRING

The choice for user selection.

visible
BOOLEAN

survey_details (table), choices (attribute)

id
STRING

is_na
BOOLEAN

position
INTEGER

text
STRING

visible
BOOLEAN

survey_details (table), cols (attribute)

other
OBJECT

apply_all_rows
BOOLEAN

error_text
STRING

id
STRING

is_answer_choice
BOOLEAN

num_chars
INTEGER

num_lines
INTEGER

position
INTEGER

text
STRING

visible
BOOLEAN

survey_details (table), other (attribute)

rows
ARRAY

id
STRING

position
INTEGER

required
BOOLEAN

text
STRING

type
STRING

visible
BOOLEAN

survey_details (table), rows (attribute)
survey_details (table), answers (attribute)

display_options
OBJECT

show_display_number
BOOLEAN

survey_details (table), display_options (attribute)

family
STRING

forced_ranking
BOOLEAN

headings
ARRAY

description
STRING

heading
STRING

image
OBJECT

s3_key
STRING

url
STRING

survey_details (table), image (attribute)

random_assignment
OBJECT

description
STRING

id
STRING

percent
NUMBER

position
INTEGER

variable_name
STRING

survey_details (table), random_assignment (attribute)
survey_details (table), headings (attribute)

href
STRING

id
STRING

nickname
STRING

position
INTEGER

quiz_options
OBJECT

feedback
OBJECT

correct_text
STRING

incorrect_text
STRING

partial_text
STRING

survey_details (table), feedback (attribute)

scoring_enabled
BOOLEAN

survey_details (table), quiz_options (attribute)

required
OBJECT

amount
STRING

text
STRING

type
STRING

survey_details (table), required (attribute)

sorting
OBJECT

ignore_last
BOOLEAN

type
STRING

survey_details (table), sorting (attribute)

subtype
STRING

validation
OBJECT

max
STRING

min
STRING

sum
INTEGER

sum_text
STRING

text
STRING

type
STRING

survey_details (table), validation (attribute)

visible
BOOLEAN

survey_details (table), questions (attribute)

title
STRING

survey_details (table), pages (attribute)

preview
STRING

The survey Preview URL.

question_count
INTEGER

Number of questions in survey.

quiz_options
OBJECT

An object describing the quiz settings, if this survey is a quiz.

feedback
OBJECT

Text to show the user when they complete the quiz.

ranges
ARRAY

The ranges at which to show users certain feedback.

max
STRING

Maximum score for this feedback.

message
STRING

Feedback message.

min
STRING

Minimum score for this feedback.

survey_details (table), ranges (attribute)

ranges_type
STRING

The type of parameters used: percentage or points.

survey_details (table), feedback (attribute)

is_quiz_mode
BOOLEAN

The on/off toggle for setting this survey as a quiz.

show_results_type
STRING

What to reveal to the user when they complete the quiz: disabled, results_only or results_and_answers.”

survey_details (table), quiz_options (attribute)

response_count
INTEGER

The number of responses survey has received.

summary_url
STRING

The survey’s Summary URL.

title
STRING

The survey title.



Questions? Feedback?

Did this article help? If you have questions or feedback, feel free to submit a pull request with your suggestions, open an issue on GitHub, or reach out to us.