Skip to main content

Creating a Send WhatsApp Action on a Workflow Task

A Send WhatsApp action lets you send templated WhatsApp messages to members as part of an automated workflow. It mirrors the Send SMS action, using the same phone numbers and templates, but follows WhatsApp's stricter opt-in and template rules. You can send a one-off message, or optionally start a full AI-powered WhatsApp conversation using a workflow.

How it fits together: "Send WhatsApp" is an Action type in Gravity Rail. Attach it to a workflow task as an entry action — when a member enters the task, the WhatsApp message fires automatically. Pair it with a Routine to message a targeted group on a schedule.

Prerequisites

  • The whatsapp feature must be enabled on your workspace (ask your org admin if you don't see WhatsApp options)
  • A workflow with at least one task (see Workflows)
  • A phone number with WhatsApp turned on (see WhatsApp Messaging) — this is the number the message is sent from
  • The target member must have WhatsApp enabled in their notification preferences (defaults to off — see Notification Preferences)

Steps

1. Open your workflow

Navigate to Workflows and open the workflow you will use. If you don't have one yet, create a new workflow and add at least one task.

2. Navigate to the Actions page

Go to Actions in your workspace.

3. Create a new action

Click New Action.

4. Configure the trigger

Set the trigger to Task Entered and select the task from your workflow. The WhatsApp message fires when a member enters this task.

5. Select "Send WhatsApp" as the action type

In the action type dropdown, select Send WhatsApp. The WhatsApp configuration form will appear. This option only appears when the whatsapp feature is enabled on your workspace.

6. Select the phone number

Choose the phone number that will send the message from the Phone Number dropdown. This determines the "from" number that the member sees. The number must have WhatsApp turned on — if no eligible numbers are listed, enable WhatsApp on a phone number first (see WhatsApp Messaging).

7. Enter the message template

In the Message field, enter your message body. You can use template variables for personalization:

Hi {{member.first_name}}, this is a reminder about your appointment tomorrow. Reply to this message if you need to reschedule.

The template editor supports the same variables as SMS and email templates. See Template Variables for the full list.

Outside the 24-hour window, use an approved template. WhatsApp only allows free-form outbound text within 24 hours of the member's last message. After that, the message body must exactly match a template you've had approved with Meta via Twilio, or Twilio will reject the send. See Template Messages and the 24-Hour Window.

8. Optionally start a conversation

Provide a Workflow if you want the message to begin an AI-powered conversation instead of sending a single message:

  1. Select a Workflow — this workflow will handle the member's replies
  2. Optionally enter an Initial Message — a message sent as the user's first message to kick off the workflow

When a workflow is provided, a new WhatsApp chat is created for the member and the AI agent handles replies. When it is omitted, the message is sent as a one-off with no conversation attached.

9. Save the action

Click Save. The action is now linked to your workflow task and will fire whenever a member enters that task.

How Sends Are Gated

Before sending, the action checks three things and skips (with a reason in the run logs) if any fails:

  1. The workspace has the WhatsApp feature enabled.
  2. The phone number has WhatsApp turned on and isn't archived.
  3. The target member has WhatsApp notifications enabled (notify_whatsapp).

This is why outbound WhatsApp actions skip members by default — new members have WhatsApp turned off in their notification preferences until you opt them in.

Template Variables

You can personalize the message with template variables using {{variable}} syntax:

VariableExample Value
{{member.first_name}}"Jane"
{{member.name}}"Jane Smith"
{{member.phone}}"+1 555 123-4567"
{{member.date_of_birth}}"1980-06-15"
{{member.age}}45
{{member.data.SLUG.FIELD}}Custom form data
{{assistant.name}}"Support Bot"
{{task.name}}"Appointment Reminder"

For the full list of available variables, see Template Variables.

Tips

  • Respect the 24-hour window — Free-form messages only reach members who messaged you in the last 24 hours. For reminders and broadcasts, use a pre-approved template.
  • Opt members in first — WhatsApp is off by default per member. Confirm the member's WhatsApp notification toggle is on, or the action will skip them.
  • Use conversation mode for two-way interactions — If you expect the member to reply, provide a workflow so replies are handled by your AI agent.
  • Test first — Create a test member with your own WhatsApp number (joined to your Twilio sandbox if testing) and run the action to verify the message looks correct before sending to real members.