How to Create a Keyword-Based WhatsApp Chatbot in ChatSyncs
The beginner's path to building a keyword-triggered WhatsApp chatbot in ChatSyncs, using the Keyword Replies flow builder.
On this page
A keyword-based chatbot replies automatically when a customer types a specific word — that's exactly what Keyword Replies, ChatSyncs' flow builder, is built for.
- Instead of one canned reply, you design a full customer journey on a visual canvas.
- A keyword (a word or phrase the customer types) starts the flow.
- Connected blocks then send messages, collect answers, save them, and route the conversation — all without writing code.
Example: A customer types menu. That single word triggers a flow: the bot greets them,
shows your product categories as buttons, and routes them to the right next step —
automatically, every time, with no typing required from your side.
Open the builder#

Chatbot Manager → Automation → Keyword Replies opens the list of existing flows. Click Create on the Keyword Replies list to open a blank canvas.

The canvas opens with a Start Bot Flow block already on it, and a Flow blocks panel on the left for dragging on messages, data-collection blocks, and interactive components.
Configure the trigger#
Double-click Start Bot Flow to open its configuration panel, then:

Set Trigger Keywords
Enter the words or phrases that should start this flow, e.g.
menu, options, help. To pause the flow later without deleting it, just remove its trigger keywords here and save — with nothing to match, it stops firing but stays in your Keyword Replies list.Choose a keyword matching type
Exact keyword match fires only on an exact word; String match also fires on similar/partial keywords.
Give the flow a Title
Use a clear, descriptive title such as
welcome_bot,support_bot, orlead_capture_bot— this is how you'll find it later in the Keyword Replies list.Save
Click Save Changes to apply the configuration.
Automation Actions#
The same configuration panel has an Automation Actions section for managing the contact without sending a visible message:

- Add / Remove Label(s) — tag contacts by demographic, interest, lead status, or purchase history so you can target them later with segmented campaigns. Labels themselves are created in Subscriber Manager — this just applies an existing one automatically when the flow runs.
- Unsubscribe from Sequence — stop an automated message sequence (onboarding, lead nurturing, promotions, re-engagement) for this contact.
- Assign Conversation to a group — hand the conversation to a team (e.g. Sales, Support, Executive) so any member of that team can pick it up.
- Assign conversation to a user — hand the conversation to one specific team member.
Data & Integrations#
The Data & Integrations section collects what the bot learns from the conversation and sends it where you need it:

- Save to Custom Field — store a user's reply (name, email, phone, etc.) in a custom field you've created under Custom Fields.
- Forward Data to Webhook — POST the collected fields to an external URL (a CRM, database,
or custom app) as JSON, e.g.
{"name": "{{user_name}}", "email": "{{user_email}}"}. - Sync Data to Google Sheets — connect a Google account, pick a spreadsheet and worksheet, and map each custom field to a column; every new submission adds a row automatically.
Example — a lead-capture flow:
User sends 'Hi'
The trigger keyword starts the flow.
Bot asks for Name, Email, and Phone
Each answer is captured as it arrives.
Responses save to custom fields
e.g.
user_name,user_email,user_phone.Data forwards to a webhook
For CRM processing.
Data syncs to Google Sheets
For reporting and tracking — no manual entry.
Add flow components#

After saving Start Bot Flow, hover the block and drag its connector dot onto the canvas to open the list of components you can chain after it.
Click each component below to see what it does and how to configure it.
Text Message

