# Kit

Kit is a platform that allows creators to automate tasks and developers to build apps for the Kit App Store.

- **Category:** marketing automation
- **Auth:** OAUTH2, API_KEY
- **Composio Managed App Available?** Yes
- **Tools:** 42
- **Triggers:** 0
- **Slug:** `KIT`
- **Version:** 20260227_00

## Tools

### Add Subscriber to Form

**Slug:** `KIT_ADD_SUBSCRIBER_TO_FORM`

Add an existing subscriber to a form by their IDs. This action associates a subscriber with a form in Kit. The subscriber must already exist in your Kit account (use KIT_LIST_SUBSCRIBERS to find them). The form must also exist (use KIT_LIST_FORMS to find valid form IDs). Returns HTTP 201 if the subscriber is newly added to the form, or HTTP 200 if they were already associated with the form. Both cases are considered successful operations. Important: This action requires both form_id and subscriber_id (aliased as 'id' in requests). An optional referrer URL can be provided for tracking purposes and will have its UTM parameters automatically parsed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The ID of the subscriber to add to the form. Use KIT_LIST_SUBSCRIBERS to get valid subscriber IDs. The subscriber must already exist in your Kit account. |
| `form_id` | integer | Yes | The ID of the form to which the subscriber will be added. Use KIT_LIST_FORMS to get valid form IDs. |
| `referrer` | string | No | Optional referrer URL for tracking purposes. Can include UTM parameters (e.g., utm_source, utm_medium, utm_campaign) which will be parsed and included in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Subscriber to Form by Email

**Slug:** `KIT_ADD_SUBSCRIBER_TO_FORM_BY_EMAIL`

Tool to add an existing subscriber to a form using their email address. Use when you know the subscriber's email but not their ID. The subscriber must already exist in your Kit account before adding them to a form. Returns HTTP 201 if the subscriber is newly added to the form, or HTTP 200 if they were already associated with the form.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `form_id` | integer | Yes | The ID of the form to which the subscriber will be added. Use KIT_LIST_FORMS to get valid form IDs. |
| `referrer` | string | No | Optional referrer URL for tracking purposes. Can include UTM parameters (e.g., utm_source, utm_medium, utm_campaign) which will be parsed and included in the response. |
| `email_address` | string | Yes | The email address of the subscriber to add to the form. The subscriber must already exist in your Kit account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Broadcast

**Slug:** `KIT_CREATE_BROADCAST`

Tool to create a new broadcast (email campaign) to send to subscribers. Use when you need to draft, schedule, or immediately publish an email broadcast. To save as draft, set send_at to null; to schedule, provide a future send_at timestamp; to publish to web, set public to true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `public` | boolean | No | Whether to publish the broadcast to your public creator profile. Set to true to make it visible on your website. |
| `content` | string | Yes | Email content/body (HTML or plain text) |
| `send_at` | string | No | Scheduled send time in ISO 8601 format. Set to null to save as draft without scheduling. Must be a future timestamp. |
| `subject` | string | Yes | Email subject line for the broadcast |
| `description` | string | No | Internal description for the broadcast (not visible to subscribers) |
| `email_address` | string | No | Sending email address to use for the broadcast. Uses the account's default sending email address if not provided. Must be a confirmed email address associated with your account. |
| `email_template_id` | integer | No | ID of the email template to use for styling. If not provided, the default template will be used. |
| `subscriber_filter` | array | No | Array of filter groups to target specific subscribers. Each group contains conditions combined with 'all' logic. If not provided, sends to all subscribers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Custom Field

**Slug:** `KIT_CREATE_CUSTOM_FIELD`

