Integrations · Survey

Survey responses live on the CRM record, not in a vendor dashboard.

Typeform, SurveyMonkey, Qualtrics, Google Forms, and Delighted all post responses on submit. Strkr catches the webhook, matches it to a contact, maps every question to a field, and fires the flow that updates the health score, logs the CSAT, or routes the lead.

Why buyers are here

Survey integrations: what matters for CRM teams.

Every revenue team runs surveys. The RevOps leader runs a quarterly NPS to score accounts, the CSM team runs CSAT after every support ticket, the product team runs a pricing survey before a packaging change, the marketing team runs a lead-generation Typeform at the top of the funnel, and the research team runs a 40-question Qualtrics study every six months to feed the roadmap. The responses are useful. The problem is that the responses live in the survey vendor dashboard, not on the CRM record where the rep or CSM will actually read them. The AE opens the account to prep for a renewal call and has no idea the champion gave the product a 4 on NPS last Tuesday. The CSM takes a support ticket from a customer who filled out a scathing CSAT yesterday and never gets to apologize because the ticket context panel does not show it. The RevOps leader builds a health-score dashboard and realizes half the inputs live in SurveyMonkey, half live in Delighted, and none of them are on the account. Survey and feedback integrations exist to close that gap. The pain points below are the ones buyers describe on every survey-category discovery call, and the sections after them walk through how Strkr wires each vendor to the CRM so a response lands on the record the moment the submit button fires. If any of these shapes match the problem you are trying to solve, the whole page is a straight read-through on how to make the fix.

Dashboard-locked data

The response lives in the vendor dashboard, not the CRM.

A customer submits a 10-question CSAT after a support call and the response lands in SurveyMonkey. The CSM opens the account next week and sees nothing. The feedback that would have changed the renewal conversation is a tab the CSM never opens. Strkr catches the submit webhook, matches on email or external id, and writes the responses to the contact and account so the next person to touch the record reads the feedback at pickup.

Question-to-field mapping

Every survey has its own payload shape.

Typeform returns a nested answers array keyed by question hash, SurveyMonkey returns a flat survey_response, Qualtrics returns a QID-keyed object, Google Forms returns a spreadsheet row, and Delighted returns a lean NPS payload. The CRM operator who has to normalize five shapes into one set of custom fields ends up writing glue code the data team then has to maintain. Strkr ships a mapping layer in the admin console so every vendor payload lands on named Strkr fields without a line of middleware.

Dedupe on resubmit

Three responses from the same contact overwrite each other.

Buyers fill out a Typeform twice on different devices, a CSM resends a CSAT after a bad week, a champion retakes an NPS when the account manager asks for a current pulse. Naive integrations overwrite the first response with the second and lose history. Strkr dedupes on contact plus survey plus submit timestamp, keeps the full history on the record timeline, and promotes the newest response to the summary fields so the current score is always the one the rep reads.

NPS to health score

The NPS number sits in Delighted and the health field stays blank.

The RevOps leader stands up a Delighted NPS program, the responses pour in, and the account.health field is still blank because nothing wires the NPS back to the account. Strkr computes a rolling account NPS from the responses on the contacts tied to the account, writes it to a native field, and raises a flag when the trend breaks downward so the CSM gets a task on the account the week the signal appears, not the quarter after.

CSAT on tickets

The ticket context panel never shows the latest CSAT.

A customer fills a 2 on a CSAT after a bad support interaction, then opens a new ticket the next day. The agent on the new ticket has no idea the customer is already annoyed and treats it like a fresh case. Strkr lands CSAT responses on the ticket and on the contact so the agent sees the recent score and tone before the first reply goes out, which is where most teams see first-response quality jump in week one.

Response-triggered automation

A detractor response needs an action, not a report.

The response that drops a 1 on NPS or a scathing comment on a pricing survey is the one that needs an action today, not a quarterly report. Strkr fires a Flow trigger on survey.response.received so a detractor response can enroll the contact into a save sequence, create a task on the CSM, ping the account owner on Slack, and raise a renewal risk flag in a single automation without a middleware tool.

Providers in Strkr

Survey integrations available today.

