> This page is for Agent Handler.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.merge.dev/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.merge.dev/_mcp/server.

# WhatsApp

**Authentication:** OAuth or access token. See [Magic Link](/merge-agent-handler/features/magic-link) for the runtime auth flow, or [Application credentials](/merge-agent-handler/admin-setup/add-oauth-credentials) to bring your own OAuth app.

## Sample use cases

* Send an approved order-confirmation template to a customer's phone number
* Create a new message template for appointment reminders
* Report conversation analytics for the last 30 days by phone number

## Available Tools

#### get_conversation_analytics

Get WhatsApp conversation analytics (volume and cost per category/direction/type) for a time range. start and end...

#### get_pricing_analytics

Get WhatsApp pricing analytics (cost and volume per pricing category and type) for a time range. Granularity...

#### list_blocked_users

List WhatsApp users blocked from messaging the credential's phone number. Cursor-paginated.

#### block_users

Block one or more WhatsApp users from messaging the credential's phone number. Pass user phone numbers in E.164...

#### unblock_users

Unblock one or more previously-blocked WhatsApp users on the credential's phone number.

#### get_business_profile

Get the WhatsApp business profile for the credential's phone number. Returns about, address, description, email...

#### update_business_profile

Update the WhatsApp business profile (about, address, description, email, websites, vertical). Only provided fields...

#### upload_media

Upload a media file (image/video/audio/document/sticker, up to 100MB) to WhatsApp. Returns a media_id usable in...

#### get_media_url

Get a signed download URL and metadata for a WhatsApp media ID. The URL is valid for \~5 minutes and must be fetched...

#### delete_media

Delete a WhatsApp media object by ID. Deletion is permanent.

#### send_text_message

Send a plain-text WhatsApp message. The recipient must have messaged the business in the last 24 hours, or you must...

#### send_media_message

Send a WhatsApp media message (image, video, audio, document, or sticker). Provide either media_id (from...

#### send_location_message

Send a location pin as a WhatsApp message. Requires latitude and longitude; name and address are optional.

#### send_contacts_message

Send one or more vCard-style contacts as a WhatsApp message. Each contact must have a 'name' object...

#### send_template_message

Send an approved WhatsApp template message. Use list_message_templates to find valid names and languages. Components...

#### send_interactive_message

Send a WhatsApp interactive message (reply buttons, list picker, CTA URL button, flow, catalog, product). Pass the...

#### send_reaction

React to an incoming WhatsApp message with a single emoji. Pass an empty emoji string to remove an existing reaction.

#### mark_message_as_read

Mark an incoming WhatsApp message as read. Optionally also send a typing indicator so the recipient sees that the...

#### list_phone_numbers

List all WhatsApp phone numbers on the WhatsApp Business Account. Cursor-paginated; pass page_info.cursor as 'after'...

#### get_phone_number

Get details of a WhatsApp phone number. Defaults to the credential's configured phone number ID. Returns...

#### list_message_templates

List message templates on the WhatsApp Business Account. Use name_or_content to search by substring; name is...

#### get_message_template

Get a single WhatsApp message template by ID. Use list_message_templates to find template IDs.

#### create_message_template

Create a WhatsApp message template (AUTHENTICATION, MARKETING, or UTILITY). Template goes through WhatsApp review\...

#### update_message_template

Edit an existing WhatsApp message template. Edit rules vary by template status and field. Approved templates may be...

#### delete_message_template

Delete a WhatsApp message template. Without hsm_id, deletes every language variant of the named template. Pass...

#### get_waba

Get WhatsApp Business Account details: name, currency, timezone, status, template namespace, verification status...

#### list_subscribed_apps

List apps subscribed to webhooks on the WhatsApp Business Account. Useful for confirming which Meta apps receive...