> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended**:
> ```bash
> npx @scalekit-inc/cli setup
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for 40+ agents.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# Appcues connector

Connect to Appcues'' Public API v2 to manage in-product experiences (Flows, Pins, Mobile, Launchpads, Banners, Flows 2.0, Embeds, NPS 2.0, Checklists)...

**Authentication:** API Key + Secret
**Categories:** Marketing
1. ### Install the SDK

   
     ### Node.js

```bash frame="terminal"
npm install @scalekit-sdk/node
```

     ### Python

```bash frame="terminal"
pip install scalekit
```

   

   Full SDK reference: [Node.js](/agentkit/sdks/node/) | [Python](/agentkit/sdks/python/)

2. ### Set your credentials

   Add your Scalekit credentials to your `.env` file. Find values in **[app.scalekit.com](https://app.scalekit.com)** > **Developers** > **API Credentials**.

```sh showLineNumbers=false title=".env"
SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
SCALEKIT_CLIENT_ID=<your-client-id>
SCALEKIT_CLIENT_SECRET=<your-client-secret>
```

## What you can do

Connect this agent connector to let your agent:

- **Update user profile, segment, sdk key** — Update first_name, last_name, and/or email on an end user's profile
- **Pin unpublish, publish** — Unpublish a Pin, taking it out of production
- **Nps unpublish, publish** — Unpublish an NPS 2.0, taking it out of production
- **Experience unpublish mobile, publish mobile** — Unpublish a Mobile Experience, taking it out of production
- **Launchpad unpublish, publish** — Unpublish a Launchpad, taking it out of production
- **V2 unpublish flow, publish flow** — Unpublish a Flow 2.0, taking it out of production

## Tool list

Use the exact tool names from the **Tool list** below when you call `execute_tool`. If you're not sure which name to use, list the tools available for the current user first.

## Tool list

### `appcues_add_users_to_group`

Add a list of end users to a group by user ID.

Parameters:

- `group_id` (`string`, required): The Group ID.
- `user_ids` (`array`, required): List of end user IDs to add to the group.

### `appcues_add_users_to_segment`

Add a list of end users to a Segment by user ID.

Parameters:

- `segment_id` (`string`, required): The Segment ID.
- `user_ids` (`array`, required): List of end user IDs to add to the segment.

### `appcues_create_sdk_key`

Create a new SDK authentication key for the account.

Parameters:

- `tag` (`string`, optional): A label to identify this SDK key.

### `appcues_create_segment`

Create a new Segment.

Parameters:

- `name` (`string`, required): Name of the segment.
- `description` (`string`, optional): Description of the segment.

### `appcues_create_user_event`

Track a new event for an end user.

Parameters:

- `name` (`string`, required): Name of the event.
- `timestamp` (`string`, required): ISO 8601 timestamp of when the event occurred.
- `user_id` (`string`, required): The User ID.
- `attributes` (`object`, optional): Arbitrary key/value attributes describing the event.
- `context` (`object`, optional): Context object describing where the event occurred, e.g. url.
- `group_id` (`string`, optional): Group ID to associate this event with.

### `appcues_delete_sdk_key`

Permanently delete an SDK authentication key.

Parameters:

- `sdk_key_id` (`string`, required): The SDK Key ID.

### `appcues_delete_segment`

Permanently delete a Segment.

Parameters:

- `segment_id` (`string`, required): The Segment ID.

### `appcues_delete_user_profile`

Permanently delete an end user's profile.

Parameters:

- `user_id` (`string`, required): The User ID.

### `appcues_disable_enforcement_mode`

Disable enforcement mode for the account.

### `appcues_disable_secure_data_ingest`

Disable secure data ingest for the account.

### `appcues_enable_enforcement_mode`

Enable enforcement mode for the account.

### `appcues_enable_secure_data_ingest`

Enable secure data ingest for the account.

### `appcues_export_events`

Request a bulk export of tracked events matching filter conditions, delivered by email.

Parameters:

- `conditions` (`array`, required): List of [field, operator, value] filter conditions, e.g. [['flow_id', '==', 'df6b6ce8-9666-4e54-bbff-b0607af5b597']]. Conditions may be combined with 'and'/'or' as the first element.
- `format` (`string`, required): Export file format.
- `start_time` (`string`, required): Beginning of the export window — ISO 8601 format (string) or milliseconds since epoch (integer).
- `email` (`string`, optional): Email address(es) results should be sent to — a single address or an array of addresses. Optional — the export can also be retrieved via appcues_get_job using the job_id returned by this call.
- `end_time` (`string`, optional): End of the export window — ISO 8601 format (string) or milliseconds since epoch (integer).
- `limit` (`integer`, optional): Maximum number of events to export. No more than 10 million events can be exported in a single export.
- `offset` (`integer`, optional): Number of rows to skip in the export results. Use with limit for paginated results.
- `time_zone` (`string`, optional): Time zone applied to start_time/end_time — a UTC offset string (e.g. -04:00) or an integer number of minutes offset from UTC.

### `appcues_export_segment_membership`

Request an export of a Segment's membership (user IDs and selected properties), delivered by email.

Parameters:

- `segment_id` (`string`, required): The Segment ID.
- `email` (`string`, optional): Email address the export will be sent to. Optional — the export can also be retrieved via appcues_get_job using the job_id returned by this call.
- `format` (`string`, optional): Export file format.
- `property_names` (`array`, optional): List of user profile property names to include in the export. The user_id is always included; if omitted, only user_id is exported.

### `appcues_get_banner`

Get details of a Banner by ID.

Parameters:

- `banner_id` (`string`, required): The Banner ID.

### `appcues_get_checklist`

Get details of a Checklist by ID.

Parameters:

- `checklist_id` (`string`, required): The Checklist ID.

### `appcues_get_embed`

Get details of an Embed by ID.

Parameters:

- `embed_id` (`string`, required): The Embed ID.

### `appcues_get_filtering_rules`

Get the ingestion filtering rules configured for the account.

### `appcues_get_flow`

Get details of a single Flow by ID.

Parameters:

- `flow_id` (`string`, required): The Flow ID.

### `appcues_get_flow_v2`

Get details of a Flow 2.0 by ID.

Parameters:

- `flow_v2_id` (`string`, required): The Flow 2.0 ID.

### `appcues_get_group_profile`

Get the profile of a single group by group ID.

Parameters:

- `group_id` (`string`, required): The Group ID.

### `appcues_get_job`

Get the status and details of a single offline job by ID.

Parameters:

- `job_id` (`string`, required): The Job ID.

### `appcues_get_launchpad`

Get details of a Launchpad by ID.

Parameters:

- `launchpad_id` (`string`, required): The Launchpad ID.

### `appcues_get_mobile_experience`

Get details of a Mobile Experience by ID.

Parameters:

- `mobile_experience_id` (`string`, required): The Mobile Experience ID.

### `appcues_get_nps`

Get details of an NPS 2.0 by ID.

Parameters:

- `nps_id` (`string`, required): The NPS 2.0 ID.

### `appcues_get_pin`

Get details of a Pin by ID.

Parameters:

- `pin_id` (`string`, required): The Pin ID.

### `appcues_get_screenshots`

Get a ZIP file of screenshots captured for a Flow or other experience (draft content only), by its ID.

Parameters:

- `experience_id` (`string`, required): ID of the Flow or other experience to get screenshots for.

### `appcues_get_segment`

Get details of a single Segment by ID.

Parameters:

- `segment_id` (`string`, required): The Segment ID.

### `appcues_get_tag`

Get details of a single Tag by ID.

Parameters:

- `tag_id` (`string`, required): The Tag ID.

### `appcues_get_user_profile`

Get the profile of a single end user by user ID.

Parameters:

- `user_id` (`string`, required): The User ID.

### `appcues_list_banners`

List all Banners in the Appcues account.

### `appcues_list_checklists`

List all Checklists in the Appcues account.

### `appcues_list_embeds`

List all Embeds in the Appcues account.

### `appcues_list_flows`

List all Flows in the Appcues account.

### `appcues_list_flows_v2`

List all Flows 2.0 in the Appcues account.

### `appcues_list_jobs`

List all offline (asynchronous) jobs for the account.

### `appcues_list_launchpads`

List all Launchpads in the Appcues account.

### `appcues_list_mobile_experiences`

List all Mobile Experiences in the Appcues account.

### `appcues_list_nps_surveys`

List all NPS 2.0 Surveys in the Appcues account.

### `appcues_list_pins`

List all Pins in the Appcues account.

### `appcues_list_sdk_keys`

List the SDK authentication keys for the account.

### `appcues_list_segments`

List all Segments in the Appcues account.

### `appcues_list_tags`

List all Tags in the Appcues account.

### `appcues_list_user_events`

List tracked events for a single end user.

Parameters:

- `user_id` (`string`, required): The User ID.
- `limit` (`integer`, optional): Maximum number of events to return.
- `time_zone` (`string`, optional): Time zone to render event timestamps in — either a UTC offset string (e.g. -04:00) or an integer number of minutes offset from UTC (e.g. -240).

### `appcues_publish_banner`

Publish a Banner, making it live to end users.

Parameters:

- `banner_id` (`string`, required): The Banner ID.

### `appcues_publish_checklist`

Publish a Checklist, making it live to end users.

Parameters:

- `checklist_id` (`string`, required): The Checklist ID.

### `appcues_publish_embed`

Publish an Embed, making it live to end users.

Parameters:

- `embed_id` (`string`, required): The Embed ID.

### `appcues_publish_flow`

Publish a Flow, making it live to end users.

Parameters:

- `flow_id` (`string`, required): The Flow ID.

### `appcues_publish_flow_v2`

Publish a Flow 2.0, making it live to end users.

Parameters:

- `flow_v2_id` (`string`, required): The Flow 2.0 ID.

### `appcues_publish_launchpad`

Publish a Launchpad, making it live to end users.

Parameters:

- `launchpad_id` (`string`, required): The Launchpad ID.

### `appcues_publish_mobile_experience`

Publish a Mobile Experience, making it live to end users.

Parameters:

- `mobile_experience_id` (`string`, required): The Mobile Experience ID.

### `appcues_publish_nps`

Publish an NPS 2.0, making it live to end users.

Parameters:

- `nps_id` (`string`, required): The NPS 2.0 ID.

### `appcues_publish_pin`

Publish a Pin, making it live to end users.

Parameters:

- `pin_id` (`string`, required): The Pin ID.

### `appcues_remove_users_from_segment`

Remove a list of end users from a Segment by user ID.

Parameters:

- `segment_id` (`string`, required): The Segment ID.
- `user_ids` (`array`, required): List of end user IDs to remove from the segment.

### `appcues_unpublish_banner`

Unpublish a Banner, taking it out of production.

Parameters:

- `banner_id` (`string`, required): The Banner ID.

### `appcues_unpublish_checklist`

Unpublish a Checklist, taking it out of production.

Parameters:

- `checklist_id` (`string`, required): The Checklist ID.

### `appcues_unpublish_embed`

Unpublish an Embed, taking it out of production.

Parameters:

- `embed_id` (`string`, required): The Embed ID.

### `appcues_unpublish_flow`

Unpublish a Flow, taking it out of production.

Parameters:

- `flow_id` (`string`, required): The Flow ID.

### `appcues_unpublish_flow_v2`

Unpublish a Flow 2.0, taking it out of production.

Parameters:

- `flow_v2_id` (`string`, required): The Flow 2.0 ID.

### `appcues_unpublish_launchpad`

Unpublish a Launchpad, taking it out of production.

Parameters:

- `launchpad_id` (`string`, required): The Launchpad ID.

### `appcues_unpublish_mobile_experience`

Unpublish a Mobile Experience, taking it out of production.

Parameters:

- `mobile_experience_id` (`string`, required): The Mobile Experience ID.

### `appcues_unpublish_nps`

Unpublish an NPS 2.0, taking it out of production.

Parameters:

- `nps_id` (`string`, required): The NPS 2.0 ID.

### `appcues_unpublish_pin`

Unpublish a Pin, taking it out of production.

Parameters:

- `pin_id` (`string`, required): The Pin ID.

### `appcues_update_group_profile`

Update group_name, mission, and/or plan on a group's profile. NOTE: the real Appcues API accepts arbitrary custom profile properties too (the entire request body is used as key-value group profile data) — this tool only exposes the three named fields above; other custom properties can't be set through this tool.

Parameters:

- `group_id` (`string`, required): The Group ID.
- `group_name` (`string`, optional): Display name of the group.
- `mission` (`string`, optional): Group's mission statement.
- `plan` (`string`, optional): Group's subscription plan.

### `appcues_update_sdk_key`

Update an SDK key's tag.

Parameters:

- `sdk_key_id` (`string`, required): The SDK Key ID.
- `tag` (`string`, required): New label for this SDK key.

### `appcues_update_segment`

Update an existing Segment's name or description.

Parameters:

- `segment_id` (`string`, required): The Segment ID.
- `description` (`string`, optional): New description of the segment.
- `name` (`string`, optional): New name of the segment.

### `appcues_update_user_profile`

Update first_name, last_name, and/or email on an end user's profile. NOTE: the real Appcues API accepts arbitrary custom profile properties too (the entire request body is used as key-value user profile data) — this tool only exposes the three named fields above; other custom properties can't be set through this tool.

Parameters:

- `user_id` (`string`, required): The User ID.
- `email` (`string`, optional): User's email address.
- `first_name` (`string`, optional): User's first name.
- `last_name` (`string`, optional): User's last name.


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
