---
canonical_url: "https://docs.composio.dev/toolkits/engage_platform"
markdown_url: "https://docs.composio.dev/toolkits/engage_platform.md"
product: "platform"
version: null
last_updated: null
---

# Engage Platform

Engage Platform provides customer data, account, list, event, batch, and transactional messaging APIs for customer engagement workflows.

- **Category:** marketing automation
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 18
- **Triggers:** 0
- **Slug:** `ENGAGE_PLATFORM`
- **Version:** 20260826_00

## Tools

### Add User to Accounts

**Slug:** `ENGAGE_PLATFORM_ADD_USER_TO_ACCOUNTS`

Add a customer to one or more Engage accounts, optionally assigning a role in each account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID of the customer to add to the accounts. |
| `accounts` | array | Yes | Account application UIDs and optional membership roles; must not be empty. |

#### 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 User to Lists

**Slug:** `ENGAGE_PLATFORM_ADD_USER_TO_LISTS`

Add and subscribe an existing user to one or more Engage lists. This tool does not remove list memberships or implement bulk removal.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID of the existing user to subscribe. |
| `list_ids` | array | Yes | One or more Engage internal list IDs to add and subscribe the user to. |

#### 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 |

### Archive List

**Slug:** `ENGAGE_PLATFORM_ARCHIVE_LIST`

Archive a list so it disappears from list results and cannot receive new subscribers. This is not permanent deletion; direct retrieval may still return the archived record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Engage internal list ID to archive. |
| `confirm_archive` | boolean | Yes | Must be true to confirm the list will stop accepting subscribers and disappear from list results. |

#### 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 List

**Slug:** `ENGAGE_PLATFORM_CREATE_LIST`

Create an Engage user list and return its Engage list ID for subscription tools.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | Yes | List title, at most 64 characters. |
| `description` | string | No | List description, at most 255 characters. |
| `double_optin` | boolean | No | Whether new subscribers require double opt-in. |
| `redirect_url` | string | No | HTTP or HTTPS redirect URL associated with the list. |

#### 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 User

**Slug:** `ENGAGE_PLATFORM_CREATE_USER`

Create an Engage customer or account with a caller-chosen application UID. Use UPSERT_USER when the UID may already exist.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Unique application UID containing letters, numbers, or underscores. |
| `meta` | object | No | Custom attributes with string, number, or boolean values. |
| `email` | string | No | User's email address. |
| `lists` | array | No | Engage list IDs to associate at creation. |
| `number` | string | No | Phone number in international format. |
| `accounts` | array | No | Engage account UIDs and optional roles to associate at creation. |
| `last_name` | string | No | User's last name. |
| `created_at` | string | No | Original creation time when importing an existing user. |
| `first_name` | string | No | User's first name. |
| `is_account` | boolean | No | Whether to create an account rather than a customer. |
| `device_token` | string | No | Push-device token to attach. |
| `device_platform` | string ("android" | "ios") | No | Platform for device_token; omit when no token is supplied. |

#### 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 User Attribute

**Slug:** `ENGAGE_PLATFORM_DELETE_USER_ATTRIBUTE`

Permanently remove one custom meta attribute from a user. Standard fields such as first_name, last_name, email, and number cannot be removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID of the user whose custom attribute will be removed. |
| `attribute` | string | Yes | Exact custom meta key to remove. Standard profile fields cannot be removed. |
| `confirm_delete` | boolean | Yes | Must be true to confirm permanent removal of this custom attribute. |

#### 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 List

**Slug:** `ENGAGE_PLATFORM_GET_LIST`

Retrieve an Engage list by its internal list ID. Direct retrieval can return archived lists, so a successful response does not prove the list is active.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `list_id` | string | Yes | Engage internal list ID, not a user application UID. |

#### 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 User

**Slug:** `ENGAGE_PLATFORM_GET_USER`

Retrieve one Engage customer or account by its caller-supplied application UID, not Engage's internal ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID supplied when the user was 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 |

### List Account Members

**Slug:** `ENGAGE_PLATFORM_LIST_ACCOUNT_MEMBERS`

List customers belonging to one Engage account identified by its application UID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `account_uid` | string | Yes | Account application UID. |

#### 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 Lists

**Slug:** `ENGAGE_PLATFORM_LIST_LISTS`

