WhatsApp logo

Integrate WhatsApp with your AI CRM

Enables interaction with customers through the WhatsApp Business API for messaging and automation. Only supports WhatsApp Business accounts, not WhatsApp Personal accounts.

Explore Triggers and Actions

Message Status Updated

Triggers when a WhatsApp message status changes. IMPORTANT LIMITATION: WhatsApp Cloud API does not provide a native polling endpoint for message status. Status updates are ONLY delivered via webhooks in real-time. This trigger cannot directly poll the WhatsApp API for status updates. This trigger will return empty results as WhatsApp does not support this operation. To track message status updates, you must: 1. Set up a webhook endpoint to receive status notifications from WhatsApp 2. Store the webhook data in your own database 3. Use a different mechanism to query your stored webhook data For more information, see: - https://developers.facebook.com/docs/whatsapp/cloud-api/webhooks

TriggerpollTry it

Accept business solution

Accept an invitation for the authenticated partner app to join a Multi-Partner Solution. Requires an eligible Solution Partner, Tech Provider, or Tech Partner and an invited app; the solution must be INITIATED. Review the solution's name and owner/partner permissions before acceptance: accepted solutions cannot then be declined. Acceptance changes partner status to ACCEPTED and may activate the solution once all required partners accept. If the app will access onboarded client data, Meta additionally requires App Review approval for both whatsapp_business_management and whatsapp_business_messaging.

ActionTry it

Accept solution deactivation

Accept a pending Multi-Partner Solution deactivation request. Completes the partner approval workflow: ACTIVE/PENDING_DEACTIVATION becomes DEACTIVATED/NONE. The solution can no longer onboard clients through Embedded Signup. Requires an eligible partner setup and authorization for the solution; the multi-partner guide specifies solution-owner access. Outstanding payments must be settled and active campaigns concluded or transferred. Meta notifies partners and cleans up solution resources and permissions. Returns solution state, optionally restricted by fields, or a success acknowledgment as shown in the multi-partner guide. This does not initiate deactivation.

ActionTry it

Add business phone number

Add a preverified phone number to a partner-owned pool clients can purchase from. This partner inventory endpoint creates a preverified phone number entity for a WhatsApp Business Account. It is not ordinary WABA phone registration or an SMS verification workflow. The number must not already be registered to another WhatsApp Business Account.

ActionTry it

Approve group join requests

Approve pending WhatsApp group join requests by their join request IDs. Use for groups requiring join approval. Approved users can access the group when tapping its invite link. Requires a Groups API-eligible business number. HTTP 200 can include partial failures: inspect approved_join_requests, failed_join_requests, and errors to determine the outcome for each request.

ActionTry it

Assign user

Assign a Facebook user or system user to a WhatsApp Business Account with specified tasks. Grants account access for the supplied permission tasks. Authenticate using a System User access token with admin permissions and provide the intended Facebook user or system user ID. Returns the provider's success flag.

ActionTry it

Block WhatsApp Users

Block one or more WhatsApp users to prevent them from sending messages to your business phone number. Use this action when you need to prevent specific users from contacting your business through WhatsApp. Blocked users will receive an error if they attempt to send messages to your business phone number. This action is irreversible — blocked users cannot unblock themselves and must contact your business directly to be unblocked. Note: You can block a maximum of 100 users per request.

ActionTry it

Configure WhatsApp Conversational Automation

Configure conversational automation for a WhatsApp Business phone number, including welcome-message enablement, custom commands, and ice breaker prompts. The welcome-message setting defaults to false when omitted.

ActionTry it

Create business account

Create a WhatsApp Business Account under a business portfolio. Requires portfolio permissions and an app capable of WABA creation. The new account remains pending until verification completes. Returns the WABA and payment account IDs; does not register a phone number or send messages.

ActionTry it

Create business solution

Create a Multi-Partner Solution between an owner app and a partner app. Requires an eligible Solution Partner, Tech Provider, or Tech Partner setup and an accessible partner app. Assign MESSAGING to exactly one app. Creation initiates the solution and invites the partner; the partner must accept before it can be used with Embedded Signup. Returns the solution ID, not an active solution.

ActionTry it

Create group

Submit creation of a WhatsApp group for a business phone number. Requires an eligible Official Business Account using Cloud API. A successful response acknowledges the creation request; the group_lifecycle_update webhook reports creation success or failure and supplies the invite link on success. Omitted join_approval_mode defaults to auto_approve at WhatsApp.

ActionTry it

Create group invite link

Reset a WhatsApp group's invite link and return its replacement. POST creates a new invite link for an existing group, invalidating all previous invite links. A group's initial link is generated when the group is created. This action rotates that link; it does not retrieve the current link, create a group, or send invitations. Requires an eligible Official Business Account using Cloud API.

ActionTry it

Create message template

Create a new message template for the WhatsApp Business Account. Templates must be approved by WhatsApp before they can be used. Templates are required for marketing messages and messages sent outside the 24-hour window.

ActionTry it

Create obo mobility intent

Create an On-Behalf-Of mobility intent for an eligible WhatsApp Business Account. Requires an authorized solution provider with access to the WABA and source/target solutions in an eligible state. Initiates a transfer, handover, or related approval or cancellation operation. May trigger partner notifications and approval workflows; successful creation does not mean account migration has completed. The legacy OBO account ownership model is deprecated and replaced by partner-initiated account creation; this v23 endpoint is documented, but eligibility must be confirmed with the provider for the account before use.

ActionTry it

Create phone number

