Skip to content

Marketing Automation

Wati
API integration

Ship Marketing Automation features without building the integration. Full Wati API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Wati

Use Cases

Why integrate with Wati

Common scenarios for SaaS companies building Wati integrations for their customers.

01

Add WhatsApp as a native channel in your CRM

Let sales reps send template messages, reply within the 24-hour window, and log full WhatsApp threads against contacts and deals without leaving your CRM. Wati handles the BSP layer while your product owns the workflow.

02

Power event-driven WhatsApp campaigns from your marketing platform

Trigger Meta-approved templates on state changes like abandoned carts, order shipped, or trial expiring. Your users get WhatsApp broadcast capability without dealing with template approvals or session-window logic themselves.

03

Route WhatsApp conversations into your helpdesk

Convert inbound WhatsApp messages into tickets, assign them to agents, and push agent replies back out as WhatsApp messages. Ideal for support platforms wanting parity with email and chat channels.

04

Sync WhatsApp call intelligence into deal records

For sales enablement and revenue intelligence tools, pull AI-generated call summaries and transcripts from WhatsApp Business Calling directly into your activity timeline so reps never lose context.

05

Enable appointment and booking reminders for vertical SaaS

Practice management, scheduling, and EdTech platforms can schedule WhatsApp reminders with interactive Confirm/Reschedule buttons, cutting no-shows without building WhatsApp infrastructure in-house.

What You Can Build

Ship these features with Truto + Wati

Concrete product features your team can ship faster by leveraging Truto’s Wati integration instead of building from scratch.

01

Template message dispatcher

List available Wati templates in your UI and send them with dynamic variables via wati_message_templates_send, including scheduled sends and CSV-based batch dispatch.

02

Embedded WhatsApp inbox

Render live conversation threads using wati_conversations_list_messages and let users reply with text, files, interactive buttons, or list messages directly from your product.

03

Bi-directional contact and attribute sync

Keep CRM contacts, tags, and custom attributes aligned with Wati using bulk update endpoints so segmentation and broadcasts always reflect the freshest data in your system.

04

Real-time inbound message handling via webhooks

Register webhooks through create_a_wati_webhook to receive incoming messages, delivery receipts, and status updates so your UI reacts instantly to customer activity.

05

Agent assignment and ticket status control

Route conversations to specific operators and update ticket status to OPEN, PENDING, or SOLVED from your helpdesk UI using the conversation assignment and status endpoints.

06

WhatsApp call transcript and summary ingestion

Fetch individual or batched call recordings, transcripts, and AI summaries and attach them to deals, tickets, or patient records in your platform.

SuperAI

Wati AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_wati_contacts

List Wati contacts with pagination. Returns: id, phone, name, bsuid, parentBsuid, username. Max 100 items per page.

get_single_wati_contact_by_id

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

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

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 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 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 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 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 a single Wati broadcast (campaign) by id. Returns: id, created_at, updated_at. Required: id.

wati_broadcasts_list_recipients

List recipients of a Wati broadcast (campaign). Returns: id, bsuid, created_at. Required: broadcast_id. Max 100 per page.

wati_broadcasts_get_overview

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

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 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 Wati chatbots available in the Pro plan. Returns: id, created_at, updated_at. Max 100 items per page.

wati_chatbots_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 existing Wati chatbots using the legacy v1 API. Returns: id, created_at, updated_at.

wati_chatbots_start_v_1

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 the authenticated tenant's credit balance in Wati. Returns: eventType, wabaId. No required parameters.

list_all_wati_channels

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

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 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 a typing indicator to a Wati conversation. Returns: result. Required: target.

wati_conversations_add_tags

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

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 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 a conversation group in Wati by group ID. Returns the deletion result. Required: group_id.

wati_conversations_create_group_invite

Send group invites to contacts for an existing Wati conversation group. Returns: results. Required: group_id.

wati_conversations_delete_group_participant

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 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 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 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 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 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 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 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 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 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 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 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 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 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 Wati message templates. Returns each template's id, elementName, language, category, body, header, footer, buttons, and status.

wati_message_templates_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

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

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

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

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

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 (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 WhatsApp phone numbers in Wati. Returns: id, wabaId, phoneNumber.

wati_phone_numbers_list_v_2

List WhatsApp phone numbers across multiple accounts in Wati. Returns: id, wabaId, phoneNumber.

wati_phone_numbers_get_profile

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 WhatsApp Business Accounts configured in Wati. Returns: wabaId, accountReviewStatus.

create_a_wati_webhook

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 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 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 a single Wati segment by id, including its definition and current member count. Returns: id, name, refreshType, source, groups. Required: id.

wati_segments_evaluate

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 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 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 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 the unread count for a Wati post by post id. Returns: count. Required: post_id.

wati_comments_create_reply

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 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 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 the list of Wati lead stages available in the sales analytics pipeline. Returns: data.

Why Truto

Why use Truto’s MCP server for Wati

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Wati in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Wati account

Use Truto’s frontend SDK to connect your customer’s Wati account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Wati

Truto’s Proxy API is a 1-to-1 mapping of the Wati API. You call us, we call Wati, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Wati’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Wati on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does authentication work for connecting a customer's Wati account?

Wati uses API access tokens scoped to a tenant. Your end users generate a token in their Wati workspace and provide it during the connection flow in your app; Truto stores and injects it on every request. Truto also exposes wati_token_rotate so tokens can be rotated without disrupting the integration.

Can we send WhatsApp messages at any time, or are there restrictions?

Meta enforces a 24-hour customer service window. Within it, you can send free-form text, media, and interactive messages via the wati_conversations_send_* endpoints. Outside it, you must use pre-approved templates via wati_message_templates_send or its batch/scheduled variants.

How do we keep contact data fresh between our product and Wati?

Use wati_contacts_update_attributes and wati_contacts_update_attributes_multi for bulk attribute injection, and subscribe to webhooks via create_a_wati_webhook for real-time updates on inbound activity. For full reconciliation, wati_contacts_list_v_1 and wati_contacts_get_count support periodic syncs.

Does the integration support custom contact attributes?

Yes. Wati supports custom attributes on contacts, and Truto exposes wati_contacts_update_attributes and wati_contacts_update_attributes_multi for writing them individually or in bulk, which then feed into Wati's segmentation via wati_segments_create_custom.

Can we access WhatsApp Business Calling data?

Yes. Truto exposes list_all_wati_calls plus per-call endpoints for recordings, transcripts, and summaries, as well as batch variants (wati_calls_batch_recordings, wati_calls_batch_transcripts, wati_calls_batch_summaries) for efficient backfill into CRM or revenue intelligence products.

How are pagination and rate limits handled?

Truto normalizes Wati's pagination across list endpoints so you receive a consistent cursor-based response regardless of the underlying API version. Rate limit handling, retries, and backoff are managed by Truto, so your integration code doesn't need Wati-specific quirks.

Wati

Get Wati integrated into your app

Our team understands what it takes to make a Wati integration successful. A short, crisp 30 minute call with folks who understand the problem.