# Userflow — how to use (mcp.ai)

Connect your Userflow account and use 18 tools for marketing automation straight from your AI agent. Connect with your own API key. User onboarding software. Build product tours, checklists and more. No coding needed.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_userflow?ms=1787291460000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `userflow_create_or_update_a_group`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/userflow`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/userflow/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/userflow/create/or/update/a/group` — Tool 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 providin
  - body: { id: string, attributes?: object }
- `POST https://api.mcp.ai/api/userflow/create/or/update/a/user` — Tool 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
  - body: { id: string, groups?: object[], signature?: string, attributes?: object, memberships?: object[], prune_memberships?: boolean }
- `POST https://api.mcp.ai/api/userflow/delete/a/content/session` — Tool 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 ope
  - body: { content_session_id: string }
- `POST https://api.mcp.ai/api/userflow/delete/a/group` — Tool 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
  - body: { group_id: string }
- `POST https://api.mcp.ai/api/userflow/delete/a/user` — Tool 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 tha
  - body: { user_id: string }
- `POST https://api.mcp.ai/api/userflow/get/a/content/object` — Tool 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 versio
  - body: { expand?: string, content_id: string }
- `POST https://api.mcp.ai/api/userflow/get/a/content/version` — Tool 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).
  - body: { version_id: string }
- `POST https://api.mcp.ai/api/userflow/get/a/group` — Tool 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 relations
  - body: { expand?: string, group_id: string }
- `POST https://api.mcp.ai/api/userflow/get/a/user` — Tool 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 mem
  - body: { expand?: string, user_id: string }
- `POST https://api.mcp.ai/api/userflow/list/attribute/definitions` — Tool 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 ne
  - body: { limit?: integer, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/content` — Tool 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.
  - body: { limit?: integer, sort_by?: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/content/sessions` — Tool 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 answe
  - body: { limit?: integer, content_id?: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/content/versions` — Tool 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.
  - body: { limit?: integer, content_id: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/event/definitions` — Tool 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.
  - body: { limit?: integer, expand?: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/groups` — Tool 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
  - body: { limit?: integer, expand?: string, sort_by?: string, condition?: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/list/users` — Tool 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.
  - body: { limit?: integer, expand?: string, sort_by?: string, condition?: string, starting_after?: string }
- `POST https://api.mcp.ai/api/userflow/remove/a/user/from/a/group` — Tool 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 alread
  - body: { user_id: string, group_id: string }
- `POST https://api.mcp.ai/api/userflow/track/an/event` — Tool 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 b
  - body: { name: string, time?: string, user_id?: string, group_id?: string, attributes?: object }

## Example prompts
- "What can I do in Userflow?"
- "Show me a summary of my Userflow account"

## More
- Page: https://mcp.ai/userflow
- Agent spec (llms.txt): https://mcp.ai/userflow/llms.txt
- Postman collection: https://mcp.ai/userflow/postman.json