Create a phone number registration within a WhatsApp Business Account. Starts onboarding, phone verification (unless pre-verified), and business name review. The account must have an available phone number slot and the number must not already be registered with WhatsApp Business. Can also initiate an on-premises-to-Cloud API migration. Use the phone number GET endpoint to monitor registration status; creation does not imply approval.

ActionTry it

Create QR Code

Create a new QR code with a prefilled message for a WhatsApp Business phone number. Use this action when you need to generate a shareable QR code that customers can scan to start a conversation with your business. When scanned, the QR code will automatically populate the message input field with the specified prefilled message, making it easy for customers to initiate contact. The QR code can be configured to generate an image (PNG or SVG format) which will be available in the response for download and sharing.

ActionTry it

Create schedule

Create a campaign schedule for the connection's WhatsApp Business Account. Supply a template (HSM), audience, WABA customer status ID, name, description, and delivery Unix timestamp. Returns the created schedule ID.

ActionTry it

Create upload session for WhatsApp

Create a resumable upload session for large file uploads to WhatsApp. This action initiates an upload session that allows you to upload large files in chunks. First create a session, then use the session ID and URI to upload file data in subsequent requests. This is useful for uploading videos and large images that exceed the size limits of direct uploads. Use this action when you need to upload media files larger than the direct upload limit, or when you want to implement resumable uploads for reliability.

ActionTry it

Create WhatsApp Flow

Create a WhatsApp Flow for the WhatsApp Business Account bound to the connection. The flow starts in draft and must be configured with Flow JSON and published before use.

ActionTry it

Create WhatsApp Max Price Agreement

Create a max price agreement for WhatsApp marketing messages pricing. Max price agreements set a ceiling on the per-conversation price you'll pay for WhatsApp messaging across your WhatsApp Business Account. This is useful for controlling costs and ensuring predictable pricing for your messaging campaigns. Use this action when you need to set up pricing agreements for marketing, utility, or authentication message types on your WhatsApp Business Account. Once created, the agreement will be applied to all applicable conversations.

ActionTry it

Delete flow

Delete a WhatsApp Flow that is in DRAFT status. Use the Flow ID returned by creating or listing Flows. Published Flows cannot be deleted; only DRAFT Flows are eligible for deletion.

ActionTry it

Delete group

Delete a WhatsApp group and remove all participants, including the business. Use the group ID returned by listing groups or a group creation webhook. Requires an eligible Official Business Account using Cloud API. Final deletion success or failure is reported through the group_lifecycle_update webhook.

ActionTry it

Delete group invite link

Delete an existing WhatsApp group invite link using the Groups invite link API. Requires the group ID and an eligible Official Business Account using Cloud API. Deletes the invite link, not the group. To reset an invite link and obtain a replacement, use the POST invite link operation instead.

ActionTry it

Delete message template

Delete a WhatsApp Business Account message template by name, permanently removing all language variants unless a template ID is supplied to target one variant. Deleted template names cannot be reused for 30 days.

ActionTry it

Delete preverified number

Permanently delete a pre-verified phone number from the pre-verified list. Use the pre-verified node ID supplied by your BSP. Deletion cannot be undone and deleted numbers cannot be recovered. Ensure the number is not in active use before deleting it.

ActionTry it

Delete QR Code

Delete a specific QR code from a WhatsApp Business phone number. Use this action when you need to permanently remove a QR code that is no longer needed. This operation is irreversible — once deleted, the QR code cannot be recovered or recreated with the same identifier. This action permanently deletes the QR code and cannot be undone.

ActionTry it

Delete WhatsApp Media

Delete a WhatsApp media file previously uploaded via the Media API. Use when you need to remove a media object you uploaded earlier (e.g. to free up storage or to retract content). The deletion is permanent — the media_id will no longer be retrievable. Note: media uploaded via Cloud API is normally retained by Meta for 30 days; this operation removes it before the automatic expiry.

ActionTry it

Deprecate flow

Irreversibly retire a published WhatsApp Flow by marking it DEPRECATED. The Flow must already be published. Deprecation prevents the Flow from being sent or opened, allowing its endpoint to be retired. A deprecated Flow cannot be deleted or restored to a previous state. Use WHATSAPP_LIST_FLOWS to find its ID and WHATSAPP_GET_FLOW to check its status before retiring it.

ActionTry it

Deregister WhatsApp Business Phone Number

Deregister a WhatsApp Business phone number from the Cloud API. Use when you need to stop sending messages from a phone number — for example before migrating it to another WhatsApp Business Account, before re-registering with a new PIN, or when retiring the number. After deregistration, the phone number can be registered again via register_phone. Destructive operation: after deregistration the phone number cannot send messages until it is registered again.

ActionTry it

Download media

Download a WhatsApp media asset using its short-lived media URL. First obtain the URL with WHATSAPP_GET_MEDIA_INFO or a media webhook. Returns a downloadable file. URLs expire after five minutes; retrieve a new URL if the provider returns 404. Redirects are not followed.

ActionTry it

Edit message template

Edit an existing WhatsApp message template by ID. Components, when supplied, replace ALL existing components. The management guide permits APPROVED, REJECTED, or PAUSED templates; approved templates cannot change category and are limited to 10 edits per 30 days and one per 24 hours. Rejected or paused templates have unlimited edits. Meta reviews changes to approved or paused templates and automatically re-approves them unless review fails. Eligibility and category-dependent limits are enforced by Meta against the existing template state.

ActionTry it

Get account number

