Workflow node reference
Send Interactive
Send buttons or list message. Exact configuration, outputs, execution behavior, errors, limits, and examples for the Send Interactive workflow node.
What this guide covers
- Category: Messages.
- Use it to present up to three reply buttons or a list of up to ten choices.
- 12 configuration fields and 4 documented outputs.
- It does not pause the current execution waiting for a click.
What this node does
Send buttons or list message
Use it to present up to three reply buttons or a list of up to ten choices.
When not to use it
Do not use it for provider-approved outbound initiation or an open-ended form.
Prerequisites
- Connected Sender
- Eligible recipient and conversation context
- Valid button/list JSON
- Balance
Connected Sender. Eligible recipient and conversation context. Valid button/list JSON. Balance
Inputs and configuration fields
| Field | Key | Control / type | Requirement | Default | Accepted values and behavior |
|---|---|---|---|---|---|
Type | interactive_type | select | Required when shown | No default | Buttons (up to 3) (button), List (up to 10 items) (list), Request phone number (request_contact_info) |
Phone-only purpose | contact_request_purpose | select | Required when shown | No default | The request is policy-gated and always continues with WhatsApp ID when unavailable, declined, or unanswered.. Phone-only authentication (phone_only_authentication_template), User-requested call or SMS (user_requested_off_whatsapp_voice_or_sms_follow_up); shown when interactive_type equals request_contact_info |
Message Body | body | variable-input | Required when shown | No default | Main message text.... Variables supported |
Footer | footer | variable-input | Optional | No default | Optional footer text.... Variables supported |
Buttons | buttons | json | Optional | No default | shown when interactive_type equals button |
List Button Text | list_button_text | text | Optional | View Options | shown when interactive_type equals list |
List Sections | list_sections | json | Optional | No default | shown when interactive_type equals list |
Sender & Recipient Override | _divider_override | divider | Optional | No default | Configure which number to send from and who to send to. Value accepted by the displayed control |
Send From Number | send_from | single-number-picker | Optional | No default | Select which WhatsApp number to send from. Required for scheduled/webhook triggers. Optional for message triggers. |
Always use this sender | override_sender | toggle | Optional | false | If enabled, always send from this number even for message triggers. shown when send_from exists |
Send To Number | send_to | variable-input | Optional | No default | Recipient phone number (can use variables). Required for scheduled/webhook triggers. Optional for message triggers.. Variables supported |
Always use this recipient | override_recipient | toggle | Optional | false | If enabled, always send to this number even for message triggers. shown when send_to exists |
Configure the node
- Drag Send Interactive from Messages in the node palette.
- Select the node to open its configuration drawer.
- Complete every required field and any conditional field revealed by your choices.
- Insert variables only from the current trigger or an earlier node on the same path.
- Connect every required output handle to the intended next step.
- Save and run Workflow Test with representative data before activation.
Outputs
Later nodes can use these values only after this node has run successfully on the same execution path.
| Variable | Type | Meaning |
|---|---|---|
{{nodes.send_interactive.message_id}} | string | Sent message ID |
{{nodes.send_interactive.interactive_type}} | string | Type of interactive message sent |
{{nodes.send_interactive.sent_at}} | string | Timestamp |
{{nodes.send_interactive.to}} | string | Recipient WhatsApp ID |
Execution behavior
- Resolves Message Body and optional Footer.
- Builds either button or list content from the visible conditional fields.
- Later inbound button/list replies appear in trigger context for another execution.
Do not assume a failed node is automatically retried. Review the execution result and the relevant service documentation before repeating an operation that could create a duplicate side effect.
Example use case
Ask a customer to choose Sales, Support, or Billing with three reply buttons.
New Conversation → Send Interactive → End Flow; next reply → Condition → Human HandoffCommon errors
| Symptom | Resolution |
|---|---|
Buttons are rejected | Use valid JSON with no more than three unique ID/title pairs. |
List is rejected | Use valid sections/rows and no more than ten selectable items. |
No recipient | Configure Send To for Scheduled or Webhook triggers. |
Limitations
It does not pause the current execution waiting for a click.
Provider conversation rules still apply.
It does not pause the current execution waiting for a click. Provider conversation rules still apply.