All integrations
SurveyMonkey
+
Bruin

SurveyMonkey + Bruin

Source

Ingest SurveyMonkey data into your warehouse with incremental loading, quality checks, and full lineage. Defined in YAML, version-controlled in Git.

For business teams

What you get

  • Feedback tied to revenue

    Join SurveyMonkey responses with CRM and billing data. See which customer segments are unhappy — and how much revenue is at risk.

  • NPS/CSAT trends, automated

    SurveyMonkey response data flows into your warehouse. Trend dashboards update automatically, no manual exports.

  • Response quality validation

    Quality checks catch duplicate submissions, incomplete responses, and stale data before it reaches your reports.

  • Cross-source customer insight

    Combine SurveyMonkey feedback with support tickets, product usage, and sales data for a complete customer picture.

For data & engineering teams

How it works

  • Response deduplication

    Bruin's merge strategy prevents duplicate SurveyMonkey responses. Re-runs and retries are always safe.

  • YAML-defined, Git-versioned

    Your SurveyMonkey pipeline is a YAML file. Review in PRs, deploy with CI/CD, roll back with git revert.

  • Completeness validation

    Quality checks catch incomplete responses, missing timestamps, and null IDs on every sync.

  • Transform responses in SQL

    Calculate NPS, CSAT, and sentiment metrics with SQL transforms — in the same pipeline as ingestion.

Before you start

SurveyMonkey account with API access
OAuth app registered
Access token with survey read scope

Step 1

Add your SurveyMonkey connection

Connect using SurveyMonkey OAuth token. Add this to your Bruin environment file — credentials are stored securely and referenced by name in your pipeline YAML.

Parameters

  • access_tokenSurveyMonkey OAuth access token
connections:
  surveymonkey:
    type: surveymonkey
    uri: "surveymonkey://access_token"

Step 2

Create your pipeline

Define a YAML asset that tells Bruin what to pull from SurveyMonkey and where to land it. This file lives in your Git repo — reviewable, version-controlled, and deployable with CI/CD.

Available tables

surveysresponsescollectorscontactsquestions
name: raw.surveymonkey_surveys
type: ingestr

parameters:
  source_connection: surveymonkey
  source_table: 'surveys'
  destination: bigquery

Step 3

Add quality checks

Add column-level and custom SQL checks to your SurveyMonkey data. If a check fails, the pipeline stops — bad data never reaches downstream models or dashboards.

Catch duplicate survey responses
Validate submission timestamps are recent
Ensure response IDs are unique across syncs
columns:
  - name: response_id
    checks:
      - name: not_null
      - name: unique
  - name: submitted_at
    checks:
      - name: not_null

custom_checks:
  - name: responses are recent
    query: |
      SELECT MAX(submitted_at) >
        TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
      FROM raw.surveymonkey_surveys

Step 4

Run it

One command. Bruin connects to SurveyMonkey, pulls data incrementally, runs your quality checks, and lands clean data in your warehouse. If a check fails, the pipeline stops — bad data never reaches downstream.

Backfill historical data with --start-date
Schedule with cron or trigger from CI/CD
Full lineage from SurveyMonkey to your dashboards
$ bruin run .
Running pipeline...

  surveymonkey_surveys
    ✓ Fetched 2,847 new records
    ✓ Quality: campaign_id not_null     PASSED
    ✓ Quality: spend not_null           PASSED
    ✓ Quality: no negative ad spend     PASSED
    ✓ Loaded into bigquery

  Completed in 12s

Other Surveys & Feedback integrations

Ready to connect SurveyMonkey?

Start for free, or book a demo to see how Bruin handles ingestion, quality, lineage, and scheduling for your entire data stack.