Retrieve a WhatsApp Account Number node's status and configuration. Use an account-number ID from WHATSAPP_GET_PHONE_NUMBERS. Returns account status, verification, quality, messaging tier, and certificates as selected with fields. For phone-number throughput and webhook settings instead, use WHATSAPP_GET_PHONE_NUMBER.

ActionTry it

Get assigned business accounts

Retrieve one page of WhatsApp Business Accounts assigned to a specific Meta user. Returns account IDs and names. Use paging.cursors.after or before with the corresponding request parameter to navigate pages. The connected app must have permission to read the user's assigned accounts.

ActionTry it

Get assigned users

List users assigned to a WhatsApp Business Account in a business context. Returns user details and pagination. Pass an after or before cursor from the response to retrieve another page; this action fetches one page per call.

ActionTry it

Get business bot

Retrieve a WhatsApp Business Bot's prompts, commands and welcome-message setting. Supply the bot ID from Business Manager or bot creation/management APIs. Optionally select the documented node fields with a comma-separated fields string.

ActionTry it

Get Business Encryption

Retrieve the WhatsApp Business public key and its signature verification status. Use this action when you need to obtain the end-to-end encryption public key for a WhatsApp Business phone number. This is useful for setting up secure messaging integrations and verifying the authenticity of messages. The response includes the base64-encoded public key and its signature status.

ActionTry it

Get business portfolio

Retrieve a Meta business portfolio's ID, name and timezone identifier. Supply a business portfolio ID from Meta Business Suite business settings. Optional fields selects the returned information. This reads the portfolio itself, rather than its WhatsApp Business Accounts or phone numbers.

ActionTry it

Get business profile

Get the business profile information for a WhatsApp Business phone number. This includes business details like description, address, website, and contact info.

ActionTry it

Get business profile node

Retrieve a WhatsApp Business Profile node by its profile ID. Returns the profile object directly, including its ID and selected business information. This is GET /{profile-id}, distinct from WHATSAPP_GET_BUSINESS_PROFILE, which reads the /whatsapp_business_profile edge of a phone number and extracts an entry from its data array.

ActionTry it

Get call permissions

Check permission to call one WhatsApp user from a business phone number. Identify the user by phone number or BSUID. Returns their permission state and available calling/permission-request actions with rate limits. Calling must be enabled on the business phone number. This does not request permission or call.

ActionTry it

Get client WhatsApp Business Accounts

Retrieve WhatsApp Business Accounts shared with or managed by a business portfolio. Use this action when you need to get WhatsApp Business Accounts (WABAs) that are client accounts shared with or managed by a specific business portfolio, as opposed to accounts directly owned by that business. This is useful for agencies managing accounts for multiple clients, or for businesses accessing accounts shared with them. The action supports filtering by business type, pagination with cursors, finding specific accounts by ID, and specifying which fields to return.

ActionTry it

Get connected client businesses

Retrieve one page of client businesses connected to a Meta application. Obtain the application ID from your Meta App Dashboard. Returns business IDs and names, with pagination cursors when available. Pass paging.cursors.after as after to fetch the next page, or paging.cursors.before as before to go back. This is application-level client discovery, not the caller's owned-WABA list; use WHATSAPP_GET_OWNED_BUSINESS_ACCOUNTS for that. The provider's app access rules determine which client businesses the connected credential can read.

ActionTry it

Get extended credits

Retrieve one page of a Meta Business Portfolio's extended credit lines. Use this to discover credit line IDs, legal entities and requested balances before a credit-sharing workflow. Supply a Business Portfolio ID. Use the returned before/after cursors to navigate pages and fields to select details. Solution Partners need a system user token whose user has an Admin or Financial Editor role on the portfolio.

ActionTry it

Get flow

Get one WhatsApp Flow's metadata, validation errors, preview, or health. Supply a Flow ID from creation or the owning account's Flow listing. Omit fields for the provider's default metadata, or select fields and expressions to retrieve a preview link or check health for a specific business number. This read operation can also mutate preview links: if the caller requests preview.invalidate(true), it generates a new link and invalidates the previous one. Preview links are shareable without login.

ActionTry it

Get Flow Assets

List assets associated with a WhatsApp Flow. Use this action when you need to retrieve the assets (such as flow.json) that are associated with a WhatsApp Flow. The response includes download URLs for each asset that can be used to fetch the actual content. Note: The download URLs are typically valid for a limited time period and should be used promptly after retrieval.

ActionTry it

Get group

Retrieve metadata about one WhatsApp group by its group ID. Use fields to select group settings, participants, and participant count. Omitting fields leaves the provider's minimal default response unchanged.

ActionTry it

Get Join Requests

Retrieve pending join requests for a WhatsApp group to help manage group membership. Results support before and after cursor pagination, with a page size of 1–100 requests.

ActionTry it

Get max price agreements

Check the max price beta agreement status for a Meta business portfolio. Returns none, pending, or accepted and the signer details when present. Use this to check enrollment in the Marketing Messages API max price beta. The agreement is signed once per Meta Business Suite, including for Solution Partners managing eligible clients. This read does not send an agreement email.

ActionTry it

Get media info

Get metadata and download URL for uploaded WhatsApp media. Returns media ID, download URL (valid for 5 minutes), MIME type, SHA256 hash, and file size. The download URL can be used to retrieve the actual media file.

ActionTry it

Get message history events

Retrieve one page of delivery status events for a Message History ID. Obtain the entry ID from message history APIs, then inspect status transitions, occurrence timestamps, application details, or webhook updates. Use the returned before/after cursors to request additional pages.

