Pipory
Node reference

WhatsApp

WhatsApp node reference - all 54 operations, the credential it needs, and a worked example.

WhatsApp Business Cloud API (Communication). 54 operations: send every message type (text, image, video, audio, document, sticker, location, contact card, reaction, template) and every interactive message (reply buttons, list menu, call-to-action URL, location request); mark read, typing indicators and group message pinning; media upload, URL retrieval, download and delete; message template CRUD; business profile read and update; phone number reads, verification and registration; user blocking; the group plane (create, list, read, update, delete, participants, invite links, join requests); and WhatsApp Business Account reads plus webhook subscription.

Credential: WhatsApp - see Credentials.

Permissions

Each operation below lists the permission it needs. Permissions are granted to the Meta access token - a System User token in Business Settings, or the token an Embedded Signup flow returns. WhatsApp has only TWO permissions for the entire platform, and the split does not follow reads-versus-writes, it follows the PLANE: whatsapp_business_messaging covers anything that touches a conversation (sending, media, read receipts, typing, blocking and the whole group plane), and whatsapp_business_management covers anything that configures the account (templates, the business profile, phone numbers, registration, the WABA and its webhook subscriptions). The trap is the business profile and the phone-number reads - they hang off the same phone number ID the sends use, so they feel like messaging, but they are management-plane calls and a send-only token gets a 403 on them with an error body that never names the missing permission. Two further things no permission can grant: the group operations additionally require the number to be an Official Business Account running on Cloud API, and a temporary token from the app dashboard expires after 24 hours whatever it was granted. If a run fails with a permission error, the node names the missing permission in the error - grant it and re-run; you do not need to rebuild the workflow.

Operations (54)

Send a message

OperationWhat it doesPermission
sendTextSend textwhatsapp_business_messaging
sendImageSend imagewhatsapp_business_messaging
sendVideoSend videowhatsapp_business_messaging
sendAudioSend audiowhatsapp_business_messaging
sendDocumentSend documentwhatsapp_business_messaging
sendStickerSend stickerwhatsapp_business_messaging
sendLocationSend locationwhatsapp_business_messaging
sendContactsSend contact cardwhatsapp_business_messaging
sendReactionReact to a messagewhatsapp_business_messaging
sendTemplateSend templatewhatsapp_business_messaging

Interactive messages

OperationWhat it doesPermission
sendInteractiveButtonsSend reply buttonswhatsapp_business_messaging
sendInteractiveListSend list menuwhatsapp_business_messaging
sendCtaUrlSend call-to-action URL buttonwhatsapp_business_messaging
sendLocationRequestAsk for the user's locationwhatsapp_business_messaging

Conversation state

OperationWhat it doesPermission
markReadMark message as readwhatsapp_business_messaging
sendTypingIndicatorShow typing indicatorwhatsapp_business_messaging
pinMessagePin a group messagewhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API — pinning is a groups feature, admin-only, max 3 pinned per group)
unpinMessageUnpin a group messagewhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API — pinning is a groups feature, admin-only)

Media

OperationWhat it doesPermission
uploadMediaUpload mediawhatsapp_business_messaging
getMediaUrlGet media URLwhatsapp_business_messaging
downloadMediaDownload mediawhatsapp_business_messaging
deleteMediaDelete mediawhatsapp_business_messaging

Message templates

OperationWhat it doesPermission
listTemplatesList message templateswhatsapp_business_management
getTemplateGet message templatewhatsapp_business_management
createTemplateCreate message templatewhatsapp_business_management
updateTemplateEdit message templatewhatsapp_business_management
deleteTemplateDelete message templatewhatsapp_business_management

Business profile

OperationWhat it doesPermission
getBusinessProfileGet business profilewhatsapp_business_management
updateBusinessProfileUpdate business profilewhatsapp_business_management

Phone numbers & registration

OperationWhat it doesPermission
listPhoneNumbersList business phone numberswhatsapp_business_management
getPhoneNumberGet business phone numberwhatsapp_business_management
requestVerificationCodeRequest verification codewhatsapp_business_management
verifyCodeVerify codewhatsapp_business_management
registerPhoneNumberRegister phone numberwhatsapp_business_management
deregisterPhoneNumberDeregister phone numberwhatsapp_business_management
setTwoStepPinSet two-step verification PINwhatsapp_business_management + whatsapp_business_messaging (Meta documents both for this call)

Blocking

OperationWhat it doesPermission
blockUsersBlock userswhatsapp_business_messaging
unblockUsersUnblock userswhatsapp_business_messaging
listBlockedUsersList blocked userswhatsapp_business_messaging

Groups

OperationWhat it doesPermission
createGroupCreate groupwhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
listGroupsList active groupswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
getGroupGet group infowhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
updateGroupUpdate group settingswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
deleteGroupDelete groupwhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
removeGroupParticipantsRemove group participantswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
getGroupInviteLinkGet group invite linkwhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
resetGroupInviteLinkReset group invite linkwhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
listGroupJoinRequestsList group join requestswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
approveGroupJoinRequestsApprove group join requestswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)
rejectGroupJoinRequestsReject group join requestswhatsapp_business_messaging (and the number must be an Official Business Account on Cloud API)

Business account & webhooks

OperationWhat it doesPermission
getWabaGet WhatsApp Business Accountwhatsapp_business_management
listSubscribedAppsList apps subscribed to webhookswhatsapp_business_management
subscribeAppSubscribe app to webhookswhatsapp_business_management
unsubscribeAppUnsubscribe app from webhookswhatsapp_business_management

Example

Open a conversation with a template, because you usually may not just message someone

Outside a 24-hour customer service window WhatsApp refuses free-form messages — the only way to start a conversation is an approved template. So sendTemplate, not sendText, is the operation most workflows actually need first, and getting this wrong looks like the integration randomly failing for some recipients.

Set Operation to sendTemplate, then fill in:

FieldValueNotes
phoneNumberId{{ vars.whatsappPhoneNumberId }}The business phone number id (PNID) the message is sent from
to{{ myTrigger.phone }}E.164, no leading +
templateNameorder_shippedMust be an approved template in the WABA
templateLanguageen_USMust match the approved template's locale exactly
templateParams{{ myTrigger.orderId }}, {{ myTrigger.carrier }}Positional body variables, in template order

Sets {{notice.messageId}}, {{notice.waId}} and {{notice.to}}. The node's Graph apiVersion is configurable and defaults to v25.0 — the old hardcoded v20.0 expires 2026-09-24.