Return one cursor-controlled page of active Engage user lists. Archived lists are omitted by the provider.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Lists to request for this page (1-30). |
| `cursor` | string | No | Opaque next_cursor from the preceding list 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 Users

**Slug:** `ENGAGE_PLATFORM_LIST_USERS`

Return one cursor-controlled page of Engage customers and accounts, optionally filtered by exact email.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Exact email address to filter by. |
| `limit` | integer | No | Users to request for this page (1-30). |
| `cursor` | string | No | Opaque continuation token from the preceding response. Pass it unchanged; it preserves the page size and email filter. |

#### 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 List Subscriber

**Slug:** `ENGAGE_PLATFORM_REMOVE_LIST_SUBSCRIBER`

Completely remove one user's membership from one Engage list. This differs from unsubscribe, which retains membership.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID of the user whose list membership will be removed. |
| `list_id` | string | Yes | Engage internal list ID. |
| `confirm_remove` | boolean | Yes | Must be true to confirm complete list-membership removal rather than unsubscribe. |

#### 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 User From Account

**Slug:** `ENGAGE_PLATFORM_REMOVE_USER_FROM_ACCOUNT`

Permanently remove one customer's membership from one Engage account. This does not delete either user record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Customer application UID. |
| `account_uid` | string | Yes | Account application UID. |
| `confirm_remove` | boolean | Yes | Must be true to confirm permanent membership removal. |

#### 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 |

### Set Account Member Role

**Slug:** `ENGAGE_PLATFORM_SET_ACCOUNT_MEMBER_ROLE`

Set or replace a customer's role in one Engage account membership.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Customer application UID. |
| `role` | string | Yes | Role value to assign to this account membership. |
| `account_uid` | string | Yes | Account application UID, not an Engage internal ID. |

#### 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 |

### Set List Subscription

**Slug:** `ENGAGE_PLATFORM_SET_LIST_SUBSCRIPTION`

Subscribe, resubscribe, or unsubscribe an existing user on one Engage list. Unsubscribing retains the membership record; use REMOVE_LIST_SUBSCRIBER to remove it completely.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID of the user. |
| `list_id` | string | Yes | Engage internal list ID. |
| `subscribed` | boolean | Yes | True to subscribe or resubscribe; false to unsubscribe while retaining the list membership. |

#### 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 |

### Track User Event

**Slug:** `ENGAGE_PLATFORM_TRACK_USER_EVENT`

Append an immutable event to a user's Engage activity history. A successful status confirms ingestion only; this tool cannot remove the event later. If dispatch is ambiguous, do not retry because doing so may duplicate the event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID receiving the event. |
| `event` | string | Yes | Event name to record. |
| `value` | string | No | Optional string, number, or boolean event value. |
| `timestamp` | string | No | Event occurrence time as an ISO 8601 date-time. Omit it to use Engage's processing time. |
| `properties` | object | No | Optional event properties with string, number, or boolean values. |

#### 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 List

**Slug:** `ENGAGE_PLATFORM_UPDATE_LIST`

Update supplied settings on an existing Engage list without changing unspecified fields.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `title` | string | No | Replacement title, at most 64 characters. |
| `list_id` | string | Yes | Engage internal list ID. |
| `description` | string | No | Replacement description, at most 255 characters. |
| `double_optin` | boolean | No | Replacement double opt-in setting. |
| `redirect_url` | string | No | Replacement HTTP or HTTPS redirect URL. |

#### 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 |

### Upsert User

**Slug:** `ENGAGE_PLATFORM_UPSERT_USER`

Update profile or custom attributes for an application UID, creating the user if it does not exist. Only supplied fields are sent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `uid` | string | Yes | Application UID to update or create. |
| `meta` | object | No | Custom attributes to set, with string, number, or boolean values. Engage may normalize scalar types in its response. |
| `email` | string | No | Replacement email address. |
| `number` | string | No | Replacement phone number in international format. |
| `last_name` | string | No | Replacement last name. |
| `created_at` | string | No | Replacement original creation time for an imported user. |
| `first_name` | string | No | Replacement first name. |
| `is_account` | boolean | No | Whether the user represents an account. |
| `device_token` | string | No | Replacement push-device token. |
| `device_platform` | string ("android" | "ios") | No | Platform for device_token. |

#### 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 |