ActionTry it

Get message template library

Browse the pre-built message template library for WhatsApp Business Account. This retrieves a list of available templates that can be used for messaging. Use when you need to discover available message templates for sending marketing, utility, or authentication messages to WhatsApp users.

ActionTry it

Get message templates

Get all message templates for the WhatsApp Business Account. Templates are required for sending messages outside the 24-hour window and for marketing/utility messages.

ActionTry it

Get migration intent

Retrieve a WhatsApp Business Account migration intent's status and linked accounts. Use the ID obtained when creating the migration intent to monitor its lifecycle, check migration progress, or inspect its source, destination, and solution.

ActionTry it

Get official business account status

Retrieve Official Business Account (OBA) application status for a business phone number. Use this to monitor verification progress or read its status message. Obtain the phone number ID from WHATSAPP_GET_PHONE_NUMBERS. This only reads status; it does not submit an OBA application.

ActionTry it

Get owned WhatsApp Business Accounts

Retrieve WhatsApp Business Accounts owned by a business portfolio. Use this action when you need to get all WhatsApp Business Accounts (WABAs) that are directly owned by a specific business. This differs from client accounts which are shared with the business. This is useful for managing your own accounts, querying their details, and navigating through paginated results. The action supports filtering by business type, pagination with cursors, finding specific accounts by ID, and specifying which fields to return.

ActionTry it

Get phone number

Retrieve detailed information about a specific WhatsApp Business phone number. Returns phone number details including verification status, quality rating, display number, verified business name, throughput limits, and webhook configuration. Use this to check phone number status, settings, and capabilities. To get available phone number IDs, first call WHATSAPP_GET_PHONE_NUMBERS.

ActionTry it

Get phone numbers

Retrieve a page of phone numbers registered to the connection's WhatsApp Business Account. Results can include phone number IDs, display numbers, verification status, quality ratings, throughput limits, and paging information.

ActionTry it

Get preverified number

Retrieve a pre-verified phone number's verification status, owner, and expiry. Supply the pre-verified number ID from your Business Solution Provider or WHATSAPP_LIST_PREVERIFIED_NUMBERS. Optionally select response fields.

ActionTry it

Get preverified number partners

List partner businesses with access to a pre-verified WhatsApp phone number. Returns one page of Business nodes, with id and name by default. Select additional Business fields with fields; use before or after to navigate pages.

ActionTry it

Get qr code

Retrieve one message QR code by phone number ID and QR code identifier. Returns its code, pre-filled message and deep link in a data array. Request qr_image_url.format(SVG) or qr_image_url.format(PNG) in fields for an image URL. Use WHATSAPP_LIST_QR_CODES to discover existing QR code identifiers.

ActionTry it

Get reach estimate

Estimate WhatsApp marketing message reach and costs at different max prices. Reads historical estimates for a Messaging account onboarded to the Marketing Messages API in an eligible country. This beta planning tool returns delivery and cost ranges, not guarantees of future performance. Supply geographic targeting and a historical lookback; this does not send messages.

ActionTry it

Get solution access token

Retrieve an onboarded client's business integration system user access token. Returns a SENSITIVE CREDENTIAL, not ordinary account information. Use only for an authorized solution partner/admin retrieving a token for a customer who shared a WABA with that Multi-Partner Solution through Embedded Signup. Supply the explicit solution ID and customer's business portfolio ID from account_update; authenticate with the partner's authorized system user token. Meta enforces partner and asset authorization. This does not retrieve the connection's authentication token or grant access to arbitrary businesses. Store the returned client token securely and never log or disclose it.

ActionTry it

Get Subscribed Apps

Get all applications currently subscribed to webhooks for a WhatsApp Business Account. Use this action when you need to retrieve the list of third-party applications or integrations that are subscribed to receive webhook events for a specific WABA.

ActionTry it

Get template status

Get the status and details of a specific message template. This is useful for checking if a template has been approved, rejected, or is still pending review.

ActionTry it

Get upload offset

Get the byte offset of an interrupted resumable upload. Use the session ID returned by WHATSAPP_CREATE_UPLOAD_SESSION, then pass the returned file_offset and remaining bytes to WHATSAPP_UPLOAD_FILE_CHUNK. The Resumable Upload API requires a user access token in the auth header.

ActionTry it

Get WhatsApp Business Account Activities

Retrieve a paginated activity history for the WhatsApp Business Account bound to the connection, including administrative actions such as phone number verifications and user additions.

ActionTry it

Get WhatsApp Business Account Details

Retrieve configuration and status details for the WhatsApp Business Account bound to the connection, including account review status, business verification status, timezone, and ownership details.

ActionTry it

Get WhatsApp Business Compliance Info

Retrieve comprehensive business compliance information for a WhatsApp Business phone number. Returns regulatory and compliance details including entity registration status, grievance officer contact information, and customer care details. Use this action to verify business compliance status, review registered business information, and ensure proper contact details are configured for regulatory requirements. Use when you need to check business registration status, review grievance officer details for legal compliance, or verify customer care contact information for your WhatsApp Business account.

ActionTry it

Get WhatsApp Cloud API Settings

Get Cloud API settings for a WhatsApp Business phone number. Retrieves calling, storage, and payload encryption settings for a specific WhatsApp Business phone number. This includes information about call features, IP addresses for calling, data storage preferences, and encryption settings. Use this action to check the current configuration and capabilities of a phone number's Cloud API integration. Use when you need to verify the current Cloud API settings for a phone number, including calling features, encryption status, and data storage configuration.

