Examples
Worked workflow patterns using this node
Send a Confirmation Text
The simplest possible use — send a plain-text confirmation after an order or booking completes.
{
"resource": "message",
"operation": "send-text",
"phoneNumberId": "1055...",
"to": "+14155551234",
"text": "Your order #4821 has shipped and will arrive within 3 business days."
}
Send an Image with a Caption
Send a receipt or product photo referencing a publicly hosted image, no prior upload needed.
{
"resource": "message",
"operation": "send-image",
"phoneNumberId": "1055...",
"to": "+14155551234",
"mediaUrl": "https://cdn.example.com/receipts/4821.png",
"caption": "Receipt for order #4821"
}
Upload Then Send (Reusable Media)
When the same asset (e.g. a logo or catalog image) is sent repeatedly, upload it once and reuse the
mediaId — cheaper than re-hosting a public URL per send.
media/uploadwithfileBase64,fileName,mimeType→ returnsmediaIdmessage/send-imagewith thatmediaIdfor each recipient
Send an Approved Marketing Template
Templates are required for messages sent outside the 24-hour customer service window.
{
"resource": "message",
"operation": "send-template",
"phoneNumberId": "1055...",
"to": "+14155551234",
"templateName": "order_shipped",
"languageCode": "en_US",
"componentsJson": "[{\"type\":\"body\",\"parameters\":[{\"type\":\"text\",\"text\":\"4821\"}]}]"
}
Interactive Quick-Reply Buttons
Ask a yes/no/maybe question with tappable buttons instead of parsing free-text replies.
{
"resource": "message",
"operation": "send-interactive-buttons",
"phoneNumberId": "1055...",
"to": "+14155551234",
"bodyText": "Would you like to confirm your appointment for 3pm tomorrow?",
"buttonsJson": "[{\"id\":\"confirm\",\"title\":\"Confirm\"},{\"id\":\"reschedule\",\"title\":\"Reschedule\"}]"
}
Build a Catalog and Send a Product Card
A minimal commerce workflow: create a catalog, add a product, then send it as a product card.
commerce/create-catalog—businessAccountId,name→ returnscatalogIdcommerce/add-product—catalogId,name,price,currency,imageUrlcommerce/send-single-product—to,catalogId,productRetailerId,bodyText
Broadcast to a Group
Create a group once, then send updates to it as things change.
group/create—subject,participantPhoneNumbers→ returnsgroupIdgroup/send-message—groupId,text(repeat as needed)
Human-in-the-loop pattern (planned):
message/send-and-wait is designed for
workflows that pause for a reply — e.g. "Reply YES to confirm" — before continuing. It's routed today but
not yet backed by an implementation; see Roadmap. Until it ships, build the
equivalent with send-interactive-buttons plus a separate inbound-message trigger.