This workflow enables automated bulk WhatsApp message broadcasting using the WhatsApp Business Cloud API. It pulls recipient and message data from a Google Sheet, sends templated messages (optionally with image headers), and updates the sheet with the message status. It is ideal for marketing teams, support agents, and businesses handling high-volume outreach.
Initiates the workflow every minute using a scheduled trigger to continuously monitor pending rows.
Reads rows from a Google Sheet where the Status
column is empty, indicating they haven’t been processed yet.
Restricts processing to 2 rows per execution to manage API throughput.
Uses SplitInBatches
to iterate through each row individually.
A code node that strips non-numeric characters from the WhatsApp No
field, ensuring the format is valid for the API.
Sends a WhatsApp message using the WhatsApp Cloud API and a pre-approved template.
Template includes:
Image URL
column (as header, optional)Name
and Message
fieldsTemplate variables must be pre-defined and approved in the Meta Developer Portal, such as {{1}}
, {{2}}
.
Updates the Status
column to Sent
for each successfully processed row using the row number as a reference.
Structure your Google Sheet as shown below:
WhatsApp No | Name | Message | Image URL | Status |
---|---|---|---|---|
+8801XXXXXXX | John Doe | Hello, your order shipped | https://.../img.jpg |
Leave the Status
column empty for rows that need to be processed.
googleSheetsOAuth2Api
whatsAppApi
Limit
node to control how many rows are processed in each runIF
or Try/Catch
nodes) to log failures or set Status = Failed
Need help setting up or customizing the workflow?