User onboarding software. Build product tours, checklists and more. No coding needed.
User onboarding software. Build product tours, checklists and more. No coding needed. On Nagent, Userflow is exposed as a fully-configurable marketing automation integration that any agent can call — 18 actions, and API key authentication. No code is required to wire Userflow into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Userflow to automate the kinds of tasks marketing automation teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Userflow into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Userflow, with input parameters and output schema. Drop these into any step of an agent built in Helix.
USERFLOW_CREATE_OR_UPDATE_A_GROUPTool to create a new group or update an existing group (also referred to as companies in the Userflow UI). Use when you need to create a new group or update attributes of an existing group by providing the group ID.
Input parameters
Unique identifier for the group. Use an existing ID to update, or a new ID to create. Can be a UUID or custom ID.
Free-form dictionary of custom attributes for the group. Common fields include name, billing_plan, and signed_up_at. Attribute names can only contain a-z, A-Z, 0-9, underscores, dashes, and spaces (snake_case recommended).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_CREATE_OR_UPDATE_A_USERTool to create a new user or update an existing user in Userflow. Use when you need to synchronize user data from your back-end to Userflow. If the user ID exists, attributes will be merged; otherwise a new user is created.
Input parameters
Unique identifier for the user. Use an existing ID to update, or a new ID to create. Can be a UUID or custom ID.
Array of group objects to assign the user to. Cannot be used together with memberships parameter (mutually exclusive). Used to organize users into groups.
Used for identity verification to add additional security. SHA-256 HMAC of the user's ID signed with your Userflow environment's Secret Key. Only required when identity verification is enabled.
Free-form dictionary of custom attributes for the user. Common fields include name, email, email_verified, signed_up_at, and project_count. Attribute names can only contain a-z, A-Z, 0-9, underscores, dashes, and spaces (snake_case recommended).
Array of membership objects defining user's group associations. Cannot be used together with groups parameter (mutually exclusive). At most only one of either groups or memberships can be set per request.
When true, removes existing memberships not included in the request. Default is false. Only set to true if the groups or memberships list contains ALL groups the user belongs to.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_DELETE_A_CONTENT_SESSIONTool to permanently delete a content session including its associated progress and survey answers. Use when you need to remove a content session from the system. This action cannot be undone. This operation is idempotent and will succeed even if the content session already doesn't exist.
Input parameters
The unique identifier of the content session to delete (UUID format).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_DELETE_A_GROUPTool to permanently delete a group including all their attributes, memberships and events. Use when you need to remove a group from the system. This action cannot be undone, but users who were members of the group will remain intact. This operation is idempotent and will succeed even if the group already doesn't exist.
Input parameters
The unique identifier of the group to delete (UUID format).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_DELETE_A_USERTool to permanently delete a user including all their attributes, memberships, events and flow history. Use when you need to remove a user from the system. This action cannot be undone, but groups that the user was a member of will remain intact. This operation is idempotent and will succeed even if the user already doesn't exist.
Input parameters
The unique identifier of the user to delete.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_GET_A_CONTENT_OBJECTTool to retrieve details of a specific content object (flow, checklist, or launcher) by ID. Use when you need to get information about a single content object, including its draft and published versions.
Input parameters
Specifies related objects or lists to be expanded in the response (e.g., 'draft_version' or 'published_version'). You can expand to a maximum of 4 levels deep using dot notation.
The unique identifier (UUID) of the content object to retrieve. Example: '54bce034-1303-4200-a09a-780a2eee355d'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_GET_A_CONTENT_VERSIONTool to retrieve details of a specific content version by ID. Use when you need to get information about a versioned content object, including its questions (for surveys) or tasks (for checklists).
Input parameters
The unique identifier (UUID) of the content version to retrieve. Example: '152a63cc-0a49-475a-a8e4-5f89bee94fe6'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_GET_A_GROUPTool to retrieve details of a specific group (company) by group_id. Use when you need to get information about a group including their attributes, creation timestamp, and optionally expanded relationships like memberships and users. Note: Groups are called 'Companies' in the Userflow UI, but the API uses 'groups' terminology.
Input parameters
Comma-separated list of relationships to expand. By default, relationships like memberships and users will be null. Use dot notation for nested expansion (e.g., 'memberships.user'). Can expand up to 4 levels deep. Example values: 'memberships', 'users', 'memberships.user'
The unique identifier of the group to retrieve. Can be a UUID or custom ID. Example: 'test-group-123' or 'ab82c312-b3a4-4feb-870c-53dd336f955e'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_GET_A_USERTool to retrieve details of a specific user by user_id. Use when you need to get information about a user including their attributes, creation timestamp, and optionally expanded relationships like memberships and groups.
Input parameters
Comma-separated list of relationships to expand. By default, relationships like memberships and groups will be null. Use dot notation for nested expansion (e.g., 'memberships.group'). Can expand up to 4 levels deep. Example values: 'memberships', 'groups', 'memberships.group'
The unique identifier of the user to retrieve. Can be a UUID or custom ID. Example: 'test-user-123' or '34907ae0-24e0-4261-ac31-3c7299a354c0'
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_ATTRIBUTE_DEFINITIONSTool to retrieve all attribute definitions for users and groups tracked by Userflow. Use when you need to see what attributes are being tracked. Attribute definitions are automatically created when new attributes are sent.
Input parameters
Maximum number of attribute definitions to return per request. Used for pagination.
Cursor for pagination. Takes an attribute definition ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_CONTENTTool to retrieve all content (flows, checklists, and launchers) in your Userflow account. Use when you need to check what content is available for users to start in your application.
Input parameters
Maximum number of content items to return per request. Used for pagination.
Field(s) to order results by. Specific fields vary by resource type.
Cursor for pagination. Takes a content ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_CONTENT_SESSIONSTool to retrieve all content sessions tracking user interactions with content. Use when you need to see user journeys through flows, checklists, or launchers, including their progress and survey answers.
Input parameters
Maximum number of content sessions to return per request. Used for cursor-based pagination.
Filter content sessions by a specific content ID. When provided, only returns sessions for that content object.
Cursor for pagination. Takes a content session ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_CONTENT_VERSIONSTool to retrieve all versions of content including survey questions and checklist tasks. Use when you need to see the version history of flows, checklists, or launchers to track changes over time.
Input parameters
Maximum number of content versions to return per request. Used for cursor-based pagination.
Required content ID to filter content versions. Only returns versions for the specified content object.
Cursor for pagination. Takes a content version ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_EVENT_DEFINITIONSTool to retrieve all event definitions tracked in Userflow. Use when you need to see what events are being tracked. Event definitions are automatically created when new events are tracked.
Input parameters
Maximum number of event definitions to return per request. Used for pagination.
Comma-separated list of fields to expand in the response. Can expand up to 4 levels deep using dot notation (e.g., 'field.subfield').
Cursor for pagination. Takes an event definition ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_GROUPSTool to retrieve all groups (companies) in your Userflow account with pagination and filtering support. Use when you need to list groups or search for specific groups based on attributes. Note: Groups are called 'Companies' in the Userflow UI.
Input parameters
Maximum number of groups to return per request. Used for pagination.
Comma-separated list of fields to expand in the response (e.g., 'memberships', 'memberships.user'). Can expand up to 4 levels deep using dot notation.
Field name(s) to order results by. Each resource lists which fields can be ordered.
JSON-formatted string to filter the list based on attributes. Supports operators like eq, ne, contains, empty, gt, lt, includes_all, starts_with. Condition filtering matches up to 10,000 records maximum. Supports AND/OR logic with nested conditions.
Cursor for pagination. Takes a group ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_LIST_USERSTool to retrieve a paginated list of all users. Use when you need to list users with optional filtering, sorting, and expansion of related objects like memberships and groups.
Input parameters
Maximum number of users to return per request. Used for pagination.
Comma-separated list of relationships to expand. Can expand has-many relationships like memberships and groups. Supports recursive expansion with dot notation (e.g., 'memberships.group'). Maximum depth: 4 levels.
Orders results by one or more fields. Specific fields supported vary by resource.
JSON-formatted string to filter users based on attributes. Supports operators like eq, ne, gt, gte, lt, lte, contains, not_contains, between, empty, not_empty, includes_all, includes_any, excludes_all, excludes_any, starts_with, ends_with. Supports AND/OR logic. Attribute names can reference user attributes (default), group attributes (prefix with 'group/'), or membership attributes (prefix with 'group_membership/'). Example: '{"type": "attribute", "attribute_name": "group/plan", "operator": "eq", "value": "Pro"}'
Cursor for pagination. Takes a user ID to define the starting position for retrieving subsequent pages.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_REMOVE_A_USER_FROM_A_GROUPTool to remove a user from a group (group membership). Use when you need to revoke a user's membership in a specific group. This operation is idempotent and will succeed even if the user is not already a member of the group.
Input parameters
The ID of the user to remove from the group.
The ID of the group to remove the user from.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
USERFLOW_TRACK_AN_EVENTTool to record a custom event for a user or group for analytics and personalization. Use when you need to track user actions or behaviors. Events can be associated with just a user, just a group, or both a user and a group.
Input parameters
The name of the event being tracked. Must consist only of a-z, A-Z, 0-9, underscores, dashes, periods(.) and spaces. Recommended format: snake_case with noun and past-tense verb (e.g., 'subscription_activated').
The timestamp when the event occurred in ISO 8601 format. If not provided, the current time will be used.
The ID of the user the event is associated with. Either user_id or group_id (or both) should be provided.
The ID of the group/company the event is associated with. Either user_id or group_id (or both) should be provided.
A dictionary of custom attributes about the event. Can contain any key-value pairs relevant to the event.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 97 agents privately built on Nagent that already use Userflow.
Build on Nagent
Connect Userflow to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Userflow, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Userflow is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Userflow is connected, you configure its 18 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Userflow steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Userflow event fires, the agent kicks off automatically.
Every Userflow action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Userflow ships with 18 pre-built marketing automation actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Userflow together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Userflow-based workflows tailored to your business.