ActionTry it

Get WhatsApp Commerce Settings

Get commerce settings for a WhatsApp Business phone number. Retrieves cart and catalog visibility settings for a specific WhatsApp Business phone number. Use this action to check whether shopping cart and product catalog features are enabled for customer interactions. This is useful for managing e-commerce capabilities on your WhatsApp Business account. Use when you need to verify the current commerce configuration of a phone number before enabling shopping features or displaying products to customers.

ActionTry it

Get WhatsApp Message History

Retrieve message history for a WhatsApp Business phone number. Returns a paginated list of messages with their delivery status information, including events like delivery status updates, timestamps, and webhook information. Use this action when you need to track message delivery status, audit message history, or retrieve detailed information about specific messages. Use when you want to check if messages were delivered, track message status changes, or retrieve delivery receipts for WhatsApp Business messages.

ActionTry it

Get WhatsApp Schedules

Retrieve campaign schedules for the WhatsApp Business Account configured on the connection. Results are paginated and can include status, timing, and recurrence information.

ActionTry it

List blocked users

Retrieve one page of blocked users for a WhatsApp Business phone number. Returns data entries with messaging_product and wa_id, plus paging.cursors. Pass the returned after or before cursor to retrieve another page.

ActionTry it

List business accounts

List WhatsApp Business Accounts owned by a business portfolio. Uses Meta's owned_whatsapp_business_accounts edge, the same owned-account resource as WHATSAPP_GET_OWNED_BUSINESS_ACCOUNTS. For accounts shared by other businesses, use WHATSAPP_GET_CLIENT_BUSINESS_ACCOUNTS instead. Use its business_type/find filters and limit/after/before pagination to return one page. Authenticate with a credential authorized to read this portfolio.

ActionTry it

List business solutions

List one page of Multi-Partner Solutions owned by or partnered with a Meta app. Use an Application ID from the App Dashboard and optionally filter by OWNER or PARTNER. Continue with returned paging cursors. This application-level listing differs from WHATSAPP_LIST_SOLUTIONS, which lists solutions that onboarded a WABA. Partner eligibility and access to the application are required by Meta.

ActionTry it

List on behalf requests

List one page of in-progress on-behalf requests for a WhatsApp Business Account. Returns pending business relationship requests and optionally the receiving and requesting businesses. Continue using the returned before/after cursors. The legacy On-Behalf-Of (OBO) ownership model was replaced by partner-initiated account creation: client transfers were due October 1, 2025, with eligible accounts scheduled for batch migration through the end of 2025. This model retirement does not establish removal of this operation; the v23 reference does not mark the operation deprecated. Access requires an authorized partner principal and an accessible WABA with relevant OBO requests.

ActionTry it

List preverified numbers

List pre-verified phone numbers available to a business portfolio. Optionally filter by phone number or verification status and select response fields. Returns one page; pass the returned before or after cursor to navigate pages.

ActionTry it

List qr codes

Get a list of all QR codes for a WhatsApp Business phone number. Use this action when you need to retrieve all message QR codes associated with a specific WhatsApp Business phone number. This is useful for managing existing QR codes, checking their status, or obtaining their image URLs for display. The action supports pagination through the 'after' and 'before' parameters, and can filter results by a specific QR code ID.

ActionTry it

List WhatsApp Flows

List all WhatsApp Flows associated with the WhatsApp Business Account. Returns flow details including name, status, categories, and any validation errors. Use when you need to retrieve all available flows to select one for messaging or to check the status of existing flows.

ActionTry it

List WhatsApp Groups

List all WhatsApp groups associated with a business phone number. Use this action when you need to retrieve the list of groups that a business phone number is a member of. This is useful for managing group memberships, sending messages to groups, or auditing group participation. Results can be paginated using the 'after' and 'before' cursors from the paging response.

ActionTry it

List WhatsApp Solutions

Retrieve a paginated list of Multi-Partner Solutions for the WhatsApp Business Account configured on the connection, including status and owner application information when returned.

ActionTry it

Manage call

Initiate, pre-accept, accept, reject or terminate a WhatsApp WebRTC call. Calling must be enabled on the business number. Outbound connect requires the user's calling permission. Supply an SDP offer for connect or an SDP answer for pre_accept/accept when sending a session. This sends signaling requests; the caller must operate a WebRTC media stack. Pre-accept establishes the media connection; start media only after accept returns 200 OK. Inbound calls must normally be accepted within 30–60 seconds of the Call Connect webhook.

ActionTry it

Migrate flows

Copy up to 100 Flows between WABAs owned by the same Meta business. Copies keep their names and published/draft state, and receive new IDs. Source Flows remain unchanged. A name already present in the destination fails for that Flow while other Flows can succeed; inspect failed_flows even when the request succeeds. Omit source_flow_names to copy all source Flows, subject to the 100-Flow request limit.

ActionTry it

Onboard marketing partners

Send a partner-initiated MM Lite onboarding request to an end business. Validates partner business and app permissions and end business eligibility, identifies eligible shared and on-behalf-of (OBO) WhatsApp Business Accounts, and creates a business agreement request. Business Solution Providers (BSPs) can create OBO WABAs and set mobility intents on eligible OBO WABAs; Technology Partners can only create onboarding requests, without OBO WABA management. Returns the existing request ID when the same partner and end business already have a pending request. Does not send a marketing message.

ActionTry it

