Documentation
Surveys
CSAT, NPS, CES, PMF, custom surveys, and dynamic form builder with Flow delivery and score aggregation.
Survey templates define questions, scoring rules, and thank-you copy. Publishing compiles a Flow workflow that collects answers on WhatsApp, Telegram, or USSD. Responses are scored automatically and available via summary APIs.
Built-in survey types
- CSAT: 1–5 satisfaction scale + optional comment (% satisfied at 4–5)
- NPS: 0–10 likelihood to recommend (promoters / passives / detractors)
- CES: 1–7 customer effort score
- PMF: Product-Market Fit (Sean Ellis very disappointed test)
- Custom: multi-question scale, text, and choice prompts
- Form: blank dynamic form built in the console form builder
Form builder field types
- GET /v1/flow/survey-templates/field-types: palette (section, text, long_text, scale, rating, choice, multi_choice, yes_no, email, phone, date)
- POST /v1/flow/survey-templates/validate: normalize and validate a definition before save
- PUT /v1/flow/survey-templates/{id}: save draft definition from the builder
Create a template
POST /v1/flow/survey-templatesJSON
{
"name": "Post-support NPS",
"surveyType": "nps",
"channel": "whatsapp",
"publish": true
}Publish and trigger
- POST /v1/flow/survey-templates/{id}/publish: compile to Flow workflow
- Start via POST /v1/flow/inbound with the published workflowId
- Or bind workflow in a parent Flow after conversation resolved (CSAT after resolution pattern)
Scores and responses
GET /v1/flow/survey-responses/summary?templateId=svt_...JSON
{
"templateId": "svt_abc",
"surveyType": "nps",
"responseCount": 120,
"scores": { "nps": 42.5, "promoters": 68, "passives": 30, "detractors": 22 }
}Requires surveys feature and surveys:templates:read|write permissions. Flow sessions auto-record responses when the survey.complete action runs.