# Wati MCP connector

The Wati connector brings your WhatsApp contacts, broadcasts, chatbots and channels into Claude, ChatGPT, Cursor and other AI clients, so your team can ask about them and update them in plain language, with every action logged.

Source: https://elaichi.ai/connectors/wati/

## Facts

| | |
| --- | --- |
| Application | Wati |
| Category | Marketing Automation |
| AI tools | 94 |
| Authentication | Connects with an API key |
| Needs your own OAuth app | No |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 94 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Wati is connected

- Which contacts opened last week's broadcast?
- Assign this batch of contacts to the support team.
- How many contacts do we have per team?

## Connect Wati in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Wati.
2. Optionally set Share with, then press Connect.
3. Paste a Wati API key. One person generates a token in Wati and pastes it once. Everyone else works through Share with, and never sees it.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Wati tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Wati to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Wati to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Wati to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Wati to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Wati tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Wati through Elaichi

### Check how a broadcast performed

Marketing. Ask for the overview of last night's WhatsApp broadcast in Wati, see who was on the recipient list, and turn on automatic retry for the messages that did not go through.

### Estimate campaign cost before sending

Marketing. Get a cost estimate for a planned broadcast and check the credits left on your Wati account before anything goes out.

### Add a new lead after a call

Sales. Create the contact in Wati straight from your notes, fill in attributes like company, region and deal stage, and assign the contact to the right sales team.

### Route customers to the right team

Support. Find a customer's contact in Wati and hand it to the billing, returns or onboarding team so the next WhatsApp message lands with the right people.

### Start a chatbot flow for a customer

Customer success. Kick off an onboarding or feedback chatbot in Wati for a specific contact without opening the app, and confirm which chatbots are available first.

### Clean up contact attributes in bulk

Operations. Ask how many contacts are in Wati, spot the ones with missing or outdated attributes, and update them in one pass instead of one at a time.

## Frequently asked questions

### How do I connect Wati to Claude?

Connect Wati in Elaichi first, which asks for the API key from your Wati account and nothing else. There is no OAuth application to register and no client ID or secret to generate. Then in Claude go to Customize, then Connectors, then Add, and paste the endpoint https://api.elaichi.ai/mcp. Sign in as yourself and your Wati contacts, broadcasts and chatbots are available in the chat.

### Does Wati work with ChatGPT and Cursor as well as Claude?

Yes. Once Wati is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Wati once and every client picks it up.

### What can an AI agent actually do with my Wati data?

With Wati connected, an agent can look up or create contacts, update their attributes one at a time or in bulk, assign contacts to teams, and start a chatbot for a customer. It can also review your broadcasts, pull the overview and recipient list for one, estimate what a broadcast will cost, turn on automatic retry, check remaining credits, and list your channels and what they are allowed to do. Wati has a large set of actions, so short concrete asks like "show me yesterday's broadcast overview" work better than long paragraphs.

### Does connecting Wati give the AI access to my whole account?

Access to Wati follows the person who signed in and the key they connected with, so the agent can only reach the contacts, broadcasts and channels that person can already reach in Wati. Elaichi can narrow that further, for example to reading contacts but not deleting them, and it never widens it. Nothing becomes reachable through Elaichi that was not reachable in Wati already.

### Can my team share one Wati connection?

Yes. One person connects Wati with the API key and shares the connection with a team in Elaichi, and nobody else ever sees or handles the key. Each teammate still signs in as themselves, so every contact update or chatbot start in Wati is logged with their name, not a shared account.

### Can I stop an agent from deleting or changing things in Wati?

Yes. Restrictions in Elaichi apply per action, so you can allow reading Wati contacts and broadcasts while blocking deleting contacts, editing attributes or starting chatbots. A blocked action is never shown to Claude, ChatGPT or Cursor at all, so no prompt, however worded, can reach it.

### What happens to a Wati connection when someone leaves?

Offboarding a person in Elaichi ends their access to Wati at once, in every client they had connected. If they were using a shared Wati connection, it keeps working for everyone else on the team. If you want to remove Wati entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client together.

## All 94 Wati tools

