What you need
A HubSpot workflow you can edit, enrolled on the Contact object.
A connected Octopods workspace with at least one Twilio SMS channel, one WhatsApp Cloud channel, or both.
For WhatsApp, at least one approved WABA template on the channel you plan to send from.
Adding the Octopods workflow action
Octopods ships two separate workflow actions under the Octopods app:
Send SMS via Octopods — for Twilio SMS channels.
Send WhatsApp Template Message — for WhatsApp Cloud channels.
To add one:
In HubSpot, open your workflow in edit mode.
Click the plus icon where you want to add the action.
In the action picker, search for Octopods and choose the action that matches the channel you want to send from.
Configuring the SMS action
The action panel opens on the right. For Send SMS via Octopods:
Twilio Number — pick the Octopods Twilio SMS channel to send from.
Message — type the SMS body. Use HubSpot personalization tokens (for example,
{{ contact.firstname }}) to insert contact properties.Click Save.
Configuring the WhatsApp action
For Send WhatsApp Template Message:
WhatsApp Business Number — pick the WABA channel to send from.
Message Template — pick an approved template from the dropdown.
Fill in the template variables using the rules in Mapping WhatsApp template variables.
Click Save.
Mapping WhatsApp template variables
After you pick a template, the panel reveals one input per template variable. Each input accepts a literal value, a HubSpot contact property token, or a mix.
Body Variable 1 to Body Variable 8 — one input per
{{1}},{{2}}, placeholder in the template body. Templates with more than eight body variables are not supported in HubSpot workflows.Header Variable — one input, only if the template has a text header with a variable.
Header Media URL — one URL input, only if the template has a media header (image, video, or document).
Button URL or OTP — one input, only if the template has a dynamic URL button or is an authentication template expecting an OTP.
Tip: Map each variable to a HubSpot contact property that is always set (for example, firstname or a deal stage) so the workflow does not fail when it enrolls a contact with blank fields.
How the recipient phone is chosen
The workflow uses the enrolled contact’s phone, in this order:
The contact’s Mobile phone number property, if set.
The contact’s Phone number property, otherwise.
Both values must be in E.164 format (for example, +14155552671). If neither property has a valid phone number, the workflow step fails for that contact.
Common workflow patterns
Order confirmation — enroll contacts when a deal stage changes to “Closed Won”, use a WhatsApp order-confirmation template, map the order number and total to template variables.
Appointment reminder — enroll contacts one day before an appointment date property, use a reminder template.
Re-engagement — enroll contacts after a period of inactivity, send a Marketing-category template or an SMS check-in.
What happens when a workflow message fails
If Octopods cannot send the message, the workflow action records a failure and moves on to the next workflow step. Common reasons:
The contact’s phone number is missing or not in E.164 format.
The selected template is no longer approved or active on the channel.
The Octopods channel has been disconnected since the workflow was configured.
The account has reached its messaging rate limit.
You can see per-contact failures in the HubSpot workflow history for that action. For a full list of error causes and fixes, see Troubleshooting Failed Proactive Messages.
What’s next
See the Channels section for WhatsApp Cloud channel setup