The Survey category covers the five providers most Strkr customers connect: Typeform for lead-generation forms with branching logic, SurveyMonkey for the heavier enterprise survey workload, Qualtrics for research-grade studies with experimental design controls, Google Forms for lightweight internal and ad-hoc surveys, and Delighted for the dedicated NPS and CSAT workflow. All five land responses on the same normalized survey_response object on the CRM record, so a Flow that reads NPS from Delighted reads NPS from a Typeform the same way, and the RevOps leader can switch vendors in the future without rewriting the health-score rollup or the detractor sequence. If the vendor you are standing on is not in the list below, the generic survey webhook endpoint accepts any JSON POST and maps it through the same admin console so the integration shape is identical regardless of provider.

How surveys fit in Strkr

A survey response is a record event, not a dashboard row.

The core shift Strkr makes is to treat a survey response as a first-class record event, the same shape as a lead.created or a deal.stage_changed. The response fires a webhook, Strkr catches it, matches it to a contact and account, writes the answers to named Strkr fields, appends the response to the record timeline, and fires a Flow trigger so downstream automations can run. The CRM operator does not have to write a Zapier bridge, does not have to maintain a Lambda, and does not have to open the vendor dashboard to see what the customer said. The cards below describe the primitives that make that shift work and how the operator wires each one up.

Webhook ingest

Point the survey vendor at the Strkr endpoint.

Every supported survey vendor supports an outbound webhook on response-submitted. The Strkr admin console gives you the signed webhook URL, you paste it into the vendor settings, and the integration is live without a middleware step. Signature verification covers Typeform, Qualtrics, SurveyMonkey, and Delighted; Google Forms uses the Apps Script bridge Strkr ships in the Google Workspace integration.

Question mapping

Map every question to a named Strkr field.

The admin console surfaces every question from the connected survey and lets the operator map each one to a native field, a custom field on Contact or Account, or a dedicated survey_response child record. Branching questions are supported, so a Typeform that only asks the pricing question to buyers who said yes to the first question maps clean without null noise.

Record match

Match on email, external id, or a hidden survey field.

Strkr matches responses to a contact by email first, by survey.hidden.external_id second, and by survey.hidden.strkr_contact_id third. Hidden fields let a sent-from-Strkr survey carry the contact id in the URL so an anonymous respondent still lands on the right record, and the fallback to email covers organic survey traffic.

Dedupe and history

Full response history, newest answer in the summary field.

The response timeline keeps every submission from a contact, newest first. The named summary field (contact.nps, contact.csat_last, contact.pricing_fit) always carries the newest value so the rep reads the current pulse at pickup, and the full history is a click away for the CSM who wants to see the trend before the renewal call.

Response as a trigger

survey.response.received is a native Flow event.

Every survey response fires a Flow trigger with the full normalized payload. Flows can read answer values, branch on score bands, enroll the contact into a sequence, create a task, ping Slack, or write back to the vendor through the response API where the vendor supports it. The automation lives in the CRM, not in a middleware tool.

Audit log

Every response is logged with source, timestamp, and payload.

The audit log records which vendor fired the webhook, which survey the response came from, which contact matched, which fields were written, and the full raw payload for compliance. A privacy officer answering a subject-access request can export the full response history for a contact in one query without opening the vendor dashboard.

NPS, CSAT, and health signals

Rolling scores drive the account health field, not the vendor dashboard.

Most buyers who come looking for a survey integration are trying to make NPS and CSAT useful inside the CRM rather than inside the survey vendor. The core problem is that an NPS number on a contact is interesting, but the number the CSM needs is the account-level rolling NPS across every contact the account has, and that number only exists if the CRM is doing the rollup. Strkr ships the rollup natively so the health field, the renewal risk flag, and the detractor save sequence all run off a number computed inside the CRM rather than inside the survey tool. The cards below describe how the rollup works, which signals feed it, and how the sales and CS teams see the signals land on the record.

Account NPS rollup

Average the contact responses onto the account.

Strkr rolls contact-level NPS responses up to the account using a trailing-90-day average weighted by response recency. The account.nps field updates on every response and on a scheduled nightly recompute so an account that had three promoters a year ago and three detractors this week shows the current pulse, not the historical average.

CSAT on last ticket

Write CSAT to the ticket and the contact.

A CSAT survey tied to a ticket writes the score to both the ticket and the contact, with the ticket id carried on the response for the join. The ticket detail panel surfaces the CSAT inline so the next agent to touch the ticket reads the score before the first reply, and the contact.csat_last field keeps the newest score for the dashboards.

Health field inputs

NPS, CSAT, product usage, and ticket volume on one field.

