Enables interaction with customers through the WhatsApp Business API for messaging and automation. Only supports WhatsApp Business accounts, not WhatsApp Personal accounts.
Enables interaction with customers through the WhatsApp Business API for messaging and automation. Only supports WhatsApp Business accounts, not WhatsApp Personal accounts. On Nagent, WhatsApp is exposed as a fully-configurable phone & sms integration that any agent can call — 17 actions, 1 trigger, and OAUTH2, API_KEY authentication. No code is required to wire WhatsApp into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use WhatsApp to automate the kinds of tasks phone & sms teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
WhatsApp also supports 1 event trigger ("Message Status Updated"), which lets your Nagent agents react to WhatsApp activity in real time — for example, kicking off a downstream workflow the moment a relevant event fires.
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire WhatsApp into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Triggers are the entry points of agents built on Nagent — pick one to fire your agent the moment a WhatsApp event happens. Webhook triggers run instantly; poll triggers check on an interval you configure. Each shows its configuration parameters and the payload your agent receives.
WHATSAPP_MESSAGE_STATUS_UPDATED_TRIGGERTriggers 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
Configuration
Periodic Interval to Check for Updates & Send a Trigger in Minutes
Maximum number of status updates to retrieve in each poll (1-100).
The Meta-assigned numeric ID for the WhatsApp Business phone number to monitor. This is NOT the actual phone number itself - it is a numeric ID (e.g., '712594308615206') assigned by Meta. Obtain it using WHATSAPP_GET_PHONE_NUMBERS action which returns the 'id' field for each phone number.
Optional: Filter by specific status. Valid values: 'sent', 'delivered', 'read', 'failed'. Leave empty to monitor all status changes.
Payload
Type of event that occurred
The phone number ID that sent the message
The message status update information
Every operation an agent can call against WhatsApp, with input parameters and output schema. Drop these into any step of an agent built in Helix.
WHATSAPP_CREATE_MESSAGE_TEMPLATECreate 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.
Input parameters
Unique template name. Must be lowercase, alphanumeric with underscores only. Maximum 512 characters. Example: 'order_confirmation_v1'.
Template category. AUTHENTICATION: for OTP/verification codes. MARKETING: for promotional content (requires opt-in). UTILITY: for transactional updates like order status, appointments.
Template language code in ISO 639-1 format with country code. Examples: 'en_US' (US English), 'es_ES' (Spanish), 'pt_BR' (Brazilian Portuguese).
List of template components. Must include at least one BODY component. Can optionally include one HEADER and one BUTTONS component.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_DELETE_MESSAGE_TEMPLATEDelete a message template from the WhatsApp Business Account by name. This permanently removes the template and it cannot be recovered. When you delete a template by name, all templates with that name across all languages will be deleted. Names of deleted templates cannot be reused for 30 days. Important: Only delete templates that are no longer needed, as this operation is irreversible.
Input parameters
The name of the template to delete. This will delete all templates with this name across all languages.
WhatsApp Business Account ID to target. If not provided, the first WABA owned by the business is used.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_BUSINESS_PROFILEGet the business profile information for a WhatsApp Business phone number. This includes business details like description, address, website, and contact info.
Input parameters
Comma-separated list of fields to retrieve. Default includes all available fields.
The phone number ID to get the business profile for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_MEDIA_INFOGet 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.
Input parameters
The WhatsApp media ID to retrieve information for (obtained from media upload or webhook notifications).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_MESSAGE_TEMPLATESGet all message templates for the WhatsApp Business Account. Templates are required for sending messages outside the 24-hour window and for marketing/utility messages.
Input parameters
Cursor for pagination to get templates after this cursor.
The maximum number of templates to retrieve. Default is 25.
Filter by template status: APPROVED, PENDING, REJECTED, DISABLED, PAUSED, LIMIT_EXCEEDED.
Optional: WhatsApp Business Account ID to query. If not provided, uses the waba_id from your connection configuration. Only provide this if you need to override the configured WABA ID.
Filter by template category: AUTHENTICATION, MARKETING, UTILITY.
Filter by language code (e.g., 'en_US', 'es_ES').
Filter templates by name or content substring.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_PHONE_NUMBERRetrieve 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.
Input parameters
Comma-separated list of fields to retrieve. Available fields: id, display_phone_number, verified_name, code_verification_status, quality_rating, platform_type, throughput, webhook_configuration, last_onboarded_time. Default retrieves all available fields.
The WhatsApp Business phone number ID (e.g., '901139066420489'). Get this from the WHATSAPP_GET_PHONE_NUMBERS action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_PHONE_NUMBERSRetrieve all phone numbers registered to your WhatsApp Business Account. Returns phone number IDs, display numbers, verification status, quality ratings, and messaging throughput limits. Use the phone number ID from the response to send WhatsApp messages via other API actions.
Input parameters
Maximum number of phone numbers to return per page (1-100). Use lower values for faster responses or when you only need a few numbers.
Optional: WhatsApp Business Account ID to query. If not provided, uses the waba_id from your connection configuration. Only provide this if you need to override the configured WABA ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_GET_TEMPLATE_STATUSGet 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.
Input parameters
Comma-separated list of fields to retrieve. Valid fields include: id, name, status, category, language, components, previous_category, parameter_format, quality_score, rejected_reason. If not specified, returns all default fields.
The ID of the template to check the status for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_CONTACTSSend contacts WhatsApp number. Note: The message will be delivered to the recipient only if they have initiated a conversation first.
Input parameters
List of contacts to send. Each contact requires a name object with formatted_name, first_name, and last_name. Optional fields: addresses, birthday (YYYY-MM-DD), emails, org (company/department/title), and phones.
The phone number to send the contacts to, including the country code without the + sign.
The phone number ID from which to send the contacts.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_INTERACTIVE_BUTTONSSend 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.
Input parameters
List of 1-3 interactive buttons. Each button must have a unique ID and title.
Main message text explaining the purpose or question for the buttons (maximum 1024 characters).
Recipient's phone number in international format without the + sign (e.g., '14155552345' for a US number). The recipient must be a registered WhatsApp user and must have messaged your business within the last 24 hours.
Optional footer text displayed at the bottom of the message, below the buttons (maximum 60 characters).
Optional header text displayed at the top of the message (maximum 60 characters).
The WhatsApp Business phone number ID from which to send the message. Get this from the WHATSAPP_GET_PHONE_NUMBERS action.
Optional message ID to reply to. Use this to create a threaded conversation by replying to a specific previous message.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_INTERACTIVE_LISTSend 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.
Input parameters
Sections containing list items (maximum 10 sections, minimum 1 section).
Body text for the list message (up to 1024 characters).
The recipient's phone number in international format without the + sign (e.g., '15551234567' for a US number). Note: The recipient must have initiated a conversation with your WhatsApp Business account within the last 24 hours to receive this message.
Text for the list button (up to 20 characters).
Footer text for the list message (up to 60 characters).
Header text for the list message (up to 60 characters).
The Meta-assigned numeric ID for the WhatsApp Business phone number to send from. This is NOT the actual phone number itself - it is a numeric ID (e.g., '901139066420489') assigned by Meta. Obtain it using WHATSAPP_GET_PHONE_NUMBERS action which returns the 'id' field for each phone number.
The ID of the message to reply to (optional).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_LOCATIONSend 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)
Input parameters
The name or title of the location (e.g., 'San Francisco City Hall', 'Golden Gate Bridge'). This will be displayed to the recipient.
The full address of the location (e.g., '1 Dr Carlton B Goodlett Pl, San Francisco, CA 94102'). This provides context to the recipient about the location.
The latitude coordinate of the location in decimal degrees format (e.g., '37.7749' for San Francisco). Range: -90 to 90.
The longitude coordinate of the location in decimal degrees format (e.g., '-122.4194' for San Francisco). Range: -180 to 180.
The recipient's WhatsApp phone number in international format without the + sign or spaces (e.g., '14155238886' for US number). The recipient must have a WhatsApp account registered with this number.
The WhatsApp Business phone number ID from which to send the location message. This is the ID of your WhatsApp Business phone number, not the phone number itself.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_MEDIASend a media message to a WhatsApp number. Note: The media will be delivered to the recipient only if they have texted first.
Input parameters
The publicly accessible HTTPS URL of the media file to send. The URL must be accessible by WhatsApp servers and serve the appropriate content-type header. For media uploads, use WHATSAPP_UPLOAD_MEDIA action to get a media ID and use WHATSAPP_SEND_MEDIA_BY_ID instead.
Optional caption text to accompany the media (max 1024 characters). Only supported for 'image', 'video', and 'document' media types. Captions are NOT supported for 'audio' and 'sticker' types.
The phone number to send the media to, including the country code without the + sign.
The type of media to send. Options: 'audio' (voice messages), 'document' (PDFs, docs), 'image' (PNG, JPG), 'sticker' (WebP animated stickers), 'video' (MP4 videos). Note: Only 'image', 'video', and 'document' types support captions.
The Meta-assigned numeric ID for the WhatsApp Business phone number to send from. This is NOT the actual phone number itself - it is a numeric ID (e.g., '901139066420489') assigned by Meta. Obtain it using WHATSAPP_GET_PHONE_NUMBERS action which returns the 'id' field for each phone number.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_MEDIA_BY_IDSend 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.
Input parameters
Caption for the media (not supported for audio and sticker).
Filename for document media.
The media ID from uploaded media (use upload_media action to get this ID).
The phone number to send the media to, including the country code without the + sign.
The type of media to send: audio, document, image, sticker, or video.
The phone number ID from which to send the media.
The ID of the message to reply to (optional).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_MESSAGESend 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.
Input parameters
The text content of the message to send. Supports Unicode characters including emojis. Maximum length: 4096 characters.
The recipient's WhatsApp phone number in international format without the + sign (e.g., '14155551234' for a US number). The number must be registered on WhatsApp.
Optional: The WhatsApp message ID (wamid) to reply to. When provided, this message will be sent as a reply to the specified message, creating a quoted reply thread. Leave empty to send a regular message.
Set to True to show a preview card for URLs in the message. When enabled, WhatsApp will fetch and display URL metadata (title, description, image) for the first URL in the message. Default: False.
The Meta-assigned numeric ID for the WhatsApp Business phone number to send from. This is NOT the actual phone number itself - it is a numeric ID (e.g., '712594308615206') assigned by Meta. Obtain it using WHATSAPP_GET_PHONE_NUMBERS action which returns the 'id' field for each phone number.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_SEND_TEMPLATE_MESSAGESend a template message to a WhatsApp number.
Input parameters
The phone number to send the template message to, including the country code without the + sign.
Template components with parameters to fill template variables. Use 'body' type with text parameters for simple variable substitution.
The language code for the template.
The name of the template to be sent.
The phone number ID from which to send the template message.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
WHATSAPP_UPLOAD_MEDIAUpload 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)
Input parameters
Type of media being uploaded: image, video, audio, document, or sticker.
Media file to upload to WhatsApp (max 16MB for most types, 100MB for videos).
The phone number ID to upload media for.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 98 agents privately built on Nagent that already use WhatsApp.
Build on Nagent
Connect WhatsApp to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find WhatsApp, and click "Connect Now." You'll authenticate with OAUTH2, API_KEY — Nagent handles credential storage and refresh automatically. Once connected, WhatsApp is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once WhatsApp is connected, you configure its 17 actions and 1 trigger directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop WhatsApp steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a WhatsApp event fires, the agent kicks off automatically.
Every WhatsApp action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While WhatsApp ships with 17 pre-built phone & sms actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching WhatsApp together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build WhatsApp-based workflows tailored to your business.