· 4 min · TextMeFlow Team

Send WhatsApp Messages from Airtable Automations — No Extra Tools

If your team already tracks bookings, orders or leads in Airtable, you don't need to add another automation platform just to send a WhatsApp confirmation. Airtable's built-in Automations feature can call any HTTP API directly from a script step, which means you can trigger a WhatsApp message the moment a record is created or a status field changes — with nothing else in the stack.

This guide walks through the setup with a "Bookings" base as the example, but the same pattern works for orders, support tickets or lead follow-ups.

Why do this inside Airtable instead of Zapier or Make

Airtable Automations already run on every record change for free, up to generous monthly limits on paid plans. If your trigger condition is a simple field change ("Status" becomes "Confirmed"), routing that through a separate automation platform just adds a hop, a second account to manage, and another place things can silently fail. A script step inside the automation itself keeps the whole flow — trigger, formatting, send — in one place you can debug from Airtable's own run history.

If you're already using n8n, Make or Zapier for other workflows, that's still a fine choice — we cover that setup in Send WhatsApp Messages from n8n, Make.com or Zapier. Airtable's native option is worth it specifically when Airtable is the only tool in the chain.

What you need

  • An Airtable base with a table you can trigger on (a "Status" or "Confirmed" field works well).
  • A free TextMeFlow account with a WhatsApp number linked by QR code — no Meta Business verification required.
  • Your API key from the TextMeFlow dashboard.

Step 1: create the automation trigger

  1. Open your base, go to Automations, and create a new automation.
  2. Choose When a record matches conditions as the trigger (or When a record is updated, depending on your workflow).
  3. Set the condition — for example, "Status" is "Confirmed".

Step 2: add a script action

Add a Run a script action after the trigger. Airtable's script step runs plain JavaScript with fetch available, so you can call the TextMeFlow API directly:

let inputConfig = input.config();
let phone = inputConfig.phone;   // input variable mapped from the record
let name = inputConfig.name;
let date = inputConfig.date;

let response = await fetch("https://api.textmeflow.eu/v1/messages", {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer YOUR_API_KEY",
  },
  body: JSON.stringify({
    to: phone,
    text: `Hi ${name}, your booking for ${date} is confirmed!`,
  }),
});

let data = await response.json();
console.log(data.status); // "queued"
  1. Click Set up input variables and map phone, name and date to the actual fields from your triggering record.
  2. Test the step with a real record — Airtable shows the script's console output, so you'll see queued or an error message straight away.

Formatting phone numbers correctly

The most common failure isn't the automation — it's the phone number format. TextMeFlow expects E.164 (+ and country code, e.g. +32470123456), and a local-format number like 0470123456 will be rejected. If your table stores numbers inconsistently, add a formula field that prepends the country code, and map that formula field into the script's phone input instead of the raw field.

Avoiding duplicate sends

Airtable Automations only re-fire when the trigger condition is newly met, so a "Status becomes Confirmed" trigger won't refire on later edits to the same record — that part is handled for you. If you're using a broader trigger like "record is updated", add an extra condition or a checkbox field ("WhatsApp sent") that the script sets after a successful call, and filter the trigger on that field being empty.

What TextMeFlow handles on its side

Every message sent through the API — whether it comes from Airtable, a Zapier automation, or your own backend — passes through the same anti-spam pipeline: rate limiting, a risk score, automatic STOP handling, and quiet hours. You don't configure any of that per integration; it applies regardless of which tool made the request. Details are in /docs/anti-spam.

Scaling beyond the free plan

The free plan includes 50 messages per month, for life — enough to build and test this automation. For daily booking volume, the Starter plan at €5/month raises your quota, and data stays hosted in the EU (Paris) with an automatic DPA on paid plans if you need one for a client contract.

Ready to wire it up? Create a free account and send your first automated WhatsApp message from Airtable in under ten minutes.

Zelf WhatsApp-berichten versturen via API?

Gratis voor altijd tot 50 berichten/maand. QR scannen en binnen 5 minuten verstuur je je eerste bericht.

Gratis voor altijd