The account.health field combines NPS, CSAT, product usage pulled through the data integration, and ticket volume into a single rolling score that the CSM dashboard sorts by. Each input is weighted in the admin console so the RevOps leader can tune the formula without a developer.

Detractor trigger

A score at or below 6 fires a save sequence.

A Flow listens for survey.response.received where survey.type is NPS and score is at or below 6, enrolls the contact into a save sequence, creates a task on the account owner, pings the CSM on Slack, and raises a renewal risk flag on the account. The detractor response triggers an action in the first minute, not after the quarterly report.

Promoter trigger

A 9 or 10 fires an advocacy sequence.

The same Flow trigger covers the promoter path. A score of 9 or 10 can enroll the contact into a review-request sequence for G2 or Capterra, add a task on the account owner to ask for a referral, or write the contact onto a case-study candidate list the marketing team works. Advocacy is a Flow branch, not a separate workflow tool.

Score history

Trend charts on the account timeline.

The account timeline carries a dedicated Feedback section with a trend chart of NPS and CSAT over time, the comments carried with each score, and the submit date. The CSM reviewing the account before a renewal reads the trend inside the CRM without a tab switch to the survey vendor.

Lead forms and contact enrichment

Typeform and SurveyMonkey top-of-funnel responses enrich on arrival.

A top-of-funnel Typeform or SurveyMonkey often carries more useful intent data than the web-to-lead form it replaced. A short lead form captures email and company; a Typeform with branching captures email, company, headcount hint, use case, timeline, and the specific pain point the buyer led with. The problem is that most CRMs capture the response as a note or an attachment rather than as mapped fields, so the AE opens the lead and has no idea the buyer answered 'under 60 days' on the timeline question. Strkr maps every answer to a named field on the lead or contact, routes the lead on the answers, and chains an enrichment pass so the AE opens the record with the Typeform answers and the firmographic payload already landed. The cards below walk through the primitives.

Lead creation

A response creates or updates the lead.

A Typeform or SurveyMonkey response with a new email creates a lead in the configured list. A response from an existing contact updates the contact and attaches the response to the record. The operator picks lead vs contact vs account level in the mapping admin, which covers the common split between inbound discovery forms and existing-account surveys.

Field mapping on first form

Timeline, use case, headcount, pain point in named fields.

A six-question Typeform maps every answer to a field: timeline, use case, headcount hint, pain point, budget band, source. The AE reviewing the lead queue reads the mapped answers inline rather than opening the response as an attachment. The RevOps leader can filter leads by any mapped answer in a saved view.

Routing on survey answers

Timeline under 30 days routes to a senior AE.

A lead routing rule can match on the mapped survey answer. A buyer who answered 'under 30 days' on timeline routes to the senior AE queue, a buyer who answered 'exploring' routes to the nurture track. The survey answer changes the pickup, not just the dashboard.

Enrichment chain

Response triggers a ZoomInfo or Apollo enrichment pass.

The Flow fired on survey.response.received can chain to the Strkr enrichment step so the lead that landed from the Typeform gets a ZoomInfo or Apollo pass before the AE sees it. The AE opens the record with the Typeform answers and the firmographic payload already written, which is where most teams see pickup time drop fastest.

Hidden fields

Carry UTM, campaign, and strkr_contact_id in the URL.

Strkr injects hidden fields on Typeform and SurveyMonkey survey URLs so UTM campaign, source, and strkr_contact_id travel with the response. A survey sent from a Strkr email sequence carries the recipient id so the response lands on the exact contact even when the respondent submits without logging in.

Attachment preservation

File uploads land on the record.

A survey that accepts file uploads (RFP responses, logos, usage screenshots) lands the files on the contact or account as attachments with the response. The file never has to be fetched from the survey vendor dashboard, which also sidesteps the vendor-side retention policy risk on sensitive uploads.

Pricing surveys and opportunity notes

A pricing survey answer belongs on the opportunity, not a slide deck.

Pricing surveys sit in an awkward spot. The RevOps or product team runs the survey to inform a packaging change, the responses are useful, and the opportunity team working the active pipeline would benefit from reading them live. Instead the responses usually end up in a slide deck the product team shares three weeks later, by which point the deals the responses touched have moved stages or closed. Strkr lands pricing survey responses on both the contact and any open opportunities tied to the contact so the AE working the deal reads the buyer's answer on the exact packaging question the sales team is negotiating. The cards below describe how the opportunity path works.

