Survey update
Survey Update is a powerful AI tool by PostHog that enables you to seamlessly update existing surveys by ID, including modifying survey names, descriptions, questions, scheduling, and other key properties.
Features
- Edit survey name, description, and type (popover, API, widget, external) easily.
- Support multiple question types: open-ended, rating, single choice, multiple choice, and NPS.
- Configure advanced branching and response-based flows for personalized survey experiences.
- Customizable scheduling options: once, recurring, or always with start and end dates.
- Comprehensive targeting filters based on user properties, device types, events, and feature flags.
Benefits
- Enhance user feedback accuracy with dynamic question updates.
- Save time by managing surveys centrally without recreating them.
- Increase survey completion rates via tailored branching logic and display conditions.
- Optimize user engagement with detailed scheduling and device targeting.
- Gain actionable insights through flexible and rich survey customization options.
Description
Update an existing survey by ID. Can update name, description, questions, scheduling, and other survey properties.
Parameters
19 parameters
| Name | Type | Description |
|---|---|---|
| name | string | — |
| description | string | — |
| type | enum | — |
| questions | array | — |
| conditions | object | — |
| appearance | object | — |
| schedule | enum | Survey scheduling behavior: 'once' = show once per user (default), 'recurring' = repeat based on iteration_count and iteration_frequency_days settings, 'always' = show every time conditions are met (mainly for widget surveys) |
| start_date | string | When the survey should start being shown to users. Setting this will launch the survey |
| end_date | string | When the survey stopped being shown to users. Setting this will complete the survey. |
| archived | boolean | — |
| responses_limit | any | The maximum number of responses before automatically stopping the survey. |
| iteration_count | any | For a recurring schedule, this field specifies the number of times the survey should be shown to the user. Use 1 for 'once every X days', higher numbers for multiple repetitions. Works together with iteration_frequency_days to determine the overall survey schedule. |
| iteration_frequency_days | any | For a recurring schedule, this field specifies the interval in days between each survey instance shown to the user, used alongside iteration_count for precise scheduling. |
| enable_partial_responses | boolean | When at least one question is answered, the response is stored (true). The response is stored when all questions are answered (false). |
| linked_flag_id | number | null | The feature flag to link to this survey |
| targeting_flag_id | number | An existing targeting flag to use for this survey |
| targeting_flag_filters | object | Target specific users based on their properties. Example: {groups: [{properties: [{key: 'email', value: ['@company.com'], operator: 'icontains'}], rollout_percentage: 50}]} |
| remove_targeting_flag | boolean | Set to true to completely remove all targeting filters from the survey, making it visible to all users (subject to other display conditions like URL matching). |
| surveyIdrequired | string | — |