Send Media

whatsapp.send_media
ActionChat & messagingconnection required

Calls POST /{phone_number_id}/messages with the media type as the discriminator.

Send an image, video, audio, document or sticker to a WhatsApp user.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
WhatsApp Business
Secret shape
{"access_token": "…"} (or the raw token)
Resolved by
config.connection_id, else node.connection_id

Configuration

8 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
to
Recipient number, country code first, digits only. Supports {{ }}.
stringYes———
media_type
What to send.
stringNoimageone of "image", "video", "audio", "document", "sticker"—
link
Public HTTPS URL WhatsApp fetches the file from.
stringNo———
media_id
Id of a file already uploaded to WhatsApp.
stringNo———
caption
Caption (image, video and document only).
stringNo———
filename
Filename shown for a document.
stringNo———
reply_to_message_id
Reply in-thread to this inbound wamid.
stringNo———
phone_number_id
Send from this number instead of the connection's default.
stringNo———

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "media_type": "image"
}

Output

One shape.

sent

FieldTypeExample
ok
booleantrue
message_id
WhatsApp message id (wamid.…).
string—
wa_id
The recipient's canonical WhatsApp id.
string—
{
  "message_id": "",
  "ok": true,
  "wa_id": ""
}

Notes

  • Give either 'link' or 'media_id', not both. A link must be publicly reachable over HTTPS — WhatsApp's servers download it, not the recipient.
  • Like any free-form message, this only lands inside the 24-hour window.

See Send Media run in a workflow.

In a technical demo we add the WhatsApp Business connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.