Opportunity write-back

Response lands on open opportunities for the contact.

A pricing survey response from a contact with open opportunities writes the mapped answers to the opportunity record in a dedicated Feedback section. The AE opens the deal and reads the buyer's answer on the pricing question inline without a tab switch, which closes the loop between the product team's survey and the sales team's negotiation.

Deal note generation

Response summary renders as a timeline note.

Strkr AI generates a one-paragraph summary of the response and posts it to the opportunity timeline as a note with the full response linked. The AE can skim the summary during pre-call prep instead of reading the full response, and the full raw answers are one click away for the detailed read.

Price-sensitivity signal

A low willingness-to-pay answer raises a deal flag.

A Flow reads the willingness-to-pay answer, bands it against the current proposed pricing, and raises a deal flag on the opportunity when the buyer's answer is a step below the proposed band. The sales manager sees the flag in the deal review and can pre-empt a late-stage price objection.

Packaging preference

A tier-preference answer routes to the right proposal template.

A packaging-preference question with answers that map to pricing tiers can set a hidden field on the opportunity that selects the right proposal template in the Strkr Docs module. The AE sending a proposal does not have to pick the template manually; the survey answer picks it.

Objection extraction

Strkr AI pulls objections from open-text answers.

Open-text answers on a pricing survey often carry the real objection in the free-text comment. Strkr AI extracts the objection, tags it against a configurable objection taxonomy, and writes the tags to the opportunity so the manager can filter the pipeline by objection shape in a saved view.

Win-loss feed

Post-close surveys land on the closed opportunity.

A win-loss survey sent after a deal closes writes the responses to the closed opportunity record and the related account. The RevOps leader reads the win-loss reasons on the deal record without a parallel data store, and the loss reasons feed the sales enablement team through a saved view.

Automation, governance, and dedupe

The response is the trigger. The audit log is the receipt.

The last piece of the picture covers the plumbing that makes the integration safe to run at scale: dedupe when respondents answer twice, idempotency when the vendor retries the webhook, governance for GDPR and CCPA on sensitive responses, and the audit log that proves the response landed where it should have. The cards below describe the Strkr defaults and the levers the admin console exposes.

Idempotent webhooks

Vendor retries do not create duplicates.

Every incoming webhook carries a vendor response id, and Strkr dedupes on that id so a vendor retrying the webhook after a transient 500 never creates a second response on the record. Typeform, SurveyMonkey, and Qualtrics all retry aggressively; the dedupe layer makes the retries safe.

Signature verification

Every incoming webhook is cryptographically verified.

Typeform signatures, Qualtrics signatures, and SurveyMonkey signatures are verified against the vendor-side secret stored under AWS KMS. A webhook that fails verification is logged and discarded, so a leaked endpoint URL cannot be used to poison the CRM.

PII handling

Sensitive answers can be masked on the record.

A survey question flagged as sensitive in the admin console (government id, health info, SSN last four) writes to the record as a masked value with the clear value stored only in the audit log under a privacy officer role. The AE sees the response landed without seeing the sensitive content.

Retention

Responses age out with the contact record.

Response history inherits the retention policy on the parent contact or account. When a contact is deleted under a right-to-be-forgotten request, the response history goes with it, and the vendor-side suppression write-back fires on providers that support the API so the respondent is also removed from future surveys.

DSAR routing

Subject-access requests cover survey responses.

A GDPR Article 15 or CCPA access request routed through the Strkr admin console includes the response history for the contact in the export. The privacy officer does not have to open the Typeform or SurveyMonkey dashboard separately to answer a subject request.

Audit log

Every response is replayable from the raw payload.

The audit log stores the raw vendor payload alongside the normalized Strkr fields. If a mapping change needs to be backfilled across the last month of responses, the operator can replay the raw payloads through the new mapping without re-asking the respondents.

Wire your survey stack to the CRM.

Connect Typeform, SurveyMonkey, Qualtrics, Google Forms, or Delighted in the Strkr admin console in minutes and watch responses land on the contact and account where the rep will actually read them.

Common questions

Survey integration FAQ.

Does Strkr integrate with Typeform?