Every tool below is callable through https://api.elaichi.ai/mcp once Wati is connected, subject to the toolbox it is in and the restrictions on the caller.

- **List all Wati contacts** (List). List Wati contacts with pagination. Returns: id, phone, name, bsuid, parentBsuid, username. Max 100 items per page.
- **Get single Wati contact by ID** (Get). Get a single Wati contact by id. The id can be a ContactId, PhoneNumber, BSUID, or Channel:format identifier — the system auto-detects. Returns: id, phone, name, bsuid, parentBsuid, username. Required: id.
- **Create a Wati contact** (Create). Create a new Wati contact with a WhatsApp number and name, optionally including custom parameters. Returns: id, phone, name, bsuid, parentBsuid, username. Required: whatsapp_number, name.
- **Delete a Wati contact by ID** (Delete). Soft-delete a Wati contact by id, removing the contact and its linked records. The id can be a ContactId, PhoneNumber, or Channel:PhoneNumber. Returns: id, status. Required: id.
- **Wati contacts assign teams** (Assign). Assign a Wati contact to one or more teams using a polymorphic target identifier (phone, Contact ID, or BSUID). Returns: id, name, phone, bsuid, parentBsuid, username, customParams. Required: target, teams.
- **Wati contacts get count** (Get). Get the total count of Wati contacts, optionally filtered by a date range using date_from and date_to. Returns: count.
- **Wati contacts list v 1** (List). List Wati contacts with optional filtering by name, custom attributes, and creation date. Returns: id, name, phone, bsuid, parentBsuid, username, customParams.
- **Wati contacts create v 1** (Create). Add a new Wati contact by WhatsApp number with an optional name and custom parameters. Returns: id, name, phone, bsuid, parentBsuid, username, customParams. Required: whatsapp_number.
- **Wati contacts update attributes multi** (Update). Update custom attributes for multiple Wati contacts in a single request. Each contact entry must include at least one of whatsappNumber or target. Returns: id, name, phone, bsuid, parentBsuid, username, customParams. Required: contacts.
- **Wati contacts update attributes** (Update). Update custom attributes for a single Wati contact identified by WhatsApp number, Contact ID, or BSUID. Returns: id, phone, bsuid, parentBsuid, username. Required: whatsapp_number.
- **Wati contacts bulk update** (Update). Update one or more Wati contacts by providing a list of contact updates with polymorphic target identifiers. Returns: id, phone, name, bsuid, parentBsuid, username. Required: contacts.
- **List all Wati broadcasts** (List). List Wati broadcasts (campaigns) filtered by date range and optional channel. Returns: id, created_at, updated_at. Required: date_from, date_to. Max 100 per page.
- **Get single Wati broadcast by ID** (Get). Get a single Wati broadcast (campaign) by id. Returns: id, created_at, updated_at. Required: id.
- **Wati broadcasts list recipients** (List). List recipients of a Wati broadcast (campaign). Returns: id, bsuid, created_at. Required: broadcast_id. Max 100 per page.
- **Wati broadcasts get overview** (Get). Get an overview of Wati broadcasts (campaigns) within a date range, optionally filtered by channel and search string. Returns the broadcast overview. Required: date_from, date_to.
- **Wati broadcasts estimate cost** (Action). Estimate the cost of sending a template broadcast to specified contacts in Wati. Returns the estimated cost. Required: contact_ids.
- **Wati broadcasts enable auto retry** (Enable). Enable auto-retry for a Wati broadcast (campaign) by configuring a retry window after the broadcast ends. Returns a 200 success response on success. Required: broadcast_id. Provide either retryDays or retryUntil in the request body, but not both.
- **List all Wati chatbots** (List). List Wati chatbots available in the Pro plan. Returns: id, created_at, updated_at. Max 100 items per page.
- **Wati chatbots start** (Start). Start a Wati chatbot for a specific recipient (Pro plan). Returns: id. Required: target, chatbot_id. The target parameter auto-detects ContactId, PhoneNumber, BSUID, and Channel-prefixed formats.
- **Wati chatbots list v 1** (List). List existing Wati chatbots using the legacy v1 API. Returns: id, created_at, updated_at.
- **Wati chatbots start v 1** (Start). Start a Wati chatbot using the legacy v1 API. Returns: id. Required: chatbotId and at least one of whatsappNumber or target.
- **Wati account get credits** (Get). Get the authenticated tenant's credit balance in Wati. Returns: eventType, wabaId. No required parameters.
- **List all Wati channels** (List). List Wati channels, excluding the default channel. Returns: id, channelPhoneNumber. The default channel is omitted from the result set. Max 100 items per page.
- **Wati channels get permissions** (Get). Get the permissions for a specific Wati channel by channel identifier. Returns: permissions. Required: channel. The upstream API reference does not enumerate the fields within the permissions object.
- **Wati conversations list messages** (List). List messages in a Wati conversation identified by target. Returns each message with id, text, type, conversationId, statusString, and timestamp. Required: target. Supports ConversationId, PhoneNumber, Contact ID, BSUID, and Channel-scoped formats. Max 100 items per page.
- **Wati conversations send text** (Send). Send a text message to an active Wati conversation. Returns the sent message with id, text, type, conversationId, and statusString. Required: target, text.
- **Wati conversations send file** (Send). Send a file message to an active Wati conversation by uploading a file. Returns the sent message with id, text, type, conversationId, and statusString. Required: target, file.
- **Wati conversations send file via URL** (Send). Send a file message to an active Wati conversation via a URL. Returns the sent message with id, text, type, conversationId, and statusString. Required: target, file_url.
- **Wati conversations send interactive** (Send). Send an interactive message (buttons, list, product, or productList) to an active Wati conversation. Returns the message result with id, type, conversationId, and statusString. Required: target, type.
- **Wati conversations get media** (Get). Download a media file from a Wati conversation message by file ID. Returns the media file as a binary stream. Required: file_id.
- **Wati conversations assign operator** (Assign). Assign an operator to a Wati conversation by target identifier. Returns: result. Required: target, assignee_email. If assignee_email is null the conversation is assigned to the bot operator.
- **Wati conversations send typing indicator** (Send). Send a typing indicator to a Wati conversation. Returns: result. Required: target.
- **Wati conversations add tags** (Add). Apply an existing tag to a Wati conversation by target identifier. Returns: result. Required: target, tag_name. This endpoint does not create new tag definitions.
- **Wati conversations delete tag** (Delete). Remove a specific tag from a Wati conversation. Returns whether the existing conversation-tag binding was removed. Required: target (conversation ID, phone number, Channel:PhoneNumber, BSUID, or Channel:BSUID), tag_name (supports names containing slashes).
- **Wati conversations create group** (Create). Create a WhatsApp group in Wati. Returns: group_id, name, description, owner_email, operator_emails, contact_targets, join_approval_mode, channel. Required: name, owner_email. Group name is limited to 128 characters, description to 2048 characters, and contact_targets to a maximum of 7 entries.
- **Wati conversations delete group** (Delete). Delete a conversation group in Wati by group ID. Returns the deletion result. Required: group_id.
- **Wati conversations create group invite** (Create). Send group invites to contacts for an existing Wati conversation group. Returns: results. Required: group_id.
- **Wati conversations delete group participant** (Delete). Remove operators or contacts from a Wati conversation group. Returns: result. Required: group_id. At least one of operator_emails or contact_targets must be provided in the request body.
- **Wati conversations list groups** (List). List active WhatsApp conversation groups in Wati, optionally filtered by channel or specific group IDs. Returns: id, name, description, owner_email, channel, operator_emails, join_approval_mode. Max 100 groups per page.
- **Wati conversations assign operator v 1** (Assign). Assign an operator by email to a WhatsApp conversation in Wati. If email is omitted, the chat is assigned to the bot. Returns: result. At least one of whatsappNumber or target must be provided.
- **Wati conversations update status v 1** (Update). Update the ticket status of a Wati conversation to OPEN, SOLVED, PENDING, or BLOCK. Returns a 200 success response on success. Required: ticketStatus, channelPhoneNumber. At least one of whatsappNumber or target must be provided; returns 400 if neither is specified.
- **Wati conversations send interactive list v 1** (Send). Send an interactive list message to a WhatsApp contact in Wati. Returns: id, whatsappMessageId, conversationId. At least one of whatsappNumber or target must be provided. List sections support 1-10 rows; header text max 60 chars, body text max 1024 chars.
- **Wati conversations send interactive buttons v 1** (Send). Send an interactive buttons message to a WhatsApp contact in Wati. Returns: id, whatsappMessageId, conversationId. At least one of whatsappNumber or target must be provided. Buttons limited to 1-3; button text max 20 chars, body text max 1024 chars.
- **Wati conversations list messages v 1** (List). List messages for a WhatsApp conversation in Wati by phone number, Contact ID, or BSUID. Returns: id, created, whatsappMessageId, conversationId, ticketId, text, type, data, sourceId, sourceUrl, timestamp, owner, statusString, avatarUrl, assignedId, assigneeId, operatorName, operatorEmail, waId, messageContact, senderName, listReply, interactiveButtonReply, buttonReply, replyContextId,…
- **Wati conversations send session file v 1** (Send). Send a file to an opened WhatsApp session in Wati. Returns: id, created, whatsappMessageId, conversationId, ticketId, text, type, data, sourceId, sourceUrl, timestamp, owner, statusString, avatarUrl, assignedId, assigneeId, operatorName, operatorEmail, waId, messageContact, senderName, listReply, interactiveButtonReply, buttonReply, replyContextId, sourceType, frequentlyForwarded, forwarded,…
- **Wati conversations send session message v 1** (Send). Send a text message to an opened WhatsApp session in Wati. Returns: id, whatsappMessageId, conversationId, text, statusString. Required: whatsapp_number, messageText. The whatsapp_number parameter also accepts Contact ID or BSUID formats; messageText length must be between 0 and 4096 characters.
- **Wati conversations send session file via URL v 1** (Send). Send a file to an opened WhatsApp session in Wati by providing a file URL. Returns the sent message including its id, whatsappMessageId, and conversationId. Required: whatsapp_number (accepts a phone number, Contact ID, or BSUID).
- **Wati conversations send request contact info** (Send). Send an interactive request contact info message in Wati to prompt a recipient to share their contact details. Returns a 200 response confirming the message was accepted by Wati (not yet delivered). The caller must supply either whatsappNumber or target as the recipient identifier.
- **Wati conversations get message by ID** (Get). Get a specific WhatsApp message in Wati by channel phone number and local message ID. Returns the message object including its id, type, text, statusString, owner, and timestamp. Required: phone_number, local_message_id.
- **Wati conversations bulk update** (Update). Update the status of a Wati conversation by target identifier. Returns: result. Required: target, new_status. For statuses other than 'block', the conversation must be within the 24-hour session window and must not already be expired.
- **Get single Wati message template by ID** (Get). Get a Wati message template by id. Returns: id, elementName, language, category, body, header, footer, buttons, buttonsType, type, subCategory, customParams, creationMethod, status. Required: id.
- **List all Wati message templates** (List). List Wati message templates. Returns each template's id, elementName, language, category, body, header, footer, buttons, and status.
- **Wati message templates send** (Send). Send WhatsApp template messages to multiple recipients in Wati. Returns the send result. Required: template_name, broadcast_name, recipients (1–10,000 items, each with at least phone_number or target).
- **Wati message templates schedule** (Action). Schedule template messages for future delivery in Wati. Returns the schedule result including id and attributes. Required: template_name, broadcast_name, scheduled_at, recipients. Recipients array supports 1 to 10,000 items; each recipient must have at least one of phone_number or target.
- **Wati message templates list v 1** (List). List Wati WhatsApp message templates. Returns: id, watiTemplateId, templateId, templateName, elementName, language, category, subCategory, status, type, body, header, footer, buttonsType, buttons, customParams, creationMethod, wabaId, channelId, channelPhoneNumber.
- **Wati message templates list v 2** (List). List WhatsApp message templates in Wati with optional filtering by template name and WhatsApp Business Account ID. Returns: watiTemplateId, templateName, wabaId, language, category, status.
- **Create a Wati message template** (Create). Create a WhatsApp message template in Wati. Returns the created template object including its id, elementName, category, language, body, and header.
- **Wati message templates delete by name** (Delete). Delete a Wati WhatsApp message template by template name within a WhatsApp Business Account. Returns an empty 204 response on success. Required: waba_id, name.
- **Wati message templates delete by name language** (Delete). Delete a WhatsApp template by name and language in Wati. Returns an empty 204 response on success. Required: waba_id, name, language.
- **Wati message templates send v 1** (Send). Send a WhatsApp template message to a single recipient in Wati. Returns a success response confirming the template message was sent. Required: parameters, template_name, broadcast_name, channel_number. At least one of whatsappNumber or target must be provided as a query parameter to identify the recipient (Phone Number, Contact ID, or BSUID).
- **Wati message templates send v 2** (Send). Send a single WhatsApp template message to a recipient in Wati using the v2 Beta endpoint. Returns: id. Required: template_name, broadcast_name, channel_number, and parameters. At least one of whatsappNumber or target must be provided in the query, otherwise returns 400 Bad Request.
- **Wati message templates send batch v 1** (Send). Send WhatsApp template messages to multiple recipients in a single batch in Wati. Returns: id. Required: receivers, template_name, broadcast_name, channel_number (body). Each receiver must include at least one of whatsappNumber or target; returns 400 if neither is provided for any receiver.
- **Wati message templates send batch v 2** (Send). Send WhatsApp template messages to multiple recipients in Wati via the v2 batch endpoint. Returns: id. Required: receivers (each with at least whatsappNumber or target), template_name, broadcast_name, channel_number.
- **Wati message templates send CSV** (Send). Send WhatsApp template messages in Wati by uploading a CSV file of recipient phone numbers. Returns: id. Required: template_name, broadcast_name, whatsapp_numbers_csv.
- **List all Wati calls** (List). List Wati call logs with optional filters for direction, operator, duration, and date range. Returns: call_id, direction, status, from_number, to_number, duration_seconds, timestamp, operator_id, team_name. Max 100 per page.
- **Wati calls get recording** (Get). Get the recording for a specific Wati call. Returns the recording download URL and file metadata. Returns: call_id, url, id, created, whatsappMessageId, conversationId, ticketId, text, timestamp, owner, eventType, statusString, assignedId, operatorName, operatorEmail, waId, senderName, replyContextId, sourceType, frequentlyForwarded, forwarded, channelPhoneNumber, bsuid, parentBsuid, username.…
- **Wati calls get transcript** (Get). Get the speaker-separated transcript for a specific Wati call. Returns: call_id, segments, id, created, whatsappMessageId, conversationId, ticketId, text, timestamp, owner, eventType, statusString, assignedId, operatorName, operatorEmail, waId, senderName, replyContextId, sourceType, frequentlyForwarded, forwarded, channelPhoneNumber, bsuid, parentBsuid, username. Required: call_id.
- **Wati calls get summary** (Get). Get the AI-generated summary for a specific Wati call. Returns: call_id, summary, id, created, whatsappMessageId, conversationId, ticketId, text, timestamp, owner, eventType, statusString, assignedId, operatorName, operatorEmail, waId, senderName, replyContextId, sourceType, frequentlyForwarded, forwarded, channelPhoneNumber, bsuid, parentBsuid, username. Required: call_id.
- **Wati calls batch recordings** (Action). Batch retrieve recordings for multiple Wati calls by their call IDs. Returns an array of recording objects with call_id and url for each requested call. Required: callIds (max 100).
- **Wati calls batch transcripts** (Action). Batch retrieve transcripts for multiple Wati calls by call ID. Returns: call_id, segments, id, created, whatsappMessageId, conversationId, ticketId, text, timestamp, owner, eventType, statusString, assignedId, operatorName, operatorEmail, waId, senderName, replyContextId, sourceType, frequentlyForwarded, forwarded, channelPhoneNumber, bsuid, parentBsuid, username. Required: callIds. Maximum 100…
- **Wati calls batch summaries** (Action). Batch retrieve AI-generated call summaries for multiple Wati calls in a single request. Returns: call_id, summary for each requested call. Required: callIds (max 100).
- **Wati orders update status** (Update). Update the WhatsApp Pay order status of an order in Wati. This endpoint is in Private Beta and the upstream documentation does not enumerate request body or response fields. Returns a success response on completion.
- **Wati orders send details** (Send). Send a WhatsApp Pay order detail message to a customer in Wati. This endpoint is in Private Beta and the upstream documentation does not enumerate request body or response fields. Returns a success response on completion.
- **Get single Wati order by ID** (Get). Get WhatsApp Pay order details of a particular order in Wati by referenceId. Returns the order object including its id and detail attributes. Required: id. This endpoint is in Private Beta.
- **Wati payments get status** (Get). Get WhatsApp Pay payment status information for a particular order in Wati by its referenceId (Private Beta). Returns: referenceId, status. Required: payment_statu_id.
- **List all Wati media** (List). Get a media file by file name in Wati. Returns the media file stream (binary content) for the specified file path. Required: fileName.
- **Wati token rotate** (Rotate). Rotate (block) a Wati API token so it can no longer be used for authentication. Returns a 200 success response. Required: token.
- **Wati phone numbers list v 1** (List). List WhatsApp phone numbers in Wati. Returns: id, wabaId, phoneNumber.
- **Wati phone numbers list v 2** (List). List WhatsApp phone numbers across multiple accounts in Wati. Returns: id, wabaId, phoneNumber.
- **Wati phone numbers get profile** (Get). Get the profile detail of a specific WhatsApp phone number in Wati. Returns: id, wabaId, phoneNumber. Required: waba_id, phone_number.
- **List all Wati business accounts** (List). List WhatsApp Business Accounts configured in Wati. Returns: wabaId, accountReviewStatus.
- **Create a Wati webhook** (Create). Create a webhook endpoint in Wati to receive callback notifications for message and status events. Accepts a callback URL, enabled status, and the event types to capture (e.g. messages received, messages sent, delivery status). Returns the created webhook endpoint including its id, url, status, and events. Required: url.
- **Wati segments create custom** (Create). Create a custom segment in Wati with either static or dynamic refresh behavior. Returns the created segment object including id, name, refreshType, and groups. Required: name, refreshType. For dynamic segments (refreshType 2), groups is required; for static segments (refreshType 1), provide either groups or contactIds.
- **List all Wati segments** (List). List the tenant's contact segments in Wati. Returns each segment with id, name, refreshType, source, and groups. Supports filtering by source type and deleted status.
- **Get single Wati segment by ID** (Get). Get a single Wati segment by id, including its definition and current member count. Returns: id, name, refreshType, source, groups. Required: id.
- **Wati segments evaluate** (Action). Evaluate a segment filter in Wati to preview matching contacts without saving. Returns contacts with id, name, phone, and bsuid. Empty or missing groups return an empty page.
- **List all Wati posts** (List). List posts in Wati filtered by channel and optionally by media type. Returns: post_id, post_author_ig_id, channel, media_type. Required: channel.
- **Get single Wati post by ID** (Get). Get a single post in Wati by id. Returns: post_id, post_author_ig_id, channel, media_type. Required: id, post_author_ig_id.
- **Wati posts list comments** (List). List comments for a Wati post. Returns: id, content, created_at. Required: post_id, post_author_ig_id. Max 100 items per page.
- **Wati posts get unread count** (Get). Get the unread count for a Wati post by post id. Returns: count. Required: post_id.
- **Wati comments create reply** (Create). Reply to a comment on a Wati-connected Instagram post. Returns a 200 OK response confirming the reply was created. Required: comment_id, content, post_author_ig_id.
- **Wati comments send private reply** (Send). Send a private reply to a Wati comment. Returns a 200 OK response on success. Required: comment_id, channel, user_id, user_name, and type.
- **Wati sales analytics get pipeline** (Get). Get the Wati sales pipeline data for a given date range, optionally filtered by specific agents and lead stages. Returns: data. Required: from, to.
- **Wati sales analytics get lead stages** (Get). Get the list of Wati lead stages available in the sales analytics pipeline. Returns: data.
