# Whautomate

Whautomate is a platform that offers seamless integrations for customer engagement, including AI chatbots, appointment scheduling, and broadcast messaging.

- **Category:** ai chatbots
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 17
- **Triggers:** 0
- **Slug:** `WHAUTOMATE`
- **Version:** 20260227_00

## Tools

### Add Contact

**Slug:** `WHAUTOMATE_ADD_CONTACT`

Tool to add a new contact. Use when you need to programmatically create contacts via the API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Unique identifier for the contact. If omitted, the server generates one. |
| `name` | string | Yes | Name of the contact. |
| `tags` | array | No | Tags associated with the contact. |
| `notes` | string | No | Additional notes about the contact. |
| `stage` | string ("Subscriber" | "Engaged" | "Lead" | "Marketing qualified lead (MQL)" | "Sales qualified lead (SQL)" | "Opportunity" | "Follow-up Required" | "Customer" | "Evangelist" | "Other" | "Lost" | "Inactive") | No | Stage of the contact in the sales funnel. |
| `location` | object | Yes | Location details for the contact. |
| `phoneNumber` | string | Yes | Phone number of the contact, including country code. |
| `customFields` | object | No | Custom fields for the contact. |

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

**Slug:** `WHAUTOMATE_DELETE_SEGMENT`

Tool to delete a specific segment. Use when you need to remove a segment by its ID. Use after confirming you have the correct segmentId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `segmentId` | string | Yes | Unique identifier of the segment 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 Service Category

**Slug:** `WHAUTOMATE_DELETE_SERVICE_CATEGORY`

Tool to delete a service category. Use when you need to remove a specific service category by its ID. Use after confirming you have the correct serviceCategoryId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `serviceCategoryId` | string | Yes | Unique identifier of the service category 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 Account Info

**Slug:** `WHAUTOMATE_GET_ACCOUNT_INFO`

Tool to retrieve account information for the authenticated user. Use when you need to fetch account details like account name and owner email.

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

**Slug:** `WHAUTOMATE_GET_ALL_WEBHOOKS`

Tool to retrieve all registered webhooks. Use after authenticating to audit or inspect existing webhook subscriptions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve |
| `limit` | integer | No | Maximum number of webhooks per 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 |

### Get Broadcast By ID

**Slug:** `WHAUTOMATE_GET_BROADCAST_BY_ID`

Tool to retrieve a specific broadcast's details. Use when you have a broadcast ID and need its metadata. Use after confirming the broadcastId is valid, as this returns detailed broadcast data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `broadcastId` | string | 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 Broadcasts

**Slug:** `WHAUTOMATE_GET_BROADCASTS`

Tool to retrieve a list of broadcasts. Use when you need to fetch broadcasts with optional filters such as status or date ranges. Example: "Get all scheduled broadcasts after 2023-01-01T00:00:00Z."

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (starts from 1) |
| `limit` | integer | No | Number of items per page (controls number of results returned) |
| `endDate` | string | No | Filter broadcasts up to this end date (ISO8601 format or date string) |
| `startDate` | string | No | Filter broadcasts from this start date (ISO8601 format or date string) |
| `locationId` | string | No | Filter broadcasts by location ID |
| `searchText` | string | No | Search broadcasts by text (name or 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 Contacts

**Slug:** `WHAUTOMATE_GET_CONTACTS`

Tool to retrieve a list of contacts. Use when you need to fetch contacts from WhatsApp with optional pagination and filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | string | No | Page number for pagination |
| `tags` | string | No | Filter contacts by associated tags |
| `limit` | string | No | Maximum number of contacts per page |
| `channel` | string | No | Filter contacts by communication channel |
| `locationId` | string | No | Filter contacts by specific location identifier |
| `searchText` | string | No | Search contacts by keyword or text matching (name, phone, etc.) |

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

**Slug:** `WHAUTOMATE_GET_MESSAGES_OF_CONTACT`

Tool to retrieve chat messages for a specific contact. Use after providing a valid contactId. Supports pagination and optional date filtering.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (must be >=1) |
| `endDate` | string | No | ISO-8601 date to filter messages on or before this timestamp |
| `contactId` | string | Yes | Unique identifier of the contact to retrieve messages for |
| `startDate` | string | No | ISO-8601 date to filter messages on or after this timestamp |

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

**Slug:** `WHAUTOMATE_GET_SEGMENTS`

Tool to retrieve a list of segments. Use when you need to fetch segments with optional name filtering and pagination. Segments can be used to organize clients and contacts into groups based on various criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based) |
| `limit` | integer | No | Number of items per page (pagination limit) |
| `locationId` | string | No | Filter segments by location ID |
| `searchText` | string | No | Filter segments by partial or full name match |

#### 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 Service By Id

**Slug:** `WHAUTOMATE_GET_SERVICE_BY_ID`

Tool to retrieve details of a specific service by its unique ID. Use when you need comprehensive service information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `serviceId` | string | Yes | Unique identifier of the service 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 Service Categories

**Slug:** `WHAUTOMATE_GET_SERVICE_CATEGORIES`

Tool to retrieve a list of service categories. Use when you need to list categories with optional pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of records to return |
| `offset` | integer | No | Number of records to skip 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 Services

**Slug:** `WHAUTOMATE_GET_SERVICES`

Tool to retrieve a list of services with optional filters. Use when you need to fetch available services for display or scheduling.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination |
| `limit` | integer | No | Maximum number of services to retrieve (1-100) |
| `locationId` | string | No | Filter services by a specific location ID |
| `searchText` | string | No | Search text to filter services by name |
| `serviceType` | string | No | Filter services by type (e.g., 'APPOINTMENT') |

#### 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 Staff Availability Blocks

**Slug:** `WHAUTOMATE_GET_STAFF_AVAILABILITY_BLOCKS`

Tool to retrieve a staff member's blocked time schedule over a date range. Use when you need to view unavailable slots after confirming staffId and desired date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `endDate` | string | No | End date (inclusive) in YYYY-MM-DD format |
| `staffId` | string | Yes | Unique identifier of the staff member |
| `startDate` | string | No | Start date (inclusive) in 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 |

### Get Staff By ID

**Slug:** `WHAUTOMATE_GET_STAFF_BY_ID`

Tool to retrieve detailed information about a specific staff member. Use when you have a valid staff ID and need full profile details. Use after confirming staffId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `staffId` | string | Yes | Unique identifier of the staff member 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 Staffs

**Slug:** `WHAUTOMATE_GET_STAFFS`

Tool to retrieve a list of staff members. Use when you need to list staff with optional pagination or search filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to retrieve |
| `limit` | integer | No | Number of records per page |
| `locationId` | string | No | Filter staff by location ID |
| `searchText` | string | No | Search keyword to filter staff by name or number |

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

**Slug:** `WHAUTOMATE_UPDATE_SERVICE`

Tool to update an existing Whautomate service. Use when you need to modify service attributes like name, pricing, duration, or active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the service. |
| `active` | boolean | No | Whether the service should be active (true) or inactive (false). |
| `credits` | integer | No | Number of credits required for this service. |
| `costPrice` | number | No | Cost price for the service. |
| `serviceId` | string | Yes | Unique identifier of the service to update. |
| `sortOrder` | integer | No | Sort order for displaying the service. |
| `sellingPrice` | number | No | Selling price for the service. |
| `durationMinutes` | integer | No | Duration of the service in minutes. |
| `allowOnlineBooking` | boolean | No | Whether online booking is allowed for this service. |
| `acceptPaymentOnline` | boolean | No | Whether online payment is accepted for this service. |

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