SurveyMonkey connector reference

Important

This feature is in Beta. To use it, a workspace admin must turn on Lakeflow Connect for SurveyMonkey from the Previews page. See Manage Azure Databricks previews.

The managed SurveyMonkey connector in Lakeflow Connect supports 11 source tables in the default schema. The surveys, survey_details, and survey_responses tables sync incrementally on date_modified, and the other eight tables use full refresh.

Supported source tables

The SurveyMonkey connector supports the following source tables, all under the default source schema:

Source table Primary key Description Sync mode Cursor field
surveys id Surveys that the authorizing user owns or that are shared with that user, including counts, owner, and survey URLs. Incremental date_modified
survey_details id Expanded survey structure, including each survey's pages and questions. Incremental date_modified
survey_collectors id Collectors for each survey, including type, status, and response count. Full refresh only
collectors id Full collector settings, including thank-you, disqualification, and response-limit settings. Full refresh only
survey_responses id Survey responses, including answers, respondent metadata, and collection details. Incremental date_modified
survey_folders id Survey folders in the account, including the number of surveys in each folder. Full refresh only
contacts id Contacts in the account, including name, email address, and phone number. Full refresh only
contact_lists id Contact lists in the account. Full refresh only
contact_list_contacts contact_list_id, id Contacts in each contact list, including custom fields. Full refresh only
collector_messages collector_id, id Invitation messages for each collector, including type and status. Full refresh only
collector_recipients collector_id, id Recipients of each collector's invitations, including response and mail status. Full refresh only

Connector options

See Examples for usage.

Option Type Scope Required Applies to Description
start_datetime String (yyyy-MM-ddTHH:mm:ss, UTC) Pipeline No All incremental tables (surveys, survey_details, survey_responses) Earliest date and time from which to ingest data. Defaults to 365 days before the first sync. Applies only to the first sync of each table. Later syncs resume from the stored cursor.

Destination table schemas

surveys

Primary key: id

Sync mode: Incremental

Cursor field: date_modified

Field Data type
id STRING
title STRING
nickname STRING
language STRING
category STRING
theme_id STRING
template_id BIGINT
folder_id STRING
question_count BIGINT
page_count BIGINT
response_count BIGINT
date_created TIMESTAMP
date_modified TIMESTAMP
is_owner BOOLEAN
owner STRING
footer BOOLEAN
buttons_text STRUCT<next_button STRING, prev_button STRING, exit_button STRING, done_button STRING>
custom_variables VARIANT
href STRING
analyze_url STRING
edit_url STRING
collect_url STRING
summary_url STRING
preview STRING

Note

This table does not support slowly changing dimension (SCD) type 2 because it has VARIANT columns.

survey_details

Primary key: id

Sync mode: Incremental

Cursor field: date_modified

Field Data type
id STRING
title STRING
nickname STRING
language STRING
folder_id STRING
category STRING
question_count BIGINT
page_count BIGINT
response_count BIGINT
date_created TIMESTAMP
date_modified TIMESTAMP
href STRING
pages ARRAY<STRUCT<`id`: STRING, `title`: STRING, `description`: STRING, `position`: BIGINT, `question_count`: BIGINT, `href`: STRING, `questions`: ARRAY<STRUCT<`id`: STRING, `position`: BIGINT, `visible`: BOOLEAN, `family`: STRING, `subtype`: STRING, `layout`: STRING, `sorting`: STRING, `required`: STRING, `validation`: STRING, `forced_ranking`: BOOLEAN, `headings`: STRING, `answers`: STRING, `href`: STRING>>>>

survey_collectors

Primary key: id

Sync mode: Full refresh only

Field Data type
id STRING
survey_id STRING
name STRING
type STRING
status STRING
response_count BIGINT
date_created TIMESTAMP
date_modified TIMESTAMP
url STRING
href STRING

collectors

Primary key: id

Sync mode: Full refresh only

Field Data type
id STRING
survey_id STRING
status STRING
type STRING
name STRING
thank_you_message STRING
thank_you_page VARIANT
disqualification_type STRING
disqualification_message STRING
disqualification_url STRING
close_date TIMESTAMP
closed_page_message STRING
redirect_url STRING
redirect_type STRING
display_survey_results BOOLEAN
edit_response_type STRING
anonymous_type STRING
allow_multiple_responses BOOLEAN
password_enabled BOOLEAN
respondent_authentication BOOLEAN
response_limit BIGINT
sender_email STRING
response_count BIGINT
date_created TIMESTAMP
date_modified TIMESTAMP
url STRING
href STRING

Note

This table does not support SCD type 2 because it has VARIANT columns.

survey_responses

Primary key: id

Sync mode: Incremental

Cursor field: date_modified

Field Data type
id STRING
survey_id STRING
collector_id STRING
recipient_id STRING
collection_mode STRING
response_status STRING
custom_value STRING
first_name STRING
last_name STRING
email_address STRING
ip_address STRING
language STRING
total_time BIGINT
date_created TIMESTAMP
date_modified TIMESTAMP
logic_path VARIANT
metadata VARIANT
custom_variables VARIANT
page_path VARIANT
pages VARIANT
edit_url STRING
analyze_url STRING
href STRING

Note

This table does not support SCD type 2 because it has VARIANT columns.

survey_folders

Primary key: id

Sync mode: Full refresh only

Field Data type
id STRING
title STRING
num_surveys BIGINT
href STRING

Note

Don't include this table for connections with the Data Region set to ca. The SurveyMonkey survey folders endpoint is unavailable for Canadian users, so the pipeline update fails. See the SurveyMonkey survey folders API reference.

contacts

Primary key: id

Sync mode: Full refresh only

Field Data type
id STRING
first_name STRING
last_name STRING
email STRING
phone_number STRING
href STRING

contact_lists

Primary key: id

Sync mode: Full refresh only

Field Data type
id STRING
name STRING
href STRING

contact_list_contacts

Primary key: contact_list_id, id

Sync mode: Full refresh only

Field Data type
id STRING
contact_list_id STRING
first_name STRING
last_name STRING
email STRING
phone_number STRING
custom_fields VARIANT
href STRING

Note

This table does not support SCD type 2 because it has VARIANT columns.

collector_messages

Primary key: collector_id, id

Sync mode: Full refresh only

Field Data type
id STRING
collector_id STRING
type STRING
status STRING
href STRING

collector_recipients

Primary key: collector_id, id

Sync mode: Full refresh only

Field Data type
id STRING
collector_id STRING
email STRING
phone_number STRING
survey_response_status STRING
mail_status STRING
custom_fields VARIANT
remove_link STRING
extra_fields VARIANT
survey_link STRING
href STRING

Note

This table does not support SCD type 2 because it has VARIANT columns.

Required OAuth permissions

The SurveyMonkey app must have the following scopes. The connection requests all of them when you sign in, so turn on each one under Scopes in the app's Settings. For more information, see the SurveyMonkey API scopes reference.

Permission Required for
View Surveys (surveys_read) surveys, survey_details, survey_folders, and every table that the connector reads per survey: survey_collectors, collectors, survey_responses, collector_messages, collector_recipients
View Collectors (collectors_read) survey_collectors, collectors, collector_messages, collector_recipients
View Contacts (contacts_read) contacts, contact_lists, contact_list_contacts
View Responses (responses_read) Requested at sign-in. No table requires it directly.
View Response Details (responses_read_detail) survey_responses