Skip to main content

SurveyMonkey integration

Read surveys, list responses, and react to new submissions across your clients' SurveyMonkey accounts.

What it does

The SurveyMonkey integration lets your agency turn a client's surveys into the front door of an automated workflow. Connect a client's SurveyMonkey account once and you can list every survey, fetch a survey's pages and questions, page through bulk responses with status and date filters, retrieve a single response with all answer details, and enumerate the survey's collectors. A response_completed webhook trigger turns every new completion into a workflow run, so the next step (CRM upsert, Slack notification, NPS scoring) runs the moment the respondent finishes the survey.

Connect a SurveyMonkey account

  1. Open your workspace in TaskJuice and navigate to Connections.
  2. Choose SurveyMonkey and click Connect.
  3. Sign in to the SurveyMonkey developer portal at developer.surveymonkey.com and open My Apps.
  4. Create or select an app, open the Scopes tab, and grant the scopes your workflow needs (typically surveys_read and responses_read).
  5. Open the Settings tab, copy the Access Token, and paste it into TaskJuice.

A SurveyMonkey access token inherits the scopes granted on the app. Tightening the scope list on the developer portal also tightens the connection in TaskJuice on the next request.

Triggers

  • surveymonkey/response-completed fires when a respondent finishes a survey. The payload includes the event id, the survey id and collector id, the response id, and the event timestamp.

Actions

  • surveymonkey/list-surveys lists surveys in the connected account with page-based pagination and optional title, sort, and order filters.
  • surveymonkey/get-survey retrieves a single survey by id with its metadata and counts.
  • surveymonkey/get-survey-details returns the full survey structure including pages, questions, and answer choices.
  • surveymonkey/list-responses lists bulk responses for a survey with status, date-range, and sort filters, paged via page and per_page.
  • surveymonkey/get-response fetches a single response by id with all answer details.
  • surveymonkey/list-collectors lists collectors (distribution channels) for a survey with page-based pagination.

Known limitations

  • SurveyMonkey enforces a 120 requests-per-minute global rate limit on the v3 API. The action engine retries 429 responses with backoff; high-volume response backfills should pace requests with a downstream throttle.
  • Daily request quotas apply on top of the per-minute ceiling. The exact ceiling depends on the SurveyMonkey plan attached to the access token.
  • SurveyMonkey webhooks sign the raw request body with HMAC-SHA1 and send the hex digest in the Sm-Hookshot-Signature header. Configure the webhook with a signing secret and paste the same secret into the trigger; the platform verifies every inbound POST before activating the workflow.
  • Webhook payloads carry resource pointers (survey_id, collector_id, response_id), not the full response. Chain a surveymonkey/get-response action after the trigger to materialize the answers.
  • Access tokens never expire on their own, but revoking the app on the developer portal invalidates every token issued for it. The platform surfaces a 401 on the next workflow run when that happens.
Was this helpful?
SurveyMonkey integration | TaskJuice Docs