Yes. The Typeform integration ships as a per-tenant OAuth connection under Admin > Integrations. On connect, Strkr lists every Typeform the account owns and the operator picks which forms sync. For each form, the admin console surfaces every question (including branching questions) and lets the operator map answers to named Strkr fields on the lead, contact, or account. Hidden fields let a Typeform sent from a Strkr email sequence carry the contact id in the URL so the response lands on the exact record even when the respondent submits anonymously. Signature verification covers every incoming webhook, and the retry-safe idempotency layer prevents duplicates when Typeform retries after a transient 500. Response events fire the survey.response.received Flow trigger so the operator can enroll detractors into save sequences, route hot leads to senior AEs, or chain an enrichment pass without a middleware tool.

Does Strkr integrate with SurveyMonkey, Qualtrics, Google Forms, and Delighted?

Yes to all four. SurveyMonkey connects through OAuth and supports webhook ingest on new responses with full question-to-field mapping, including matrix questions and multi-select. Qualtrics connects through API tokens stored KMS-encrypted and supports the full QID-keyed response payload, including embedded data fields that carry the Strkr contact id. Google Forms connects through the Google Workspace integration using the Apps Script bridge Strkr ships, which turns every form submission into a webhook into Strkr. Delighted connects through API keys and lands NPS and CSAT responses straight onto the contact and the rolling account NPS field. All four follow the same normalized survey_response shape, so a Flow written against one vendor's responses runs unchanged against another vendor's responses.

How does Strkr turn NPS responses into a health score?

The account.health field combines a trailing-90-day rolling account NPS, the newest CSAT per contact, product usage pulled through the data integration layer, and ticket volume into a single score. The RevOps leader can tune the weights in the admin console without a developer. The rolling account NPS averages the contact-level responses across every contact tied to the account, weighted by response recency, and updates on every incoming response plus on a nightly recompute so the number the CSM reads is the current pulse rather than the historical average. A score band flip (promoter to passive, passive to detractor) raises a flag on the account and fires the detractor Flow so the save sequence runs the week the signal appears, not the quarter after.

How does Strkr dedupe survey responses when a contact submits twice?

Every incoming webhook carries a vendor response id, and Strkr dedupes on that id before writing the response to the record. If a Typeform or SurveyMonkey retries the webhook after a transient 500, the second delivery resolves to the existing response id and no duplicate is created. If the same contact submits a second response to the same survey (different vendor response id but same contact and survey), Strkr keeps both responses on the record timeline, promotes the newer response to the named summary fields, and leaves the older response readable in the history. The RevOps leader sees the current score in the summary and the trend in the timeline. The dedupe layer also handles the case where a response arrives with the same email on an existing contact under a different account; the operator picks the match-priority order in the admin console (email first, external id second, hidden strkr_contact_id third) so the behavior is deterministic.

Can a survey response trigger an automation inside Strkr?

Yes. Every survey response fires the survey.response.received Flow trigger with the full normalized payload. A Flow can branch on any mapped answer or on the overall score band, enroll the contact into a sequence, create a task, ping Slack, write back to the vendor through the response API, raise a renewal risk flag on the account, kick off an enrichment pass through ZoomInfo or Apollo, or chain to any other Strkr Flow action. A common pattern pairs the detractor branch (score at or below 6) with a save sequence plus a Slack ping to the account owner, while the promoter branch (9 or 10) chains into an advocacy sequence that asks for a G2 review and tags the contact as a referral candidate. Because the trigger is native, the operator never has to stand up a middleware tool to run the automation, and the audit log on every response captures which Flows fired and what they did.

How does Strkr handle sensitive answers under GDPR and CCPA?

Any survey question can be flagged as sensitive in the admin console. A flagged answer writes to the record as a masked value, with the clear value stored only in the audit log under a privacy officer role, so the AE reading the record sees the response landed without seeing the sensitive content. Every vendor credential sits KMS-encrypted at rest, every incoming webhook is signature-verified, and the audit log records which vendor fired, which survey the response came from, which contact matched, which fields were written, and the full raw payload. A GDPR Article 15 or CCPA access request routed through the Strkr admin console includes the full response history for the contact in the export, and a right-to-be-forgotten deletion ages the response history out with the parent contact plus fires a vendor-side suppression write-back on providers that support the API so the respondent is removed from future surveys as well.

Try it free. Bring your team next week.

No sales call, no migration consultant, no four-month implementation. Enter your card, get 14 days of the full Pro tier, cancel any time before day 14 with zero charge. Spin up a workspace, import your CSV, and have something useful before lunch.