Create and distribute surveys from the CLI.

Surveys

Collect feedback from your users with in-app surveys. AscendKit supports three survey types: NPS (Net Promoter Score) for loyalty measurement, CSAT (Customer Satisfaction) for experience ratings, and custom surveys for any question format using SurveyJS.

Surveys integrate with the rest of AscendKit — distribute them through journeys, trigger webhooks on submission, and track completion analytics with per-user funnels (sent, opened, submitted).

Note: The CLI handles survey-level operations (create, distribute, view analytics). Question-level editing (add, edit, reorder questions) is available through the portal UI.

Create a survey

ascendkit survey create --name "Q1 NPS Survey" --type nps
ascendkit survey create --name "Onboarding CSAT" --type csat
ascendkit survey create --name "Feature Feedback" --type custom

NPS and CSAT surveys come with standard questions pre-configured. Custom surveys start empty.

List surveys

ascendkit survey list

Shows all surveys with their status: needs questions, draft, active, or collecting responses.

Export/import definition JSON

Export current definition:

ascendkit survey definition export srv_abc123 --out survey-definition.json

Edit survey-definition.json, then import it:

ascendkit survey definition import srv_abc123 --in survey-definition.json

definition import updates only the definition field. It does not mutate slug, name, or status.

Activate and distribute

ascendkit survey update srv_abc123 --status active
ascendkit survey distribute srv_abc123 --users usr_001,usr_002,usr_003

Distribution creates personalized links per user for tracking (sent, opened, submitted).

View results

ascendkit survey invitation list srv_abc123
ascendkit survey analytics srv_abc123

Analytics shows the funnel (sent -> opened -> submitted), conversion rates, and NPS score for NPS surveys.

Delete a survey

ascendkit survey remove srv_abc123

Deletes the survey and all associated invitations and responses.

Question operations

ascendkit survey question list srv_abc123
ascendkit survey question add srv_abc123 --type text --title "What should we improve?"
ascendkit survey question update srv_abc123 feedback --title "Anything we should improve?"
ascendkit survey question remove srv_abc123 feedback
ascendkit survey question reorder srv_abc123 --order nps_score,feedback

Note: Question --type cannot be changed on an existing question. To change the type, remove the question and re-add it. The update command will return an error if --type is passed.