Tool to create a new custom field for subscriber data. Use when you need to store extra attributes for subscribers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `label` | string | Yes | The display label for the custom field (e.g., 'Favorite Color'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Subscriber

**Slug:** `KIT_CREATE_SUBSCRIBER`

Tool to create a new subscriber or update an existing one (upsert). If a subscriber with the provided email address does not exist, creates one. If already exists, updates the first name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `state` | string ("active" | "inactive" | "bounced" | "complained" | "cancelled") | No | Valid states for a subscriber. |
| `fields` | object | No | Custom fields as key-value pairs. Custom fields that don't exist will be ignored by the API. |
| `first_name` | string | No | The subscriber's first name. If the subscriber already exists, this will update their first name. |
| `email_address` | string | Yes | The subscriber's email address (required). If a subscriber with this email already exists, their first name will be updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Tag

**Slug:** `KIT_CREATE_TAG`

Tool to create a new tag in the account. Use when you need a custom label to segment subscribers. Use after confirming tag uniqueness to avoid duplicates. Example: "Create a tag called 'VIP' for premium customers."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the tag to be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Webhook

**Slug:** `KIT_CREATE_WEBHOOK`

Creates a webhook subscription for real-time event notifications. Use this to receive HTTP POST notifications when subscriber events (activate, unsubscribe, form subscribe, tag add/remove, link clicks, etc.) or purchase events occur in your Kit account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event` | object | Yes | Event type and optional filters for the webhook subscription. |
| `target_url` | string | Yes | HTTPS URL endpoint that will receive webhook POST notifications when the event triggers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Broadcast

**Slug:** `KIT_DELETE_BROADCAST`

Tool to delete a specific broadcast. Use when you need to permanently remove a broadcast by ID (after confirming the ID). Example prompt: "Delete broadcast with ID 123"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the broadcast to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Custom Field

**Slug:** `KIT_DELETE_CUSTOM_FIELD`

Tool to delete a specific custom field. Use after confirming the custom field ID is correct. Deletes the field permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the custom field to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Subscriber

**Slug:** `KIT_DELETE_SUBSCRIBER`

Unsubscribe a subscriber from all email communications by their ID. This action permanently unsubscribes a subscriber, removing them from all sequences and forms. The subscriber's historical data is retained but they will no longer receive emails. This operation is idempotent - unsubscribing an already-unsubscribed subscriber succeeds without error. Use KIT_LIST_SUBSCRIBERS to find valid subscriber IDs before calling this action. Returns: Empty response on success (HTTP 204 No Content). Raises: ExecutionFailed: If the subscriber ID doesn't exist (404), authentication fails (401), or other API errors occur.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique subscriber ID to unsubscribe. Must be a positive integer. Use KIT_LIST_SUBSCRIBERS to find valid subscriber IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Tag

**Slug:** `KIT_DELETE_TAG`

Tool to delete a tag by ID. Use when you need to remove obsolete or incorrect tags after confirming the tag exists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the tag to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Webhook

**Slug:** `KIT_DELETE_WEBHOOK`

Tool to delete a webhook by ID. Use when you want to permanently remove a webhook after confirming its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the webhook to delete |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Filter Subscribers

**Slug:** `KIT_FILTER_SUBSCRIBERS`

Tool to filter subscribers based on engagement criteria such as email opens, clicks, or delivery status. Use when you need to segment subscribers by their engagement behavior with specific date ranges and count thresholds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `all` | array | Yes | Array of filter conditions where ALL must be met (AND logic). At least one condition is required. Each condition filters subscribers based on engagement type (opens, clicks, sent, delivered, subscribed) with optional count and date constraints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account

**Slug:** `KIT_GET_ACCOUNT`

Tool to retrieve current account information. Use after validating API key to fetch account ID, plan type, primary email, and timezone details.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Colors

**Slug:** `KIT_GET_ACCOUNT_COLORS`

Tool to retrieve list of colors associated with the account. Use after confirming authentication to fetch account-specific color palette.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Broadcast

**Slug:** `KIT_GET_BROADCAST`

Tool to retrieve details of a specific broadcast by ID. Use when you have a valid broadcast ID and need its metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the broadcast to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Broadcast Clicks

**Slug:** `KIT_GET_BROADCAST_CLICKS`

Tool to retrieve link click data for a specific broadcast by ID. Use when you need to analyze which links were clicked and their engagement metrics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Pagination cursor to retrieve results after this cursor |
| `before` | string | No | Pagination cursor to retrieve results before this cursor |
| `per_page` | integer | No | Number of results per page; must be between 1 and 500 |
| `broadcast_id` | integer | Yes | Unique identifier of the broadcast to fetch click data for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Broadcast Stats

**Slug:** `KIT_GET_BROADCAST_STATS`

Tool to retrieve statistics for a specific broadcast by ID. Use after a broadcast has been sent to monitor performance.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the broadcast to fetch statistics for |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Creator Profile

**Slug:** `KIT_GET_CREATOR_PROFILE`

Tool to retrieve the creator profile information for the account. Use when you need creator metadata (name, bio, avatar, profile URL) before publishing or customizing content.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Stats

**Slug:** `KIT_GET_EMAIL_STATS`

Tool to retrieve email statistics for the account. Use after confirming authentication to fetch metrics on emails (sent, opened, clicked) over the last 90 days.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Growth Stats

**Slug:** `KIT_GET_GROWTH_STATS`

Tool to retrieve growth statistics for the account over a date range. Stats are returned in your sending time zone (not UTC). Defaults to last 90 days if no dates specified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ending` | string | No | Get stats for time period ending on this date (format yyyy-mm-dd). Defaults to today. |
| `starting` | string | No | Get stats for time period beginning on this date (format yyyy-mm-dd). Defaults to 90 days ago. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subscriber

**Slug:** `KIT_GET_SUBSCRIBER`

Tool to retrieve a specific subscriber by their ID. Use when you need to fetch detailed information about a single subscriber.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique subscriber ID to retrieve. Must be a positive integer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Subscriber Stats

**Slug:** `KIT_GET_SUBSCRIBER_STATS`

Tool to retrieve email stats for a specific subscriber. Use when you need subscriber engagement metrics (opens, clicks, bounces, rates). Data only available for events from June 2025 onwards.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `subscriber_id` | integer | Yes | The ID of the subscriber to get stats for |
| `email_sent_after` | string | No | Filter to stats for emails sent after this date (YYYY-MM-DD format). Must be on or after 2025-06-24. |
| `email_sent_before` | string | No | Filter to stats for emails sent before this date (YYYY-MM-DD format) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Broadcasts

**Slug:** `KIT_LIST_BROADCASTS`

Tool to retrieve a paginated list of all broadcasts. Use when you need to enumerate or review broadcast summaries with cursor-based pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns results after the specified cursor. |
| `before` | string | No | Cursor for pagination; returns results before the specified cursor. |
| `per_page` | integer | No | Number of results per page; must be between 1 and 500. |
| `include_total_count` | string | No | If set to 'true', includes the total count of records in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Custom Fields

**Slug:** `KIT_LIST_CUSTOM_FIELDS`

Tool to retrieve a paginated list of custom fields. Use after confirming you need to enumerate or inspect all custom fields with cursor-based pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns results after the specified cursor. |
| `before` | string | No | Cursor for pagination; returns results before the specified cursor. |
| `per_page` | integer | No | Number of results per page; defaults to 500 if not specified. |
| `include_total_count` | string | No | If set to 'true', includes the total count of records in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Email Templates

**Slug:** `KIT_LIST_EMAIL_TEMPLATES`

Retrieve a paginated list of all email templates in the Kit account. Returns template details including ID, name, default status, and category. Supports cursor-based pagination for navigating large template collections. Use this when you need to view or iterate through email templates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for fetching the next page of results. Use the 'end_cursor' value from a previous response. |
| `before` | string | No | Cursor for fetching the previous page of results. Use the 'start_cursor' value from a previous response. |
| `per_page` | integer | No | Number of email templates to return per page. Default is 500, maximum is 1000. |
| `include_total_count` | boolean | No | Include the total count of email templates in the response. Note: This may slow down the response for large collections. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Forms

**Slug:** `KIT_LIST_FORMS`

Lists all forms in your Kit account with optional filtering and cursor-based pagination. Use this to retrieve forms when you need to: - Get all available forms (landing pages and embedded forms) - Filter by status (active, archived, trashed) or type (embed, hosted) - Paginate through large collections of forms - Get form IDs and metadata for other operations

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string ("embed" | "hosted") | No | Filter forms by type. |
| `after` | string | No | Cursor for pagination; returns results after the specified cursor. |
| `before` | string | No | Cursor for pagination; returns results before the specified cursor. |
| `status` | string ("active" | "archived" | "trashed" | "all") | No | Filter forms by status: 'active' (default), 'archived', 'trashed', or 'all'. |
| `per_page` | integer | No | Number of forms to return per page (default: 500, max: 1000). |
| `include_total_count` | boolean | No | If set to true, includes the total count of forms in the response (may be slower for large collections). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Segments

**Slug:** `KIT_LIST_SEGMENTS`

Tool to retrieve a paginated list of segments. Use when you need to enumerate segments with cursor-based pagination for further processing or display.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns results after this cursor. |
| `before` | string | No | Cursor for pagination; returns results before this cursor. |
| `per_page` | integer | No | Number of segments to return per page (min 1). |
| `include_total_count` | string ("true" | "false") | No | If set to 'true', includes the total count of segments in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Sequences

**Slug:** `KIT_LIST_SEQUENCES`

Tool to retrieve a paginated list of all sequences. Use when you need to enumerate sequences with pagination for further processing or display.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns results after the specified cursor. |
| `before` | string | No | Cursor for pagination; returns results before the specified cursor. |
| `per_page` | integer | No | Number of results per page (max 1000, default 500). |
| `include_total_count` | string ("true" | "false") | No | If set to 'true', includes the total count in the pagination. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscribers

**Slug:** `KIT_LIST_SUBSCRIBERS`

Tool to retrieve a list of subscribers. Use when you need to fetch subscriber records with optional filtering, sorting, and pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns subscribers after this cursor. |
| `before` | string | No | Cursor for pagination; returns subscribers before this cursor. |
| `status` | string | No | Filter by subscriber status (e.g., 'active' or 'inactive'). |
| `per_page` | integer | No | Number of subscribers to return per page (min 1). |
| `sort_field` | string ("id" | "cancelled_at" | "updated_at") | No | Field by which to sort the subscribers. Must be one of: 'id', 'cancelled_at', or 'updated_at'. Note: If 'cancelled_at' is used, the status parameter must be set to 'cancelled'. |
| `sort_order` | string ("asc" | "desc") | No | Order in which to sort the results. |
| `created_after` | string | No | Filter to subscribers created after this date (YYYY-MM-DD). |
| `email_address` | string | No | Exact email address to filter by. |
| `updated_after` | string | No | Filter to subscribers updated after this date (YYYY-MM-DD). |
| `created_before` | string | No | Filter to subscribers created before this date (YYYY-MM-DD). |
| `updated_before` | string | No | Filter to subscribers updated before this date (YYYY-MM-DD). |
| `include_total_count` | string ("true" | "false") | No | If set to 'true', includes the total count of subscribers in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Subscribers For Form

**Slug:** `KIT_LIST_SUBSCRIBERS_FOR_FORM`

Retrieves subscribers for a specific form by ID with optional filtering and cursor-based pagination. Use this action to: - Get all subscribers who have joined a specific form - Filter subscribers by when they were added to the form (added_after/added_before) - Filter subscribers by when they were created (created_after/created_before) - Filter by subscriber status (e.g., 'active') - Navigate through results using cursor-based pagination (after/before cursors) - Control page size with per_page parameter - Optionally get total subscriber count with include_total_count='true' First use KIT_LIST_FORMS to get valid form_id values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns results after this cursor. |
| `before` | string | No | Cursor for pagination; returns results before this cursor. |
| `status` | string | No | Filter subscribers by status (e.g., 'active'). |
| `form_id` | integer | Yes | ID of the form whose subscribers you want to retrieve. |
| `per_page` | integer | No | Number of results to return per page (min 1). |
| `added_after` | string | No | Return subscribers added to the form after this date/time (ISO 8601). |
| `added_before` | string | No | Return subscribers added to the form before this date/time (ISO 8601). |
| `created_after` | string | No | Return subscribers created after this date/time (ISO 8601). |
| `created_before` | string | No | Return subscribers created before this date/time (ISO 8601). |
| `include_total_count` | string ("true" | "false") | No | If 'true', includes the total count of subscribers in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tags

**Slug:** `KIT_LIST_TAGS`

Retrieve a paginated list of all tags in the Kit account. Returns tag details including ID, name, and creation date. Supports cursor-based pagination for navigating large tag collections. Use this when you need to view or iterate through tags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for fetching the next page of results. Use the 'end_cursor' value from a previous response. |
| `before` | string | No | Cursor for fetching the previous page of results. Use the 'start_cursor' value from a previous response. |
| `per_page` | integer | No | Number of tags to return per page. Default is 500, maximum is 1000. |
| `include_total_count` | boolean | No | Include the total count of tags in the response. Note: This may slow down the response for large collections. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Tag Subscribers

**Slug:** `KIT_LIST_TAG_SUBSCRIBERS`

Tool to retrieve subscribers for a specific tag. Use after confirming the tag ID when you need to list subscribers associated with a tag.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination; returns subscribers after this cursor. |
| `before` | string | No | Cursor for pagination; returns subscribers before this cursor. |
| `status` | string | No | Filter by subscriber status ('active' or 'inactive'). |
| `tag_id` | integer | Yes | Unique identifier of the tag to retrieve subscribers for |
| `per_page` | integer | No | Number of subscribers to return per page (min 1). |
| `tagged_after` | string | No | Filter to subscribers tagged after this timestamp (ISO 8601). |
| `created_after` | string | No | Filter to subscribers created after this timestamp (ISO 8601). |
| `tagged_before` | string | No | Filter to subscribers tagged before this timestamp (ISO 8601). |
| `created_before` | string | No | Filter to subscribers created before this timestamp (ISO 8601). |
| `include_total_count` | string ("true" | "false") | No | If set to 'true', includes total count of subscribers in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Webhooks

**Slug:** `KIT_LIST_WEBHOOKS`

Retrieve a paginated list of all webhooks configured in the Kit account. Returns webhook details including ID, event type, and target URL. Supports cursor-based pagination for navigating large webhook collections. Use this when you need to view or iterate through webhooks.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for fetching the next page of results. Use the 'end_cursor' value from a previous response. |
| `before` | string | No | Cursor for fetching the previous page of results. Use the 'start_cursor' value from a previous response. |
| `per_page` | integer | No | Number of webhooks to return per page. Default is 500, maximum is 1000. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Tag From Subscriber

**Slug:** `KIT_REMOVE_TAG_FROM_SUBSCRIBER`

Tool to remove a tag from a subscriber using their subscriber ID. Use when you need to untag a subscriber from a specific tag after confirming both tag and subscriber IDs exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | integer | Yes | The unique ID of the tag to remove from the subscriber |
| `subscriber_id` | integer | Yes | The unique ID of the subscriber to remove the tag from |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Tag Subscriber

**Slug:** `KIT_TAG_SUBSCRIBER`

Tool to associate a subscriber with a specific tag by ID. Use after confirming tag and subscriber IDs when tagging a subscriber.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | integer | Yes | ID of the tag to assign |
| `subscriber_id` | integer | Yes | ID of the subscriber to tag |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Tag Subscriber by Email

**Slug:** `KIT_TAG_SUBSCRIBER_BY_EMAIL`

Assigns a tag to an existing subscriber using their email address. The subscriber must already exist in your Kit account. Returns the subscriber's details including the timestamp when they were tagged. Use when you have a valid tag ID and the subscriber's email address.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | integer | Yes | The ID of the tag to assign to the subscriber |
| `email_address` | string | Yes | The subscriber's email address. The subscriber must already exist in your Kit account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Untag Subscriber by Email

**Slug:** `KIT_UNTAG_SUBSCRIBER_BY_EMAIL`

Tool to remove a tag from a subscriber using their email address. Use when you need to untag an existing subscriber after confirming both the tag ID and subscriber's email address are valid.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag_id` | integer | Yes | The ID of the tag to remove from the subscriber |
| `email_address` | string | Yes | The email address of the subscriber to untag. The subscriber must already exist in your Kit account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Account Colors

**Slug:** `KIT_UPDATE_ACCOUNT_COLORS`

Tool to update the list of colors for the account. Use when customizing your Kit account's color palette for broadcasts and templates. Maximum 5 hex color codes allowed per account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `colors` | array | Yes | List of hex color codes to set for the account (e.g., '#008000', '#FF0000'). Maximum 5 colors allowed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Custom Field

**Slug:** `KIT_UPDATE_CUSTOM_FIELD`

Tool to update a custom field's label. Use after listing or retrieving custom fields and confirming the field ID to rename.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the custom field to update |
| `label` | string | Yes | New label for the custom field |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Subscriber

**Slug:** `KIT_UPDATE_SUBSCRIBER`

Tool to update an existing subscriber's information. Use when you need to modify a subscriber's first name, email address, or custom fields. Supports updating up to 140 custom fields at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | The unique subscriber ID to update. Must be a positive integer. Use KIT_LIST_SUBSCRIBERS to find valid subscriber IDs. |
| `fields` | object | No | Custom fields as key-value pairs. Maximum 140 custom fields can be updated at a time. The API will ignore custom fields that don't exist in your account. |
| `first_name` | string | No | The subscriber's first name to update. |
| `email_address` | string | No | The subscriber's email address to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Tag

**Slug:** `KIT_UPDATE_TAG`

Tool to update a tag's name by ID. Use after retrieving tag ID and confirming the new name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Unique identifier of the tag to update |
| `name` | string | Yes | New name for the tag |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
