Overview
Button actions in Userpilot allow you to trigger specific actions when a user interacts with a button. These actions can help guide the user experience, navigate through steps, or trigger external events, such as navigating to URLs or executing JavaScript functions. Button actions provide flexibility in customizing user interactions and can be used across different flows and steps to create a seamless experience.Use Cases
- Guide users through multiple steps in a flow or jump to a specific step.
- Redirect users to a specific URL or dynamic link based on user attributes.
- Activate external flows, surveys, or JavaScript functions for more complex interactions.
- Customize user experience by skipping groups or dismissing flows.
Button Action Types
Userpilot provides a variety of button actions to help you control the flow of the user experience. Each action can be used to perform specific tasks, such as navigating, triggering flows, or managing user settings.
Go to Next Step
Go to Next Step
This action will automatically navigate the user to the next step in the current flow.
Go to URL
Go to URL
Redirect users to an external URL when they click the button. This is perfect for sending users to a webpage, a documentation page, or any external resource.
If the URL is dynamic, make sure to pass the dynamic part as a user property. Then, replace the dynamic portion of the URL with the property placeholder to ensure each user is directed to the correct personalized URL.

Go to Previous Step
Go to Previous Step
If users need to go back to the previous step, this action allows them to reverse direction and revisit the prior screen in the flow.
Go to a Specific Step
Go to a Specific Step
Instead of progressing step-by-step, you can jump to any specific step in the flow. This action allows more flexibility when creating non-linear user journeys.
Trigger Flow
Trigger Flow
You can trigger a different flow when the user clicks the button. This is useful for connecting flows that may run independently but need to be linked based on user actions.
Triggering Userpilot content from a button will not work in preview mode. To test it, you need to publish both the content and the flow, then test it live.
Trigger Survey
Trigger Survey
Use this action to trigger a survey, allowing you to gather user feedback or conduct surveys at specific points in your flow.
Trigger JavaScript Function
Trigger JavaScript Function
This action enables you to run a custom JavaScript function when the button is clicked. It’s ideal for integrating custom behaviors or triggering external scripts as part of the flow.
Skip to Next Group
Skip to Next Group
If your flow is organized into groups, this action will let the user skip over the current group of steps and move directly to the next group. Great for skipping optional steps or providing an expedited flow.
Dismiss Flow
Dismiss Flow
- No Action This button action simply closes the current flow without taking any other action. It is useful for offering users a way to dismiss or cancel the flow.
- Never Show This Flow Again By selecting this action, users will be opted out of seeing the same flow in the future. It’s a good option for scenarios where users are familiar with the flow and don’t need to see it again.
The settings in the button action will override the flow’s frequency settings. For example, if the flow is set to trigger every time but the button action is set to “Never show this flow again,” the flow will not trigger again after the button action is clicked.
- Show This Flow in the Next Session If you want the user to see the flow again at a later time, this action will ensure that the flow is shown to them in the next session.
A new session is defined when a user returns to interact with the app after being inactive for more than 30 minutes. This means that actions like logging in or out, or closing and reopening the tab, do not automatically start or end a session.
- Mark Flow as Completed This action marks the flow as complete for the user, meaning they will no longer see the flow again unless manually triggered.
- Unsubscribe User from Folder In certain cases, you may want to unsubscribe a user from receiving further messages or updates from a folder. This action allows you to manage user subscriptions directly from the flow.
Additional Functionality
Update Properties and Track Events
In addition to triggering the actions listed above, you can also update user properties and track events directly from the button actions.

- Update Properties: You can update an already passed user property (such as a user’s status, role, or preferences) when a button is clicked. For example, you might update a user’s progress or completion status after they finish a flow.
- Track Events: You can trigger specific events that will be logged for future analysis, helping you track how users interact with the flow and their behavior during the process. This is especially useful for gathering data on button clicks or flow interactions to improve the overall user experience.
FAQs
What happens if a user dismisses a flow? Can they re-access it later?
What happens if a user dismisses a flow? Can they re-access it later?
If a user dismisses a flow, you can set the flow to show again in their next session or re-trigger it using specific conditions. If you’ve selected “Never Show This Flow Again,” the user will not see it again unless manually re-triggered.
If I'm using a Javascript in the button action, how can I also take the users to the next step?
If I'm using a Javascript in the button action, how can I also take the users to the next step?
How can I horizontally align two buttons on a section of the UI pattern?
How can I horizontally align two buttons on a section of the UI pattern?