Surveys is its own product line — not bolted onto lead-gen or booking bots. Two modes: standalone (purpose-built data collection) and post-journey ratings (immediate feedback after a transaction).
8 Jobs to Be Done
- Standalone: Understand, Screen, Baseline, Pulse
- Post-journey: Rate, Diagnose, Close the loop, Trend
Universal skeleton
- Trigger → Invitation → Anchor question → Branch → Optional deeper → Close → Route → Closed-loop action
Importable survey packs (8)
- survey-post-purchase-csat — Retail post-delivery CSAT
- survey-post-delivery-rating — Logistics courier rating
- survey-post-consultation-nps — Professional services NPS
- survey-concept-test — B2B SaaS concept validation
- survey-post-stay-rating — Hospitality post-stay
- survey-enps-pulse — Employee engagement pulse
- survey-support-csat — Attachable support flow (any journey)
- survey-generic-nps — Generic post-journey NPS
104 industry scenarios
The catalog at lib/surveys/scenario-catalog.ts maps 26 industries × 4 scenarios (2 standalone + 2 post-journey). List via API:
GET /api/surveys/scenarios
GET /api/surveys/scenarios?industryId=retail
GET /api/surveys/scenarios?mode=post-journeyImport & attach
# Import standalone or post-journey survey bot
POST /api/chatbots/{id}/import-scenario?clientId={clientId}
{ "packId": "survey-post-purchase-csat" }
# Import GTM workflow + attach support survey in one step
{ "packId": "restaurant-reservations", "attachSurvey": "survey-support-csat" }
# Attach support survey to existing bot (separate flow)
POST /api/chatbots/{id}/attach-survey?clientId={clientId}
{ "surveyPackId": "survey-support-csat" }
# Or auto-pick by scenario:
{ "scenarioPackId": "dental-appointment-booking" }In the flow builder: Import scenario → GTM workflow packs, Survey flows, or Attach support survey.