Publish WhatsApp Flow

Publish a WhatsApp Flow to make it available for use. Use this action when you have finished designing and testing a WhatsApp Flow and are ready to make it available for users. The flow must be in DRAFT status and pass all validation checks before it can be published. Note: Once published, the flow cannot be unpublished. To make changes, you will need to create a new version of the flow.

ActionTry it

Register WhatsApp Business Phone Number

Register a WhatsApp Business phone number for use with WhatsApp Cloud API. Use when you need to register a phone number that has been added to your WhatsApp Business Account. This action requires setting up a two-step verification PIN (6 digits) for the phone number. The phone number must be verified and properly configured in WhatsApp Manager before registration. Note: Registration is required before you can send messages from this phone number. Once registered, the phone number will be associated with your WhatsApp Business Account.

ActionTry it

Reject business solution

Reject a pending partnership or deactivation request for a Multi-Partner Solution. Requires an eligible partner app with access to the solution. Partnership rejection requires the requesting partner's app ID. Rejection is permanent; rejected requests may need resubmission. An accepted partnership cannot be declined. Returns the rejection status and any available rejection details.

ActionTry it

Reject group join requests

Reject pending requests to join a WhatsApp group, individually or in bulk. Requires a Groups API-eligible business number. Get join request IDs from the group's open join requests or group_participants_update webhooks. Rejected users see the Request to join button again on the invite link. HTTP 200 can include partial failures: inspect rejected_join_requests, failed_join_requests and errors before treating every rejection as successful.

ActionTry it

Reject solution deactivation

Reject a pending Multi-Partner Solution deactivation request. Keeps the solution ACTIVE and clears PENDING_DEACTIVATION to NONE, preserving its configuration, permissions, and ability to onboard clients. Partners are notified of the rejection. Requires an eligible solution partnership and a pending deactivation request; the multi-partner guide specifies solution-owner access. Returns solution state, optionally restricted by fields.

ActionTry it

Remove Assigned User from WhatsApp Business Account

Remove an assigned user's access from the WhatsApp Business Account bound to the connection. The user must be reassigned to regain access.

ActionTry it

Remove group participants

Request removal of one to eight WhatsApp group participants. Removed participants cannot rejoin via an invite link. Requires a Groups API-eligible business number and its whatsapp_business_messaging permission. HTTP 200 means the request was processed, not that every removal succeeded. Inspect any returned errors and group_participants_update webhooks for final per-participant outcomes; this action does not wait for webhooks.

ActionTry it

Request preverified number code

Request a verification code for a business-owned pre-verified phone number. Delivers a code using IVR, SMS, or VOICE during pre-verified number onboarding. Use the pre-verified phone number node ID, not an ordinary phone number ID. Submit the received code separately with WHATSAPP_VERIFY_PREVERIFIED_NUMBER_CODE. This action requests delivery; it does not complete verification.

ActionTry it

Request solution deactivation

Ask the partner to deactivate an owned WhatsApp Multi-Partner Solution. The operation reference allows ACTIVE or INITIATED solutions; the guide describes owner-created ACTIVE solutions. Meta validates eligibility. Processing is asynchronous: the solution enters PENDING_DEACTIVATION and the partner is notified. It can still onboard clients until the partner accepts. Rejection leaves it ACTIVE; acceptance sets DEACTIVATED and stops client onboarding. Deactivated solutions cannot be edited. This submits the request only and does not accept the request or confirm final deactivation.

ActionTry it

Request verification code

Request an SMS or voice verification code for a WhatsApp Business phone number. Sends a code to the phone number as the first step of phone number verification. Submit the received code separately with WHATSAPP_VERIFY_CODE. This action does not verify the code or register the phone number for Cloud API messaging.

ActionTry it

Send contacts

Send contacts WhatsApp number. Note: The message will be delivered to the recipient only if they have initiated a conversation first.

ActionTry it

Send encrypted message

Send a caller-encrypted WhatsApp message and return the encrypted response. Requires a registered business phone number with payload encryption enabled via POST /<Phone-Number-ID>/settings, and caller-side encryption/decryption with externally managed keys. Supply a pre-encrypted JWE containing the original /messages payload. Sending is irreversible. This action neither performs local cryptography nor decrypts the response or confirms delivery. Successful responses are encrypted; provider errors can be unencrypted.

ActionTry it

Send interactive buttons

