Send messages, templates, and media through the WhatsApp Business API.
On this page
Connect
Auth type: API key (secret_text). Paste the API key (or token) from the provider's settings into the connect dialog. It is encrypted at rest and only decrypted on the server when an action runs.
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("whatsapp", "send-template-message", {
"phone_number_id": "<phone_number_id>",
"to": "<to>",
"message_template_id": "<message_template_id>",
"message_template_fields": {}
});
if (!res.success) throw new Error(res.error);
ctx.log.info("WhatsApp answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "whatsapp-send-template-message",
name: "WhatsApp: Send Template Message",
description: "Calls WhatsApp when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("whatsapp", {
"action": "send-template-message",
"phone_number_id": "<phone_number_id>",
"to": "<to>",
"message_template_id": "<message_template_id>",
"message_template_fields": {}
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/whatsapp/send-template-message" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"phone_number_id":"<phone_number_id>","to":"<to>","message_template_id":"<message_template_id>","message_template_fields":{}}}'Actions
send-template-messagein catalog
Send Template Message. Sends a template message.
Also accepted as send_template_message.
| Input | Type | Description |
|---|---|---|
phone_number_idrequired | id (picked from your account) | Phone number ID that will be used to send the message. |
torequired | text | Recipient phone number. |
message_template_idrequired | id (picked from your account) | Message Template ID |
message_template_fieldsrequired | object (depends on other props) | Template Fields |
sendMediain catalog
Send Media. Send a media message through WhatsApp
Also accepted as send_media.
| Input | Type | Description |
|---|---|---|
phone_number_idrequired | id (picked from your account) | Phone number ID that will be used to send the message. |
torequired | text | The recipient of the message |
typerequired | id (picked from your account) | The type of media to send |
mediarequired | text | The URL of the media to send |
captionoptional | long text | A caption for the media |
filenameoptional | long text | Filename of the document to send |
sendMessagein catalog
Send Message. Send a text message through WhatsApp
Also accepted as send_message.
| Input | Type | Description |
|---|---|---|
phone_number_idrequired | id (picked from your account) | Phone number ID that will be used to send the message. |
torequired | text | The recipient of the message |
textrequired | long text | The message to send |
Details
- Id
whatsapp- Category
- Communication
- Tags
- messaging, chat, mobile, business
- Package
@activepieces/piece-whatsapp@0.2.3- Tier
- Built in