🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

WhatsApp + Google Sheets: shared reply queue that works

Lisa Granqvist Partner Workflow Automation Expert

Your WhatsApp inbox was never meant to be a ticketing system. Messages pile up, two people reply to the same customer, and the “I’ll get back to them later” thread quietly becomes a lost lead.

Support leads feel it first, but a sales manager and a busy clinic owner end up dealing with the same mess. This WhatsApp Sheets automation gives you one shared reply queue, so nothing slips through and handoffs stop being guesswork.

Below, you’ll see how the workflow logs every incoming WhatsApp message, lets your team respond from Google Sheets, and sends replies automatically when they’re marked “Ready”.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: WhatsApp + Google Sheets: shared reply queue that works

The Problem: WhatsApp Replies Don’t Scale Across a Team

WhatsApp is fast, personal, and brutal when you’re handling it manually. One person can keep up… until they can’t. Then you add a second teammate and things get weird: replies get duplicated, important context lives in someone’s head, and customers follow up with “Hello??” because nobody knows who owns the thread. Meanwhile, you’re also trying to track consent, appointments, and outcomes, which means you’re copy-pasting chat snippets into a spreadsheet after the fact (when you remember).

It adds up fast. Here’s where it breaks down in real life:

  • Messages get answered late because your “queue” is just a scrolling chat list.
  • Handing off a conversation means screenshots, forwarding, and missing context.
  • Reporting is painful because there’s no clean log of what came in and what went out.
  • Following WhatsApp’s 24-hour messaging rules becomes risky when nobody can see the last user message time.

The Solution: A Shared Reply Queue Built on WhatsApp + Google Sheets

This workflow turns WhatsApp into a system your team can actually run. When a new message hits your WhatsApp Business number, n8n captures the text plus basic user data and logs it into Google Sheets as a new row. From there, your team replies inside the sheet, not inside personal inboxes. When someone fills in the ReplyText column and changes Status to “Ready,” n8n picks it up on a timed schedule, sends the message via the WhatsApp Business node, and then updates the sheet so it’s marked as sent. Clean history, clear ownership, and a queue that anyone can work.

The workflow also handles proactive messages. When a new Google Form submission lands in your sheet (or a connected trigger), it checks consent and sends an approved WhatsApp template notification, which keeps you compliant outside the 24-hour window.

What You Get: Automation vs. Results

Example: What This Looks Like

Say your business gets about 40 WhatsApp messages a day. Manually logging even half of them into a sheet (name, number, message, time) can take 2 minutes each, so you’re already near an hour of admin work, plus the follow-ups and “did anyone reply?” checks. With this workflow, logging happens instantly, and replying is just filling in ReplyText and setting Status to Ready. In practice, the team spends time on the answer, not on the busywork, and the queue stays tidy without someone policing it.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • WhatsApp Business (Meta) to send and receive WhatsApp messages.
  • Google Sheets for the shared reply queue and message log.
  • Meta Access Token (get it from the Meta Developers Portal).

Skill level: Intermediate. You will connect Meta credentials, set a callback URL, and map a few Google Sheet columns.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

Incoming WhatsApp messages trigger the workflow. When someone messages your WhatsApp Business number, the WhatsApp Trigger receives the event and passes the message details into n8n.

The workflow validates and logs the message. A quick check filters out noise and makes sure the payload has what you need. Then n8n writes the message text plus user info into Google Sheets, so your log becomes the source of truth.

Replies are sent from a timed “Ready” queue. On a schedule, n8n looks up rows where Status is “Ready,” loops through them in batches, and sends each ReplyText out through the WhatsApp Business node. A short wait helps prevent collisions and rate-limit headaches.

The sheet is updated so the queue stays clean. After sending, n8n marks the row as sent (or updates a status field), which means the same reply doesn’t go out twice.

You can easily modify the “Ready” status logic to fit your team, like adding an AssignedTo column or a priority flag based on message content. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Trigger Type

Set up the three triggers that start each branch: new form rows, inbound WhatsApp messages, and a scheduled polling cycle.

  1. Open Fetch New Form Rows and set Event to rowAdded, and ensure Poll Times uses everyX minutes with value 5.
  2. In Fetch New Form Rows, set Document ID to [YOUR_ID] and Sheet Name to Form Responses 1.
  3. Open Incoming WhatsApp Hook and confirm Updates includes messages.
  4. Open Timed Schedule Start and set the Interval to run every minutes (as defined by the schedule rule).
  5. Credential Required: Connect your googleSheetsTriggerOAuth2Api credentials in Fetch New Form Rows.
  6. Credential Required: Connect your whatsAppTriggerApi credentials in Incoming WhatsApp Hook.
Tip: Keep Timed Schedule Start enabled for continuous polling of ready replies, even if no new form rows arrive.

Step 2: Connect Google Sheets

Configure the Sheets nodes that read and write WhatsApp message data and reply status.

  1. In Retrieve Ready Replies, set Document ID to [YOUR_ID] and Sheet Name to WA-messages.
  2. In Retrieve Ready Replies, add a filter where Lookup Column is Status and Lookup Value is Ready.
  3. In Log User Message, set Operation to append and map fields: UserName to {{ $json.contacts[0].profile.name }}, UserPhone to {{ $json.messages[0].from }}, UserMessage to {{ $json.messages[0].text.body }}, and Status to New.
  4. In Modify Reply Status, set Operation to update, set Status to Replied, and map row_number to {{ $('Iterate Reply Batch').item.json.row_number }}.
  5. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Ready Replies, Log User Message, and Modify Reply Status.
