"Are you open on Sunday?" "Do you deliver to Pune?" "What's the price of the large one?" If your WhatsApp fills up with the same ten questions every day, an AI assistant can answer them in seconds, at 2 AM, while your team sleeps.
This guide shows you how to build a ChatGPT-powered WhatsApp chatbot without writing code. You'll use three tools: SyncMate to connect your WhatsApp number, n8n to run the workflow, and OpenAI for the AI replies. You'll also see what WhatsApp's 2026 rules allow, so your bot stays on the right side of them.
What You'll Build
By the end, you'll have a WhatsApp assistant that:
- Replies to customer messages on your own WhatsApp number within seconds.
- Answers only from your business information: hours, prices, delivery areas, policies.
- Remembers the conversation, so customers don't have to repeat themselves.
- Hands the chat to a person when it can't help, or when the customer asks for one.
- Ignores group chats and your own messages, so it never talks to itself.
How the Chatbot Works
Every message makes the same round trip in a few seconds.
Chatbot flow · 6 steps, 1 handoff branch
SyncMate handles WhatsApp, n8n handles the logic, and OpenAI writes the words. You can swap any one of them later without rebuilding the others.
Is a ChatGPT Chatbot Allowed on WhatsApp in 2026?
Yes, if it serves your customers, and no, if it's a general-purpose AI assistant.
In October 2025, WhatsApp changed its Business Solution terms to ban AI providers from offering general-purpose chatbots, where the AI itself is the product. The rule took full effect on 15 January 2026, and OpenAI, Perplexity and Microsoft all shut down their WhatsApp bots. Meta said the change does not affect businesses using AI to serve their own customers.
In practice, that means:
Allowed
Not allowed, or best avoided
Answering questions about your products, prices, hours and policies
A bot that answers anything ("write my essay", "explain quantum physics")
Booking appointments and confirming reservations
Offering "ChatGPT on WhatsApp" as a service to the public
Order status and delivery questions
AI companions or open-ended chat
Qualifying leads before a salesperson takes over
Bots that never let customers reach a human
The bot in this guide is built for the left column. Its instructions keep it on your business, and it hands off to a person when needed. Build it this way whichever kind of number you use; it's also what customers actually want from a business.
What You Need
- A SyncMate account with webhooks turned on, so incoming messages can reach n8n. Webhooks are part of SyncMate's Advance API. It’s included on the Free, Personal, Professional and Business plans. See SyncMate pricing.
- Your WhatsApp number connected to SyncMate. Follow the guide to connect your WhatsApp with SyncMate. Choose the cloud-based Assistro Standard connection so the bot works when your computer is off.
- n8n, either n8n Cloud or self-hosted.
- An OpenAI API key from platform.openai.com with billing set up. This is separate from a ChatGPT Plus subscription; the API is billed by usage.
- Your business facts in one document: opening hours, locations, prices, delivery areas, return policy and your top 20 customer questions with answers. The bot is only as good as this.
Build the Chatbot in n8n, Step by Step
The whole workflow is seven nodes. Build it in this order and test after each step.
Step 1: Connect your WhatsApp number to SyncMate
If you haven't already, connect your number in SyncMate and check it shows as connected. Then turn on the Advance API in your SyncMate settings, which unlocks webhooks. Use a number your customers already know; a chatbot on an unknown number gets fewer replies.
Step 2: Receive WhatsApp messages in n8n
- In n8n, create a new workflow and add a Webhook node.
- Set the HTTP method to POST and copy the Production URL.
- In SyncMate, open the webhook settings, paste the URL, and choose the Incoming Message event type. The help guide shows each screen: set up webhooks for WhatsApp events.
- Activate the workflow, then send a WhatsApp message to your number from another phone.
Open the webhook's execution in n8n. You'll see the message data SyncMate sent, including the sender's number and the text. Note the field names; the next steps refer to them.
Step 3: Filter out messages the bot shouldn't answer
Add an If (or Filter) node after the webhook. Let a message through only when all of these are true:
- It's from a person, not a group. Group IDs end in @g.us, so check the sender doesn't contain @g.us.
- It wasn't sent by you. Otherwise the bot replies to its own replies.
- It contains text. Skip images, voice notes and stickers for now.
This one node prevents the two most embarrassing chatbot bugs: talking to itself, and answering in your family group.
Step 4: Add the AI agent and write its instructions
Add an AI Agent node and attach an OpenAI Chat Model to it with your API key. Pick a current, low-cost GPT model; answering customer questions doesn't need the most powerful one.
Set the agent's input to the incoming message text. Then paste these instructions into the System Message, and replace the parts in brackets:
You are the WhatsApp assistant for [Business name], a [type of business] in [city].
Only answer questions about [Business name]: products, prices, opening hours,
delivery, bookings and policies. Use only the business information below.
If the answer is not in the information, say you'll pass the question to the
team, and end your reply with [HANDOFF].
If the customer asks for a person, or seems upset, say a team member will reply
soon, and end your reply with [HANDOFF].
Politely decline anything unrelated to [Business name].
Never invent prices, dates or policies. Never ask for card numbers or passwords.
Keep replies under 80 words, friendly, in the customer's language.
If asked, say you are an automated assistant.
Business information:
[Paste your hours, locations, prices, delivery areas, policies and top 20 FAQs]
These instructions do three jobs at once. They keep answers accurate, keep the bot on your business (the line between an allowed and a banned bot), and flag chats that need a person.
Step 5: Give the bot a memory for each customer
Without memory, every message is a fresh start: a customer who asks "how much is delivery?" and then "and to Thane?" gets a confused answer. Attach a memory sub-node (such as Simple Memory) to the AI agent and set its session key to the sender's number. Each customer then gets their own short conversation history. Keeping the last 10 messages is plenty.
Step 6: Send the reply on WhatsApp
Add the WhatsApp Notifications by SyncMate node (the community node n8n-nodes-syncmate; on self-hosted n8n, install it from Settings → Community nodes). Choose Send Notification, then set:
- Phone Number: the sender's number from the webhook, digits only with country code.
- Message: the agent's answer with the handoff tag removed: {{ $json.output.replace('[HANDOFF]', '').trim() }}
Can't install community nodes? Use n8n's HTTP Request node instead. Send a POST to https://app.assistro.co/api/v1/whatsapp/messages/text with the header Authorization: Bearer YOUR_TOKEN and this JSON body (full reference on the WhatsApp API for developers page):
{
"to": "{{ sender number }}",
"text": "{{ agent reply }}"
}
For more on the node, see how to send WhatsApp messages from n8n.
Step 7: Hand off to a human
Add an If node after the agent that checks whether the reply contains [HANDOFF]. On the "true" branch, add a second SyncMate node with Send Group Message, pointed at your team's WhatsApp group:
Handoff needed: +91 98765 43210 asked "Can I change my order to Saturday?"
Whoever picks it up replies to the customer from the same number, on their phone or the SyncMate Chrome extension shared inbox. To stop the bot from jumping back in, keep a simple list of numbers in handoff (a Google Sheet works) and check it in the Step 3 filter. Find your group's ID with the free WhatsApp Group ID finder.
Prefer Make? The Same Bot in Make.com
The same idea works in Make with three modules:
- Webhooks → Custom webhook to receive messages from SyncMate (paste its URL into SyncMate's webhook settings).
- OpenAI → Create a completion, with the same instructions from Step 4 as the system message.
- SyncMate → Send a message to a number to reply. See Make.com WhatsApp automation for connecting SyncMate.
Add a filter between the webhook and OpenAI for the Step 3 rules. Make has no built-in chat memory, so store recent messages per customer in a Make data store if you need follow-up questions to work. If memory matters to you, n8n is the easier choice.
Test, Launch and Improve
Before you switch it on for customers, send these test messages from a second phone:
- ☐ A question your facts answer ("What time do you close on Saturday?")
- ☐ A follow-up that needs memory ("And on Sunday?")
- ☐ A question your facts don't answer (should hand off)
- ☐ "Can I speak to a person?" (should hand off)
- ☐ Something off-topic ("Write me a poem") (should politely decline)
- ☐ A message in another language your customers use
- ☐ A message in a group your number is in (should be ignored)
Then launch gently. A good first step is to run the bot only outside business hours, using an n8n time check before the AI agent. Read the conversations every week for the first month, add missing answers to the business information, and tighten the instructions wherever the bot guessed.
What It Costs
Three costs add up, and all three are small for a typical small business:
- SyncMate: your plan's monthly message allowance covers the bot's replies. Webhooks need the Advance API, which is included on the Free, Personal, Professional and Business plans. See SyncMate pricing.
- n8n: an n8n Cloud subscription, or free software on your own server.
- OpenAI: billed per use, by the amount of text processed. Short support replies on a low-cost model cost very little each; check OpenAI's pricing page for current rates and set a monthly spending limit.
Troubleshooting
Problem
Likely cause
Fix
Bot never replies
Workflow not active, or SyncMate has n8n's test URL
Activate the workflow and paste the Production webhook URL into SyncMate
Bot replies to itself in a loop
The "sent by me" filter is missing
Add it to the Step 3 filter, then restart the workflow
Bot answers in groups
The group filter is missing
Skip senders containing @g.us
Bot makes things up
The answer isn't in your business information
Add the fact, and keep the "never invent" line in the instructions
Bot forgets what was said
Memory session key isn't the sender's number
Set the key to the sender's number in the memory node
Error from OpenAI
No billing on the OpenAI account, or a usage limit reached
Add billing or raise the limit at platform.openai.com
Launch Your AI WhatsApp Assistant
You've built a ChatGPT-powered WhatsApp chatbot without writing code: it answers from your business facts, remembers each conversation, and hands off to your team when it should. Start with after-hours replies, improve it weekly, and let it take the repetitive questions off your team's plate.
Start free with SyncMate
Connect the WhatsApp number you already use, link your store or CRM, and send your first automated message today.
Explore the WhatsApp n8n integration
Frequently Asked Questions
Can I put ChatGPT itself on WhatsApp?
Not as a general assistant. Since 15 January 2026, WhatsApp's business terms ban general-purpose AI chatbots, and OpenAI's own WhatsApp bot was shut down. You can build an AI assistant that answers questions about your business, as this guide shows.
Do I need to know how to code?
No. Every step uses n8n's visual editor. The one expression in Step 6 can be copied as is.
Does this work with the official WhatsApp Business API?
SyncMate can also connect a Meta Cloud API number, and replies to customer messages fall inside WhatsApp's 24-hour window, so no templates are needed. Incoming-message webhooks work the same way for Meta numbers.
Can the chatbot understand voice notes and images?
Not in this version; the Step 3 filter skips them. You can add transcription or image understanding later with extra n8n nodes.
Will it reply in Hindi, Arabic or other languages?
Yes. The instructions tell it to reply in the customer's language, and current GPT models handle most widely spoken languages well. Test with your customers' languages before launch.
How do I stop the bot for one customer?
Add their number to your handoff list (Step 7). The Step 3 filter then skips them until you remove it.
