Create Forms and Surveys
Create native forms and surveys or embed external ones in your Flows to collect user feedback
Table of Contents
Collect quantitative and qualitative feedback from users by adding survey components to your Flows. Appcues offers five built-in form patterns — Rating, Single Select, Multi-Select, small text input, and large text input — or you can embed an external survey tool like Typeform.
Prerequisites
- A draft Flow with at least one Modal or Slideout step (survey components are not available on Tooltip or Hotspot steps)
Add a survey component to a Flow
- Open your Flow in the Appcues Builder.
- Click the + icon on a Modal or Slideout step. The component menu opens.
- Select one of the five survey components described below. The component is added to the step.
You can add multiple survey components to a single step to ask users several questions at once.

Survey component types
Rating
Lets users select a number on a configurable scale (0–1, 0–10, or any range in between). Use this for quick quantitative feedback like satisfaction scores.
To build a dedicated NPS® survey with scoring and follow-up logic, see Create an NPS survey. To customize the appearance of Rating components, see Customize Modals and Slideouts with CSS.

Single Select
Presents a list of options where users can choose exactly one. Use this for mutually exclusive choices like role selection or preference questions.
To customize the appearance of Single Select components, see Customize Modals and Slideouts with CSS.

Multi-Select
Presents a list of options where users can choose one or more. Use this when responses are not mutually exclusive — for example, "Which features do you use?"
SDK requirement: Multi-Select requires Appcues SDK version 6.2.3 or later. If you use a fixed SDK version, update it before using this component.
Configure these parameters in the component settings:
| Parameter | Description |
|---|---|
| Required | When enabled, Min Selections must be 1 or greater. Users cannot submit until they meet the minimum. |
| Min Selections | The minimum number of choices a user must select. Only available when Required is enabled. |
| Max Selections | The maximum number of choices a user can select. Once the limit is reached, remaining options are disabled until the user deselects one. |
Multi-Select responses are recorded as a newline-separated string in your data exports and integrations.
To customize the appearance of Multi-Select components, see Customize Modals and Slideouts with CSS.

Free-form text input
The small and large text input options let users respond with open-ended text. Use these for qualitative feedback, comments, or follow-up explanations (for example, after an NPS® rating).
You can add placeholder text inside the input field to guide users on what to write.
Set a field format. Select Field Options in the component settings and choose a format from the dropdown (for example, email or phone number). This validates the response before submission.
Set a character limit. Enter a maximum character count in the component settings to cap response length.
To customize the appearance of text inputs, see Customize Modals and Slideouts with CSS.

Configure the submit button
Critical: Always set the submit button action to Next step, even if the survey is the final step of your Flow. Buttons set to "Dismiss flow" or "Skip to next group" can skip survey questions and fail to submit responses.

Mark a question as required
- Select the survey component in the Builder.
- Enable the Required toggle in the component settings.
- Add a submit button set to Next step to ensure the required field is respected.
Users cannot advance past the step until they provide a response to all required questions.

Add a custom reporting label
Custom reporting labels populate as column headers on the survey results table, making it easier to identify which question each response belongs to.
- Select the survey component in the Builder.
- Enter a label in the Custom Reporting Label field.

The label appears in the survey response table on your Flow's analytics page. See View Form and survey results for a full walkthrough of accessing your response data.

Embed an external survey
If you need more complex survey logic or already use a dedicated survey tool, embed it in a Modal or Slideout step using an HTML block.
This approach works with most survey platforms, including Typeform, SurveyMonkey, and Google Forms.
Embed a Typeform survey
- In your Typeform account, open the form you want to embed.
- Click Share. Copy the URL from the "Share your typeform" section.
- In the Appcues Builder, open or create a Modal or Slideout step.
- Click the + icon and select the HTML component.
- Paste the following code into the HTML block, replacing
yourURLHerewith the Typeform URL:
<iframe width="100%" height="500px" src="yourURLHere"> </iframe>
For a detailed walkthrough, see Embed a Typeform in an Appcues Flow.
Pass user data to embedded surveys
You can pass Appcues user properties into your embedded survey URL to identify respondents or pre-fill fields. The general pattern:
- Set up URL parameters (hidden or visible fields) in your survey tool.
- Reference Appcues properties using curly-brace syntax in the embed URL.
For platform-specific instructions, see the Typeform guide on identifying respondents or the SurveyMonkey guide on tracking respondents.
Confirm it worked
- Preview the Flow and verify each survey component renders correctly on its step.
- Submit a test response and check that it appears on the Flow's analytics page under the survey results table.
- If you used a custom reporting label, confirm it displays as the column header in the results table.
Troubleshooting
Survey responses are not submitted
Verify the submit button action is set to Next step. Buttons set to "Dismiss flow" or "Skip to next group" can prevent response submission.
Required field is bypassed
Verify the submit button action is set to Next step. Buttons set to “Dismiss flow” allow users to skip a required field.
Embedded survey does not load
- Confirm the URL in the
<iframe>srcattribute is correct and publicly accessible. - Check your Content Security Policy (CSP) settings. The survey domain must be allowed in the
frame-srcdirective.
Multi-Select component does not appear
Check your SDK version. Multi-Select requires version 6.2.3 or later. If you use a fixed SDK version, update it and reload.
If it's still not working
Collect the following and contact Appcues support:
- Your Appcues account ID
- The Flow ID and step number
- The survey component type
- A screenshot or screen recording of the issue
- Browser and SDK version