⚠️ Common Pitfall: Ensure the WA-messages sheet includes a row_number column or the Modify Reply Status update will fail.

Step 3: Set Up Processing and Validation

Configure the logic nodes that validate inbound messages, consent, and batch processing.

  1. In Validate Incoming Message, set the condition to check that leftValue exists at {{ $json.messages[0] }}.
  2. In Check WA Consent, set the filter to require leftValue {{ $json["I consent to receive WhatsApp notifications regarding my appointments"] }} equals Yes.
  3. In Iterate Reply Batch, keep default batching options and ensure it connects from Retrieve Ready Replies and to Send User Reply on the second output.
  4. In Brief Delay, set Amount to 1 to throttle reply cycles before returning to Iterate Reply Batch.
Tip: The execution flow for replies is Timed Schedule StartRetrieve Ready RepliesIterate Reply BatchSend User ReplyModify Reply StatusBrief DelayIterate Reply Batch.

Step 4: Configure Output/Action Nodes

Set up WhatsApp sending actions and ensure the flow correctly routes to updates and logging.

  1. In Dispatch Template Notice, set Template to test_appointment_button|en_US and Phone Number ID to =[YOUR_ID].
  2. In Dispatch Template Notice, set Recipient Phone Number to {{ $json["Your mobile number"] }} and keep body parameters using expressions like {{ $json["Your name"] }} and {{ DateTime.fromFormat($json["Please pick a day and time of your appointment"], "M/d/yyyy HH:mm:ss").toLocaleString(DateTime.DATE_HUGE); }}.
  3. In Send User Reply, set Operation to send, Text Body to {{ $json.ReplyText }}, Phone Number ID to [YOUR_ID], and Recipient Phone Number to =+{{ $json.UserPhone }}.
  4. Confirm the message logging path: Incoming WhatsApp HookValidate Incoming MessageLog User Message.
  5. Credential Required: Connect your whatsAppApi credentials in Dispatch Template Notice and Send User Reply.

Step 5: Test and Activate Your Workflow

Validate each trigger path and confirm Sheets updates and WhatsApp messages before enabling production use.

  1. Click Execute Workflow and manually trigger Fetch New Form Rows by adding a new row with consent set to Yes to confirm Dispatch Template Notice sends a template message.
  2. Send a WhatsApp message to the connected number and verify Incoming WhatsApp HookValidate Incoming MessageLog User Message appends a row in WA-messages with Status set to New.
  3. Mark a row’s Status as Ready and confirm the scheduled flow sends a reply via Send User Reply and updates Status to Replied in Modify Reply Status.
  4. When tests succeed, toggle the workflow to Active to enable continuous WhatsApp notifications.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • WhatsApp (Meta) credentials can expire or need specific permissions. If things break, check your Meta Developers app token status and webhook subscriptions first.
  • If you’re using Wait nodes or external processing, timing varies. Bump up the wait duration if downstream nodes fail because the sheet update hasn’t landed yet.
  • Template messages have rules. If you’re outside WhatsApp’s 24-hour window, your custom text may fail unless you use an approved template, so keep that logic clear in the consent and notification path.

Frequently Asked Questions

How long does it take to set up this WhatsApp Sheets automation automation?

About 45 minutes if your Meta app and Google Sheet are ready.

Do I need coding skills to automate WhatsApp Sheets automation?

No. You’ll mainly connect accounts and map fields to your sheet columns.

Is n8n free to use for this WhatsApp Sheets automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in Meta/WhatsApp Business costs (templates and messaging depend on your WhatsApp Business pricing and country).

Where can I host n8n to run this automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this WhatsApp Sheets automation workflow for assigning conversations to agents?

Yes, and it’s a common upgrade. Add columns like AssignedTo and Priority in Google Sheets, then update the “Retrieve Ready Replies” step to filter by agent (or route by a Switch rule based on keywords). You can also change the “Modify Reply Status” update to write back who sent the reply and when. If you want approvals, introduce a second status like “Needs Review” before “Ready.”

Why is my WhatsApp Business connection failing in this workflow?

Usually it’s an expired token or the wrong permissions on your Meta app. Regenerate your access token, confirm the WhatsApp Business Account ID and phone number ID, and make sure the callback URL from the WhatsApp Trigger is still set correctly in the Meta Developers portal. Also check message type rules: outside the 24-hour window, custom text sends can fail unless you’re using an approved template message.

How many messages can this WhatsApp Sheets automation automation handle?

A lot. On n8n Cloud Starter, you’re limited by monthly executions, while self-hosting depends mostly on your server. In practice, WhatsApp rate limits and template rules matter more than n8n does, so if you’re sending hundreds of replies a day, plan on batching and adding slightly longer waits.

Is this WhatsApp Sheets automation automation better than using Zapier or Make?

Often, yes. This workflow benefits from scheduled fetching, batching, and writing statuses back to the same sheet, and n8n handles that kind of branching without turning into a maze of separate Zaps or scenarios. n8n also gives you the option to self-host, which is handy when volume grows and you don’t want every poll or update to become a bill. Zapier or Make can still be fine for a very small setup, like logging messages only, but the shared queue pattern tends to want more control. If you want a second opinion, Talk to an automation expert.

This is the kind of workflow you set up once and then rely on daily. Your WhatsApp messages stop being chaos, and your team finally has a queue they can work together.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Launch login modal Launch register modal