# Superchat

Superchat is a unified messaging platform that enables businesses to communicate with customers across multiple channels, including WhatsApp, Instagram Direct, Facebook Messenger, Email, and more.

- **Category:** team chat
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 17
- **Triggers:** 0
- **Slug:** `SUPERCHAT`
- **Version:** 20260227_00

## Tools

### Create Contact

**Slug:** `SUPERCHAT_CREATE_CONTACT`

Create a new contact in Superchat with phone or email handles. Use this tool to register contact details before sending messages. You must provide at least one handle (phone or email). Optional fields include first name, last name, gender, and custom attributes (if predefined in your account settings).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gender` | string ("female" | "male" | "diverse") | No | Gender of the contact. |
| `handles` | array | Yes | List of one or more contact handles (phone or email). At least one handle is required. Example: [{"type": "phone", "value": "+14155552671"}] or [{"type": "mail", "value": "user@example.com"}]. |
| `last_name` | string | No | Last name of the contact. |
| `first_name` | string | No | First name of the contact. |
| `custom_attributes` | array | No | Optional list of custom attributes. NOTE: Custom attribute fields must be predefined in your Superchat account settings before they can be used via the API. Using undefined fields will result in a 400 error. |

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

**Slug:** `SUPERCHAT_CREATE_TEMPLATE_FOLDER`

Create a new template folder in SuperChat for organizing message templates. Template folders help organize WhatsApp and other messaging templates into logical groups (e.g., Marketing, Sales, Customer Support). Use this action before creating templates when you want to keep them organized.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the new template folder. Must be unique within the workspace. |

#### 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:** `SUPERCHAT_DELETE_WEBHOOK`

Tool to delete a specific webhook by its ID. Use when you need to remove an obsolete or unwanted webhook subscription. First use SUPERCHAT_LIST_WEBHOOKS to retrieve the webhook ID, then use this action to delete it. Example: Delete webhook wh_UPYSN0Etofjl7lhhQ9yhL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | Unique identifier of the webhook to delete, prefixed with 'wh_'. Use SUPERCHAT_LIST_WEBHOOKS to retrieve available webhook 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 |

### Get Contact

**Slug:** `SUPERCHAT_GET_CONTACT`

Retrieve a specific contact's details by ID. Returns the contact's name, handles (phone, email, social), custom attributes, and timestamps. Use this to look up contact information before sending messages or updating contact details. Example: "Get contact details for co_abc123" or "Fetch info for contact co_xyz789".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | The unique identifier of the contact. Superchat contact IDs always start with 'ct_' (e.g., 'ct_T0WuvJS5pcg6TsTM1f03S'). You can obtain this ID from the List Contacts or Create Contact actions. |

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

**Slug:** `SUPERCHAT_GET_FILE`

Retrieve metadata for a specific file by its ID. Returns file details including the file name, MIME type, API resource URL, and a temporary download link with expiration. Use this to get information about uploaded files before downloading or processing them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The unique identifier of the file to retrieve (e.g., 'fi_abc123'). |

#### 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:** `SUPERCHAT_GET_USER`

Retrieve details of a specific user in the Superchat workspace by their user ID. Use this tool when you need to fetch profile information for a known user. Note: You can obtain user IDs by first calling the List Users action. Example user_id format: 'us_abc123xyz'

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user to retrieve (format: us_xxx). Obtain user IDs from the List Users action. |

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

**Slug:** `SUPERCHAT_LIST_CHANNELS`

Lists all communication channels in your Superchat workspace. Channels represent different messaging mediums (WhatsApp, email, SMS, Telegram, Instagram, Facebook) through which conversations occur. Results are sorted by creation date (newest first) and can be paginated using 'limit', 'after', or 'before' parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor after which channels should be returned. Cannot be used with 'before'. |
| `limit` | integer | No | Total number of channels to return (1-100). |
| `before` | string | No | Cursor before which channels should be returned. Cannot be used with 'after'. |

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

**Slug:** `SUPERCHAT_LIST_CONTACTS`

List all contacts in the Superchat workspace with cursor-based pagination. Use this tool to browse contacts, find contact IDs, or export contact data. Results are sorted by creation date (newest first).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Contact ID cursor to fetch contacts after. Use for forward pagination. |
| `limit` | integer | No | Number of contacts to return per page. Range: 1-100. Default: 50. |
| `before` | string | No | Contact ID cursor to fetch contacts before. Use for backward 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 Conversations

**Slug:** `SUPERCHAT_LIST_CONVERSATIONS`

Retrieves a paginated list of all conversations in your Superchat account. Each conversation includes channel info, status (open/snoozed/done), assigned users, contacts, labels, and inbox details. Use this to browse conversations, find specific ones by status or channel, or get conversation IDs for further operations. Supports cursor-based pagination to handle large result sets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Pagination cursor to retrieve the next page of results. Use the 'next_cursor' value from a previous response. Cannot be used with 'before'. Omit for the first page. |
| `limit` | integer | No | Number of conversations to return (1-100). Default is 50. |
| `before` | string | No | Pagination cursor to retrieve the previous page of results. Use the 'previous_cursor' value from a previous response. Cannot be used with 'after'. Omit for the first page. |

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

**Slug:** `SUPERCHAT_LIST_CUSTOM_ATTRIBUTES`

List all custom attributes defined for contacts in your Superchat account. Custom attributes are user-defined fields that extend contact data beyond standard fields like name and email. Use this action to discover available custom attributes before reading or updating contact information. Supports cursor-based pagination for accounts with many custom attributes. Common use cases: - Discover available custom fields before updating contacts - Retrieve custom attribute types (string, number, date, select, etc.) - Get custom attribute IDs for use in other API calls

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination to get results after a specified position. |
| `limit` | integer | No | The total number of objects to be returned. Min: 1, Max: 100. |
| `before` | string | No | Cursor for pagination to get results before a specified position. |

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

**Slug:** `SUPERCHAT_LIST_INBOXES`

Tool to list all inboxes. Use when you need to retrieve inbox IDs and metadata before sending or organizing messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor after which inboxes should be returned. Use for forward pagination. Cannot be used with 'before'. |
| `limit` | integer | No | Total number of inboxes to return (1-100). Default is 50. |
| `before` | string | No | Cursor before which inboxes should be returned. Use for backward pagination. Cannot be used with 'after'. |

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

**Slug:** `SUPERCHAT_LIST_LABELS`

List all labels in the Superchat workspace. Labels are used to categorize and organize conversations. Use this tool to retrieve available labels and their IDs, which can then be used to assign labels to conversations via the update conversation endpoint. Supports cursor-based pagination for workspaces with many labels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination. Returns labels after this cursor position. Use the 'next_cursor' from a previous response. |
| `limit` | integer | No | Number of labels to return per page (1-100). Defaults to 50. |
| `before` | string | No | Cursor for pagination. Returns labels before this cursor position. Use the 'previous_cursor' from a previous response. Cannot be used together with 'after'. |

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

**Slug:** `SUPERCHAT_LIST_TEMPLATES`

Tool to list all message templates. Use when you need to fetch available message templates.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination. Returns templates after this cursor position. |
| `limit` | integer | No | Number of templates to return per page (1-100). Defaults to 50. |
| `before` | string | No | Cursor for pagination. Returns templates before this cursor position. |

#### 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:** `SUPERCHAT_LIST_USERS`

Retrieve all users in the workspace. Returns user profiles including names, emails, roles, and contact info. Supports pagination for large workspaces. Use cases: - Get a directory of all workspace members - Find user IDs for other API operations - Audit user roles and permissions

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Cursor for pagination - user ID after which to return results. |
| `limit` | integer | No | Number of users to return per page (1-100). Defaults to 50 if not specified. |
| `before` | string | No | Cursor for pagination - user ID before which to return 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 |

### List Webhooks

**Slug:** `SUPERCHAT_LIST_WEBHOOKS`

Tool to list all webhooks configured in the workspace. Use this tool to: - Retrieve all active and paused webhooks - Get webhook IDs for use with update or delete operations - Check webhook status and event subscriptions Supports pagination via 'limit', 'after', and 'before' parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Pagination cursor for older webhooks. Provide a webhook ID to retrieve the next page of results (webhooks created before this ID in chronological order). Results are sorted newest-first, so 'after' moves forward through older records. Cannot be used with 'before'. |
| `limit` | integer | No | Number of webhooks to return per page (1-100). Defaults to 50. |
| `before` | string | No | Pagination cursor for newer webhooks. Provide a webhook ID to retrieve the previous page of results (webhooks created after this ID in chronological order). Results are sorted newest-first, so 'before' moves backward through newer records. Cannot be used with 'after'. |

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

**Slug:** `SUPERCHAT_UPDATE_CONTACT`

Update information for a specific contact in Superchat. Use this tool to modify a contact's name, gender, handles (phone/email), or custom attributes. Requires the contact_id (prefixed with 'ct_') which can be obtained from List Contacts or Create Contact. Examples: - Update first name: {"contact_id": "ct_abc123", "first_name": "Jane"} - Update gender: {"contact_id": "ct_abc123", "gender": "female"} - Update phone handle: {"contact_id": "ct_abc123", "handles": [{"type": "phone", "value": "+1234567890"}]}

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gender` | string ("female" | "male" | "diverse") | No | Gender of the contact. |
| `handles` | array | No | List of contact handles to update. Only phone and email handles are supported. Include 'id' to update existing handles. |
| `last_name` | string | No | Last name of the contact. |
| `contact_id` | string | Yes | Unique identifier of the contact to update, prefixed with 'ct_'. Example: 'ct_abc123'. |
| `first_name` | string | No | First name of the contact. |
| `custom_attributes` | array | No | List of custom attributes to update. Each attribute needs an 'id' and 'value'. |

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

**Slug:** `SUPERCHAT_UPDATE_WEBHOOK`

Update an existing webhook's target URL and/or event subscriptions. Use this tool to: - Change the webhook delivery URL - Add or remove event subscriptions - Update event types the webhook listens to Note: Webhook status (ACTIVE/PAUSED) is automatically managed by the API and cannot be manually changed. Webhooks become PAUSED after 7 days of consistent delivery failures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | No | New target URL for the webhook. Must use HTTPS protocol. If omitted, the existing URL is preserved. |
| `events` | array | No | List of event types to subscribe to. Valid events: 'message_inbound', 'contact_updated', 'contact_created', 'message_outbound', 'message_failed', 'note_created', 'conversation_done', 'conversation_opened', 'conversation_snoozed'. If omitted, the existing events are preserved. |
| `webhook_id` | string | Yes | Unique identifier of the webhook to update, prefixed with 'wh_' (e.g., 'wh_abc123'). |

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