This guide walks you through building a working WhatsApp marketing automation workflow using Make (formerly Integromat) and the WhatsApp Business API. By the end, you will have a fully automated sequence that sends personalised messages, handles replies, and logs every conversation — without writing a single line of back-end code. Most readers complete the setup in 90 to 120 minutes.

What You'll Build

  • A Make scenario that triggers personalised WhatsApp messages from a contact list or CRM event
  • An automated opt-in confirmation and welcome message flow
  • A reply-routing module that tags inbound messages and logs them to a Google Sheet or Airtable base
  • A re-engagement broadcast sequence you can schedule or trigger on a condition
  • A simple error-handling layer so failed messages retry automatically

Prerequisites

  • A verified Meta Business account (required for WhatsApp Business API access)
  • A WhatsApp Business API-enabled phone number — provisioned through Meta directly or a BSP such as 360dialog or Twilio (as of mid-2026, 360dialog offers the lowest per-conversation cost for APAC and North American businesses)
  • A Make account on the Core plan or above (the Free plan does not support webhook triggers)
  • A Google Sheet or Airtable base to store contact data and logs
  • Basic familiarity with Make's scenario builder — no coding required

Step 1: Connect WhatsApp Business API to Make

Why does this step matter?

Make needs an authenticated connection to the WhatsApp Cloud API before any message can be sent or received. Getting this right once saves hours of debugging later.

  1. In your Meta Business Suite, open WhatsApp > API Setup. Copy your Phone Number ID and your Permanent Access Token. Temporary tokens expire in 24 hours — always generate a permanent system user token.
  2. In Make, open Connections > Add and search for WhatsApp Business Cloud. Paste your Phone Number ID and Access Token. Click Verify.
  3. Send a test message to your own number using Make's built-in test tool. You should receive it within 5 seconds.

Common pitfall: If verification fails with a 401 Unauthorized error, your token scope is missing whatsapp_business_messaging. Regenerate the token and tick that permission explicitly in Meta's System Users panel.

Step 2: Set Up Your Contact Trigger

Which trigger type should you choose?

Make supports three entry points for a WhatsApp sequence: a webhook from your CRM, a scheduled Google Sheets poll, or an inbound WhatsApp message. Choose based on your use case.

  • CRM webhook — best for onboarding sequences triggered by a sign-up or purchase event. Supported natively in HubSpot, Pipedrive, and Salesforce.
  • Google Sheets / Airtable poll — best for broadcast campaigns where you upload a contact list manually or sync it from a tool like Clay.
  • Inbound WhatsApp message — best for keyword-triggered flows (e.g., a contact texts "PROMO" and receives a coupon).

For this tutorial, use the Google Sheets poll trigger so you can test with a small list without a live CRM.

  1. In Make, create a new scenario. Add the module Google Sheets > Watch Rows.
  2. Connect your Google account and select your contacts sheet. Set the trigger column to a Status field with the value pending.
  3. Set the poll interval to 15 minutes for testing. In production, 1 hour is sufficient for most broadcast use cases and keeps your Make operation count low.

Pro tip: Add a Limit of 10 rows per poll during testing. This prevents accidentally sending hundreds of messages while you are still iterating on the flow.

Step 3: Build the Personalised Message Module

What makes a WhatsApp message compliant?

Meta requires all outbound messages to use pre-approved message templates unless you are replying within a 24-hour customer service window. Templates must be approved in Meta Business Manager before you can send them — approval typically takes under 2 hours for well-formed templates as of 2026.

  1. In Meta Business Manager, go to WhatsApp > Message Templates > Create Template. Choose the Marketing category.
  2. Write your template body using variables in double curly braces. Example: