# TimelinesAI

TimelinesAI enables teams to manage and automate WhatsApp communications, integrating with various CRMs and tools to streamline workflows.

- **Category:** communication
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 1
- **Slug:** `TIMELINESAI`
- **Version:** 20260211_00

## Tools

### Delete File

**Slug:** `TIMELINESAI_DELETE_FILE`

Tool to delete an uploaded file by its UID. Use after confirming the file is no longer needed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_uid` | string | Yes | Unique identifier of the file 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:** `TIMELINESAI_DELETE_WEBHOOK`

Tool to delete a webhook subscription by its ID. Use when you need to remove an existing webhook after confirming the webhook ID. Example: "Delete the webhook with ID '9f6a8c3d-56b7-4a1e-8f2e-abcdef123456'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | Unique identifier of the webhook subscription 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 |

### Get Chat Messages

**Slug:** `TIMELINESAI_GET_CHAT_MESSAGES`

Tool to get messages from a specific chat in TimelinesAI. Use when you need to retrieve message history or recent messages from a chat. Example: "Get the last 20 messages from chat 'chat_123abc'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of messages to return |
| `offset` | integer | No | Number of messages to skip before returning results |
| `chat_id` | string | Yes | Unique identifier of the chat to retrieve messages from |
| `after_message_id` | string | No | Get messages after this message ID (for pagination) |
| `before_message_id` | string | No | Get messages before this message ID (for 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 |

### Get Chats

**Slug:** `TIMELINESAI_GET_CHATS`

Tool to get full or filtered list of all chats. Use when you need to browse or search chats with optional filters. Example: "List all unread chats assigned to me."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of chats to return |
| `types` | array | No | List of chat types to include (e.g., ['group', 'direct']) |
| `offset` | integer | No | Number of chats to skip before returning results |
| `search` | string | No | Search term to filter chats by name or content |
| `is_muted` | boolean | No | If true, only chats that are muted |
| `label_id` | string | No | Filter chats by the specified label ID |
| `has_label` | boolean | No | If true, only chats that have at least one label |
| `is_unread` | boolean | No | If true, only chats with unread messages are returned |
| `person_id` | string | No | Filter chats by the associated person ID |
| `sort_field` | string | No | Field by which to sort results (e.g., 'createdAt') |
| `assignee_id` | string | No | Filter chats by the specified assignee ID |
| `is_archived` | boolean | No | If true, only archived chats will be returned |
| `is_assigned` | boolean | No | If true, only chats that have been assigned |
| `is_followed` | boolean | No | If true, only chats followed by the current user |
| `created_since` | string | No | ISO 8601 date string; return chats created after this timestamp |
| `has_open_task` | boolean | No | If true, only chats with open tasks |
| `integration_id` | string | No | Filter chats by the specified integration ID |
| `sort_direction` | string ("asc" | "desc") | No | Sort order: 'asc' (ascending) or 'desc' (descending) |
| `team_member_id` | string | No | Filter chats involving the specified team member 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 |

### Get File Details

**Slug:** `TIMELINESAI_GET_FILE_DETAILS`

Tool to retrieve metadata and temporary download URL for an uploaded file. Use after uploading a file or when needing its URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_uid` | string | Yes | Unique identifier of the file to retrieve details 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 Webhook

**Slug:** `TIMELINESAI_GET_WEBHOOK`

Retrieves detailed information about a specific webhook subscription by its ID. Use this action to: - Check webhook configuration (URL, event type, enabled status) - Monitor webhook health (error counter) - Verify webhook existence before updating or deleting Prerequisites: You must have a valid webhook ID. Use the Get Webhooks action to list all available webhooks first.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The unique webhook ID (numeric string). Use Get Webhooks action to list all 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 Webhooks

**Slug:** `TIMELINESAI_GET_WEBHOOKS`

Retrieves all webhook subscriptions configured for the workspace. Webhooks notify external systems about events (e.g., 'message:new', 'chat:new') in real-time. Use this to view existing webhook configurations, check their status, or retrieve webhook IDs for updates/deletion. Supports optional pagination via limit and offset parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of webhooks to return per page |
| `offset` | integer | No | Number of webhooks to skip before returning 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 |

### Get WhatsApp Accounts

**Slug:** `TIMELINESAI_GET_WHATSAPP_ACCOUNTS`