Plain text — welcomes, instructions, FAQs, notifications. Type the Reply message
directly, or click Name (or type #) to drop in a variable — this is the block used in
the screenshot above.
Image Message

PNG/JPG — product images, banners, promos. Either Upload image a file directly, or paste an Image URL (see Media upload options below).
Video Message

MP4/FLV/WMV — demos, tutorials, marketing.
Audio Message
AAC/MP3/AMR/OGG, up to 16 MB — voice greetings, announcements.
File / Document Message

DOC/DOCX/PDF/TXT/PPT/PPTX/XLS/XLSX — brochures, invoices, manuals.
Media upload options (Image, Video, File)
All three media blocks share the same How to Send Media choice: Upload New Media (a file from your device, sent with the message) or Use Custom Field (a URL already stored in a custom field — useful for dynamic or previously uploaded content).
Interactive Message: Buttons, Lists & E-commerce

An Interactive Message has an optional Header (text or media), a required Message Body, and then branches into one of three reply types wired from its Reply connector:
- Buttons — up to 3 tappable buttons, each wired to its own next step.
- List Messages — a Section of up to 10 Rows; each row's Row setup sets a Row Generation Method (Static text you write, or Dynamic, generated from data), a Title, and a Description.
- E-commerce — attaches your product catalog to the message.

Each Button (and each list Row) has its own Button action — what happens when the customer taps it: Send Message (continue the flow), Start a Flow (jump into a different Keyword Replies flow), or System Default Action Button.


Every button or row also has its own Automation panel — the same kind of background actions available on Start Bot Flow, scoped to just that one option:

- Save to custom field, Add/Remove Label(s), Add/Remove from List(s)
- Subscribe to Sequence / Unsubscribe from Sequence
- Assign Conversation to a group / Assign conversation to a user
- Send data to Webhook URL, Send data to Google Sheets, Send data to Google Calendar (with an option to Generate Google Meet Link)
CTA URL Button

A button that opens a website — landing, payment, or booking pages — instead of sending text back to the bot. Set an optional Header Message, a required Body Message, an optional Footer Message, and the Call to Action Button's text and destination URL. See How to Add Clickable CTA Buttons for the full field-by-field walkthrough.
Location Message

Sends a quick-reply button that asks the customer to share their live location — useful for delivery address collection or finding the nearest store/branch. Just write the Body text shown alongside the request button.
HTTP API

Calls an external service (your CRM, backend, or any API) at this step in the flow. Pick a previously-configured API from HTTP API List, or click Create under Manage APIs to set up a new one without leaving the flow. See How to Connect a Bot Flow to External Systems for the full setup.
Google Sheet Data Fetch

Pulls data from a connected Google Sheet campaign into the conversation. Pick a campaign from Google Sheet Data Fetch Campaign List, or click Create under Manage campaigns to set up a new one. See Google Sheet Fetch for how to connect and configure it.
Random Number Generator

Generates a random value and stores it in a custom field:
- Character set — mix of numbers, upper-case letters, lower-case letters, and special characters.
- Value length — minimum 5 characters.
- Save to custom field — where the generated value is stored, ready to reference later (e.g. in a confirmation message as a token or ticket number).
Label Assign

Assigns one or more existing
labels to the
subscriber the moment the flow reaches this step — no visible message is sent. Useful for
segmenting contacts by which path they took through a flow (e.g. everyone who picked
"Admissions" gets tagged batch1).
WhatsApp Flow

Launches a Meta WhatsApp Flow — lead forms, bookings, surveys, registration. Pick the flow to send, then write the Message Body shown above the flow button, an optional Message Footer, and the Footer Button Text that opens it. See WhatsApp Flows for the full builder walkthrough.
User Input Flow

Runs a multi-question campaign and saves each answer to a custom field — good for surveys, order collection, reservations, and appointments. Pick an existing campaign from User input flow, or create a new one; the same panel lets you add/remove labels and wire up webhook or Google Sheets integrations for the whole campaign. See User Input Flow for how to build one.
AI Reply

Lets this step of the flow answer with AI instead of a fixed message, taught one of two ways:
- Message to learn — paste a sample message inline for the AI to learn from.
- Training campaign — pick an existing AI Knowledgebase campaign instead of retyping its training data.
Condition

Branches the flow into True and False paths based on rules you define:
- Match type — All Match (every rule must pass) or Any Match (at least one rule must pass).
- System Field rules — based on subscriber profile data (variable, operator, value).
- Custom Field rules — based on values saved in your own custom fields.
Wire the True connector to one path and False to another — e.g. If User Interest =
Sales → Sales Flow, otherwise fall through to a generic reply.

Template Messages

Sends an approved WhatsApp template from this step — pick one from Select template, or click Create to start a new one without leaving the flow.
A typical flow chains several of these:
Start Bot Flow
→ Welcome Text
→ Interactive Buttons
→ User Input Collection
→ Save to Custom Fields
→ AI Reply or Condition Routing
→ Webhook / Google Sheet Sync
→ Template Message Follow-UpPersonalize messages#

Inside a Text Message block, click Name to insert the user's name, or type # to insert any
custom field as a variable — e.g. Hey #LEAD_USER_FIRST_NAME#, welcome back!. You can also add
optional Message Footer text, commonly used for branding or disclaimers (e.g.
Powered by ChatSyncs).
Delivery options#
Each message block has Delivery Options for a more natural pacing:

- Smart Delay in Reply — wait a set number of hours/minutes/seconds before sending.
- Typing on display — show WhatsApp's typing indicator before the reply lands.
Clone or delete a component#

Hover any block on the canvas to reveal two small icons above it: the first clones the block (handy for reusing a configured component without rebuilding it), the second deletes it permanently.
Save & validation#

Before saving, every required field on every connected component must be filled in — a missing button text on an Interactive Message, or empty content on a Text Message, blocks the save and shows a validation warning.

Once every component is complete, click Save — a success confirmation appears and the flow is live.
Manage your flows#
Back on the Keyword Replies list, each flow has its own row of action icons:

| Action | What it does |
|---|---|
| Duplicate | Creates a copy of the flow — useful for reusing it with minor modifications. |
| Copy to Other Bot | Copies the flow to another bot in your account, instead of rebuilding it manually. |
| Export Flow Data | Exports the complete flow configuration for backup, migration, or sharing. |
| Edit | Opens the flow editor to modify the existing flow and its components. |
| Delete | Permanently removes the flow. |
| Move to Folder | Moves the flow into a folder to help organize multiple flows. |
Frequently asked#
What's the very first thing I need to build a keyword chatbot?
A trigger keyword — the word or phrase that starts the flow, set on the Start Bot Flow block. Connect a Text Message or Interactive Message block after it, save, and it fires whenever a customer's message matches.
Can one bot respond to more than one keyword?
Yes — build a separate flow per keyword (or group of keywords), each with its own trigger and its own reply.
Can I collect a customer's name, email, and phone number through the bot?
Yes — use User Input Flow blocks to ask for each value, and map each answer to a Custom Field under Data & Integrations. You can then forward the data to a webhook or sync it to Google Sheets automatically.
Why won't my flow save?
A connected component is missing required data — e.g. an Interactive Message with no button text, or an empty Text Message. ChatSyncs shows a validation warning naming the incomplete component; fill it in and save again.
What's the difference between Exact keyword match and String match?
Exact keyword match fires only when the customer's message is exactly one of your trigger keywords. String match also fires if a trigger keyword appears anywhere inside a longer message. If your bot isn't firing on messages you expected, check which matching type the Start Bot Flow block is set to — Exact match is stricter and will miss typos or extra words.
What if I want to pause a Keyword Replies flow but not delete it?
Open Start Bot Flow → Configure Reference, remove its Trigger Keywords, and save. With no keywords left to match, the flow stops firing for any customer message, but it stays in your Keyword Replies list — add the keywords back any time to turn it on again.
Learn From a Use Case#
- Gym Membership Plan Selector Automation — runs the whole plan-selection conversation.
- Travel Assistant — runs the structured Human Support handoff flow.
- Clinic Appointment Booking Automation — runs the welcome menu and the whole booking flow.
- Availability-Based Conversation Assignment — hands the conversation to a team at the right point in the flow.
Watch the video lesson
Was this page helpful?
Still stuck? Open a support ticket and our team will help.


