Skip to main content
Sends WhatsApp template messages. Templates must be pre-approved by Meta.

Configuration

  • whatsapp_config_id: WhatsApp connection to use (optional; falls back to the conversation)
  • template_id: WhatsApp template identifier
  • parameters: Template parameter values (see formats below)
  • provider_model_name: Required when using AIField in parameters
  • to_phone_number: Override destination phone number (optional; required for observer mode flows)

Parameter formats

The parameters field supports two formats: Use Meta’s native components structure for full control over template parameters:
[
  {
    "type": "BODY",
    "parameters": [
      { "type": "text", "text": "{{user_name}}" },
      { "type": "text", "text": "{{order_id}}" }
    ]
  }
]
Multi-component example (header + body + buttons):
[
  {
    "type": "HEADER",
    "parameters": [
      { "type": "text", "text": "{{customer_name}}" }
    ]
  },
  {
    "type": "BODY",
    "parameters": [
      { "type": "text", "text": "{{order_number}}" },
      { "type": "text", "text": "{{order_total}}" }
    ]
  },
  {
    "type": "BUTTON",
    "sub_type": "URL",
    "index": "0",
    "parameters": [
      { "type": "text", "text": "{{tracking_id}}" }
    ]
  }
]
Named parameters:
[
  {
    "type": "BODY",
    "parameters": [
      { "type": "text", "parameter_name": "customer_name", "text": "{{user_name}}" },
      { "type": "text", "parameter_name": "order_id", "text": "{{order_number}}" }
    ]
  }
]
Alternative hash format using components key:
{
  "components": [...]
}

Legacy format

Simple array or hash format (still supported):
["{{user_name}}", "{{order_id}}"]
Or with explicit template_params key:
{
  "template_params": ["{{user_name}}", "{{order_id}}"]
}

Template setup

Templates must be created and approved in Meta Business Manager first. Common templates:
  • Welcome messages
  • Order confirmations
  • Appointment reminders
  • Support ticket updates

Usage patterns

Order workflow Notification workflow