Tool to list all WhatsApp accounts connected to the workspace. Use after configuring WhatsApp integration to verify accounts.

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

**Slug:** `TIMELINESAI_LIST_UPLOADED_FILES`

Tool to list files uploaded in your TimelinesAI workspace. Use when you need to retrieve all uploaded files.

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

### Send WhatsApp Message to Number

**Slug:** `TIMELINESAI_POST_MESSAGE`

Tool to send a WhatsApp text message to a phone number via TimelinesAI. Use this to send messages to any recipient phone number using one of your connected WhatsApp accounts as the sender. The message will be delivered immediately if the recipient number is reachable on WhatsApp. Example: Send 'Hello, how can I help you today?' from +15105566777 to +14151231234.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | Yes | Message text to send. Note: text length is limited by the WhatsApp platform (currently 65,534 characters). |
| `phone` | string | Yes | Recipient's phone number in international format with a leading '+' and country code. |
| `whatsapp_account_phone` | string | Yes | Your sender WhatsApp number in international format with a leading '+' and country code. This must be a WhatsApp account that is already connected to your TimelinesAI 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 |

### Create Webhook Subscription

**Slug:** `TIMELINESAI_POST_WEBHOOK`

Tool to create a new webhook subscription. Use when you have the event type and callback URL ready.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The HTTP endpoint URL that will receive webhook payloads. |
| `secret` | string | No | Optional secret used to sign webhook payloads (HMAC). |
| `event_type` | string | Yes | Event type to subscribe to. Valid values: 'message:new', 'message:sent:new', 'message:received:new', 'whatsapp:account:connected', 'whatsapp:account:disconnected', 'whatsapp:account:suspended', 'whatsapp:account:resumed', 'chat:new', 'chat:incoming:new', 'chat:outgoing:new', 'chat:responsible:assigned', 'chat:responsible:unassigned'. |

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

Tool to update an existing webhook subscription. Use after confirming the webhook ID when you need to change the URL, subscribed event types, or enable/disable a webhook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The URL endpoint that will receive webhook event notifications |
| `enabled` | boolean | No | Whether the webhook should be active. If omitted, current state is preserved |
| `event_type` | string | Yes | Single event type to subscribe to. Common types: 'message:new', 'chat:new', 'message:received:new', 'message:sent:new', 'chat:incoming:new', 'chat:outgoing:new', 'chat:responsible:assigned', 'chat:responsible:unassigned', 'whatsapp:account:connected', 'whatsapp:account:disconnected' |
| `webhook_id` | string | Yes | Unique identifier of the webhook subscription to update (numeric ID as string) |

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

### Send Message to Chat

**Slug:** `TIMELINESAI_SEND_MESSAGE`

Send a WhatsApp message to an existing chat in TimelinesAI. Use this action when you have a chat ID from the Get Chats action and want to send a message to that conversation. For sending messages to new phone numbers (not existing chats), use the 'Send WhatsApp Message to Number' action instead. Example: "Send message 'Hello world' to chat with ID 'chat_123abc'."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | Unique identifier of the chat to send the message to. Obtain this from the Get Chats action. |
| `message` | string | Yes | The text message to send. Maximum length: 65,534 characters (WhatsApp platform limit). |
| `message_type` | string | No | Type of message to send. Common values: 'text' for text messages, 'media' for media messages. Defaults to 'text'. |

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


## Triggers

### New WhatsApp Message Received

**Slug:** `TIMELINESAI_NEW_MESSAGE_RECEIVED`

**Type:** poll

Polling trigger that monitors for new messages received in TimelinesAI WhatsApp chats.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | No | Filter messages from a specific chat ID. If not provided, all chats will be monitored |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `is_unread` | boolean | No | If true, only unread messages will be included |
| `limit` | integer | No | Maximum number of messages to fetch per polling cycle |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `chat_id` | string | Yes | ID of the chat the message belongs to |
| `event_type` | string | No | Type of event that triggered |
| `message_id` | string | Yes | Unique identifier of the message |
| `message_type` | string | No | Type of message (text, media, etc.) |
| `sender` | object | No | Details of the message sender |
| `text` | string | No | Content of the message |
| `timestamp` | string | Yes | ISO-8601 timestamp when message was sent |