Send an interactive button message with up to 3 reply buttons to a WhatsApp user. Interactive button messages allow recipients to quickly respond by tapping predefined buttons. Perfect for yes/no questions, multiple choice selections, quick actions, or call-to-action scenarios. IMPORTANT REQUIREMENTS: - The recipient must be a registered WhatsApp user - The recipient must have messaged your business first within the last 24 hours (WhatsApp's customer service window) - You can include 1-3 buttons per message - Each button can have a title (max 20 chars) and unique ID (max 256 chars) Use cases: Customer service menus, appointment confirmations, feedback collection, product selections.

ActionTry it

Send interactive list

Send an interactive list message to a WhatsApp number. List messages display a menu of options organized into sections. Users tap a button to view the list and select one option. Perfect for product catalogs, service menus, or guided workflows. Supports up to 10 sections with up to 10 items per section (100 total options). Note: Recipients must have messaged you first within the last 24 hours to receive this message.

ActionTry it

Send location

Send a location message with coordinates, name, and address to a WhatsApp user. This action allows you to share location information through WhatsApp Business API. The location message includes latitude/longitude coordinates, a location name, and address. Important: The recipient must have an active WhatsApp account. Additionally, you can only send free-form messages (like location messages) within the 24-hour customer service window after the recipient has initiated contact with your business. Outside this window, you must use approved message templates. Common error codes: - 133010: Recipient's phone number doesn't have a WhatsApp account - 131026: Message undeliverable (recipient may have blocked your business number) - 131047: Re-engagement message (outside 24-hour window, need to use template)

ActionTry it

Send marketing message

Send an approved marketing template through the Marketing Messages API. Requires MM onboarding, a registered business phone number and an approved marketing template. Cloud API fallback depends on product_policy and account settings. Accepts phone numbers or BSUIDs; acceptance does not imply delivery.

ActionTry it

Send media

Send a media message to a WhatsApp number using a media URL. The recipient must have texted first to receive the media.

ActionTry it

Send media by

Send media using a media ID from previously uploaded media. This is more efficient than sending media by URL as the media is already on WhatsApp servers. Use upload_media action first to get the media ID. Note: The media will be delivered to the recipient only if they have texted first.

ActionTry it

Send message

Send a text message to a WhatsApp user. Important: The recipient phone number must be registered on WhatsApp and must have initiated a conversation with your business within the last 24 hours, OR you must use a template message (see WHATSAPP_SEND_TEMPLATE_MESSAGE) for the first message outside the 24-hour window. For test accounts, recipient numbers must be added to the test recipient list in Meta Business Suite before sending messages.

ActionTry it

Send template message

Send a template message to a WhatsApp number.

ActionTry it

Set business encryption

Set the RSA public key used to encrypt WhatsApp message payloads and data channel requests. Upload a PEM public key for a WhatsApp Business phone number. Only one public key is active per phone number; uploading a new key replaces the previous key. Keep the corresponding private key outside this action.

ActionTry it

Set obo mobility intent

Set OBO mobility intent for a Multi-Partner Solution associated with a client WABA. For authorized solution providers/partners managing client accounts. Establishes On-Behalf-Of relationships and configures provider access and messaging mobility; settings may take a few minutes to propagate. The legacy OBO account ownership model is retired and replaced by partner-initiated account creation, but this operation remains in the official v23 spec. Confirm account eligibility with Meta; its presence in the spec does not guarantee availability for new OBO onboarding. Returns the provider's success flag, intent ID and any failure explanation.

ActionTry it

Set solution migration intent

Set migration intent for a Multi-Partner Solution associated with a WABA. Requires an authorized solution partner with access to the WABA and eligible source/target solutions. Initiate, schedule, confirm, or cancel migration; Meta validates eligibility and pending state. This can change partner arrangements, trigger partner notifications, and execute migration at the scheduled time or immediately upon confirmation. A successful response records the intent, not proof that migration completed.

ActionTry it

Set WhatsApp Two-Step Verification PIN

Set or reset the two-step verification PIN for a WhatsApp Business phone number. Use when you need to change the 6-digit PIN that protects a registered phone number — for example after onboarding a new number, rotating credentials, or before re-registering. The initial PIN is set via register_phone; this action updates the PIN on an already-registered phone number. Endpoint: `POST /{phone-number-id}` with body `{"pin": "XXXXXX"}`. Meta's two-step-verification reference page is SPA-rendered, so the operation is documented as a property update on the phone-number node itself rather than a dedicated sub-path.

ActionTry it

Share preverified numbers

Share a number from a business's pre-verified phone number pool with a partner. Requires ownership or sharing rights to the pre-verified number and a valid partner business accessible to the requesting app. The number retains its original ownership. Business relationship and access-control policies must allow the share; this action does not assign business roles or verify a number.

ActionTry it

Subscribe to WABA Webhooks

Subscribe your application to webhook notifications for the WhatsApp Business Account configured on the connection, using the configured app webhook settings.

ActionTry it

Unblock WhatsApp Users

Unblock WhatsApp users so they can contact the business phone number again. Sends a DELETE with a JSON body. Inspect removed_users, failed_users and error: a successful HTTP response can contain partial or complete per-user failures.

ActionTry it

Unsubscribe from WABA Webhooks

Unsubscribe your application from webhook events for the connection-bound WhatsApp Business Account, for example when cleaning up an integration. If an account ID is supplied, it must match the connection. A success result does not always confirm that the subscription was removed.

ActionTry it

Update business account settings

Update a WhatsApp Business Account's name or timezone identifier. Supply the WABA ID from WhatsApp Manager or the business management APIs. Omitted settings are left unchanged. This operation updates account settings, not WhatsApp Flow metadata.

ActionTry it

Update business compliance info

Create or update regulatory compliance information for a WhatsApp Business phone number. Supply legal entity details and grievance officer and customer care contacts. Discover the phone number ID with WHATSAPP_GET_PHONE_NUMBERS.

ActionTry it

Update business profile node

Update a WhatsApp Business Profile directly by its profile node ID. Sends POST /{profile-id} with business details, contact information, industry vertical, websites, or a previously uploaded profile picture handle. Distinct from WHATSAPP_UPDATE_BUSINESS_PROFILE, which updates the /{phone-number-id}/whatsapp_business_profile edge. Returns the provider's optional profile ID and success flag without synthesizing success.

ActionTry it

Update Flow JSON

Update the Flow JSON configuration for an existing WhatsApp Flow by uploading a file or inline JSON. The response may include validation errors; JSON error responses can also be returned without raising an HTTP error.

ActionTry it

Update group

Update an existing WhatsApp group's subject, description, or photo. Requires an eligible Official Business Account using Cloud API. Omitted settings are not sent. Supplying file uploads the photo using multipart form data; otherwise settings are sent as JSON. HTTP acceptance does not establish that every setting changed: inspect group_settings_update webhooks for success, partial failure, or total failure.

ActionTry it

Update official business account status

Submit OBA application information or update application data for a phone number. Sends business website, country, and optional notability information to the Official Business Account application/update endpoint. This does not directly set approval status. Although the reference mentions withdrawal and resubmission, it documents no intent selector; this action exposes only the documented payload. Meta enforces eligibility and application-state transitions.

ActionTry it

Update WhatsApp Business Profile

Update WhatsApp Business Profile information including business details, contact information, and profile settings. Use when you need to modify the business profile settings such as the about text, business category, address, description, email, and website URLs associated with a WhatsApp Business phone number. Note: Only fields that are provided will be updated. To clear an optional field, pass an empty string for text fields or an empty array for websites.

ActionTry it

Update WhatsApp Cloud API Settings

Update Cloud API settings for a WhatsApp Business phone number. Use this action to modify calling features, user identity verification settings, payload encryption configuration, and data storage preferences for a specific WhatsApp Business phone number. Note: Only one setting type can be updated per request (calling, user_identity_change, payload_encryption, or storage_configuration). The API uses a oneOf schema, so including multiple setting types will result in an error.

ActionTry it

Update WhatsApp commerce settings

Set or update commerce settings for a WhatsApp Business phone number. Use this action to enable or disable shopping cart functionality and product catalog visibility for a specific WhatsApp Business phone number. The settings control whether customers can browse products and make purchases directly within WhatsApp. Note: At least one setting (is_cart_enabled or is_catalog_visible) should be provided in the request for meaningful updates.

ActionTry it

Update WhatsApp Flow Metadata

Update metadata for a WhatsApp Flow including its name, categories, and endpoint URI. Use when you need to modify the configuration or settings of an existing WhatsApp Flow.

ActionTry it

Upload file chunk

Upload raw file bytes to a resumable upload session and return its file handle. Create the session first with WHATSAPP_CREATE_UPLOAD_SESSION. To resume, retrieve WHATSAPP_GET_UPLOAD_OFFSET and supply the remaining bytes with that offset. The connected account must provide the user access token required by the Resumable Upload API.

ActionTry it

Upload media

Upload media files (images, videos, audio, documents, stickers) to WhatsApp servers. The uploaded media gets a media ID that can be used in send_media or other messaging actions. Supported formats: - Images: JPEG, PNG (max 5MB) - Videos: MP4, 3GPP (max 16MB) - Audio: AAC, M4A, AMR, MP3, OGG (max 16MB) - Documents: PDF, DOC, DOCX, PPT, PPTX, XLS, XLSX (max 100MB) - Stickers: WebP (max 500KB, 512x512 pixels)

ActionTry it

Upsert message template

Create or update a message template for the WhatsApp Business Account. Use this action when you need to create a new message template or update an existing one with the same name. If a template with the same name and language exists, it will be updated. Otherwise, a new template will be created. Templates must be approved by WhatsApp before they can be used. Templates are required for marketing messages and messages sent outside the 24-hour window.

ActionTry it

Verify Phone Number OTP Code

Verify the OTP code for a pre-verified phone number. Use when you need to complete phone number verification by submitting the received OTP code. The phone number must first be added to your WhatsApp Business Account and a verification code must have been requested through the setup process. This action completes the verification by submitting the 6-digit code received via SMS or voice call. Note: This action verifies a phone number that has been pre-verified and is awaiting OTP confirmation.

ActionTry it

Verify preverified number code

Verify an OTP for a pre-verified phone number to complete verification. First request a code with WHATSAPP_REQUEST_PREVERIFIED_NUMBER_CODE, then submit the received code with the same pre-verified phone number node ID. This updates the number's verification status. Expired, invalid, or reused codes fail.

ActionTry it

Who Am I

Return the identity (name) of the connected WhatsApp (Meta) account.

ActionTry it

How the WhatsApp integration works

The WhatsApp integration connects your Dench AI CRM directly to WhatsApp, so agents can read and act on your WhatsApp data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

127 actions are available for agents to invoke on your behalf, and 1 trigger can start a Dench automation the moment something changes in WhatsApp. Every call runs through WhatsApp's own authorization, scoped to the account you connect.

Set up WhatsApp in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find WhatsApp and click Connect — you'll authorize access through WhatsApp's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use WhatsApp in chat, or wire a WhatsApp trigger into an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the WhatsApp integration work with Dench?

The Dench WhatsApp integration connects your AI CRM to WhatsApp, so AI agents can work with your WhatsApp data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with WhatsApp via Dench?

The WhatsApp integration currently exposes 127 actions, including Accept business solution, Accept solution deactivation, Add business phone number, Approve group join requests, Assign user, and Block WhatsApp Users. Agents invoke them on your behalf from chat or from automations.

Can Dench react to events in WhatsApp automatically?

Yes. The WhatsApp integration provides 1 trigger — such as Message Status Updated — that can start a Dench automation the moment something happens in WhatsApp.

Do I need to write code to connect WhatsApp to Dench?

No. You connect WhatsApp from your Dench workspace using WhatsApp's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the WhatsApp integration secure?

Connections are authorized through WhatsApp's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the WhatsApp connection from your workspace settings at any time.

WhatsApp | Dench AI CRM