ChatKit
ChatKit bot builder guides — lead alerts, mentions, and notifications
Get notified about new leads — turn on push notifications
Why notifications matter ChatKit lead alerts and team mentions notify your agents inside Chatwoot — but only if notifications are enabled in each agent's profile. This guide makes sure you never miss a lead. Turn on push notifications (per agent) 1. Log in to Chatwoot as the agent. 2. Click your avatar (top-right) → Profile settings. 3. Open the Notifications tab. 4. Under Push notifications, click Enable push notifications and accept the browser prompt. 5. Tick the events you want to be notified about — especially @mentions and Conversation assignment. 6. Set your Notification sound and Email notifications preferences to taste. That's it — your browser/desktop will now alert you the moment a lead submits a form and ChatKit posts the mention. How ChatKit lead alerts work When a visitor completes a form in a ChatKit bot flow: 1. ChatKit posts a private note into the conversation with the collected answers. 2. If the inbox has a Mention team configured (Settings → Leads & Alerts), the note includes a team mention — every member of that team gets a Chatwoot notification. 3. The conversation is also tagged with the intent (e.g. Support, Refund) and the contact is enriched with the form data. Troubleshooting - I don't get mention notifications — confirm push notifications are enabled in your profile (above) and that you're a member of the mentioned team. - The mention shows as plain text — make sure the team name in ChatKit Settings → Leads & Alerts → Mention team matches the exact Chatwoot team name. - No alert at all — check the inbox's Notify agents on new leads toggle is ON.
Getting started with ChatKit
What you need Before you start, make sure you have: - A Chatwoot instance (self-hosted or cloud) and your login credentials - Your Chatwoot API token (Settings → Account → Access Token) - A Chatwoot inbox already created for the channel you want to automate (Website, WhatsApp, Telegram, Facebook) Step 1 — Connect ChatKit to Chatwoot 1. Log in to the ChatKit builder. 2. Open Settings. 3. Enter your Chatwoot Base URL, API Token, and Account ID. 4. Click Save — ChatKit pulls your inboxes automatically. Step 2 — Create your first inbox config 1. Go to Inboxes — your Chatwoot inboxes are listed here. 2. Pick one and open it. 3. Give it a name and confirm the Channel Type (website, WhatsApp, or Telegram). Step 3 — Build your first menu 1. Click + Add Menu Item (or + Add Root in Flow view). 2. Type the option label (e.g. Hours, Pricing, Support). 3. Set what happens when it's selected: a Text reply, Article card, Input Select, Form, or Submenu. 4. Use the Flow view to nest items (drag a node's bottom dot onto another node's top dot) and reorder the top-level chain. 5. Watch the Chat Preview on the right — it updates live as you build. Step 4 — Go live 1. Assign an AgentBot in Settings → General → AgentBot Assignment so Chatwoot routes webhooks to ChatKit. 2. Toggle the inbox Active. 3. Open your Chatwoot web widget and test: type a keyword, walk the menu, submit a form. Next steps - Read the Features articles to enable lead capture, follow-ups, and handoff context. - Check Get notified about new leads so your team gets alert mentions.
ChatKit features overview
Visual menu builder ChatKit is a drag-and-drop bot builder for Chatwoot. Build menus, submenus, text replies, article cards, input selects, and multi-step forms — all with a live chat preview. - List view — simple rows with move/reorder controls behind the ⋯ menu - Flow view — nodes and connections; drag a node's bottom dot onto another's top dot to nest it, side dots reorder the top-level chain Lead capture (built in) Every form submission becomes a lead — no external CRM needed: - Contact enrichment — email, phone, name, and custom fields map onto the Chatwoot contact - Intent tagging — conversations are labeled with the menu path (Support, Refund, ...) - Team alerts — a private note with a team mention notifies agents inside Chatwoot Configure all of this in the inbox's Settings → Leads & Alerts. Follow-up reminders Re-engage silent conversations automatically: set a delay and a follow-up message, and the bot nudges users who haven't replied. Agent handoff with context When a user asks for an agent (or a handoff keyword triggers), the bot: 1. Replies with your handoff message 2. Drops a private note with the intent path + collected form answers 3. Marks the conversation so the agent sees bot_handed_off Multi-channel One flow works across Website, WhatsApp, Telegram, and Facebook — every conversation lives in your Chatwoot inbox. Self-management No code required: update menus, forms, keywords, and messages from the builder anytime. We deploy, host, and support it.
Menu flows & forms
Menu items and what they can do Every menu item has a type that controls what happens when the user selects it: - Text — reply with a message - Article — show article cards with title, description, and link - Input Select — show numbered options the user can pick - Form — collect fields (text, email, number, text area, select) in one screen - Sequential Form — collect fields one question at a time - Cards — rich cards with media, title, description, and buttons - Submenu — nest more items underneath Build a menu 1. Open an inbox and click + Add Menu Item. 2. Enter the label (what the user sees) and set its type. 3. For a Submenu, add child items — either with the + button on the node in Flow view, or by nesting in the menu editor. 4. Reorder the top-level chain with the side dots (Flow view) or the ⋯ menu (List view). Forms that capture leads Forms feed directly into the Leads & Alerts features: the answers enrich the contact, tag the conversation by intent, and trigger the team alert. Field types include: - Text — free text - Email — validated format - Number — validated number - Text Area — longer answers - Select — predefined options Navigation keywords Users can also type back / home (configurable) or the item's name to navigate — great for chat channels without buttons.
Lead capture & team alerts
How it works When a visitor completes a form in your bot flow, ChatKit automatically: 1. Enriches the contact — answers map to the Chatwoot contact: email, phone, name, plus custom attributes (bot_<field>) so you can segment and search. 2. Tags the conversation by intent — the label comes from the last menu-path segment (e.g. Support, Refund, Reservation). 3. Alerts your team — a private note is posted into the conversation with the answers; if a Mention team is set, that team gets a Chatwoot notification. Configure it Open the inbox → Settings → Leads & Alerts: | Setting | What it does | |---|---| | Enrich contact on form submit | Maps answers onto the Chatwoot contact (on by default) | | Tag conversations by intent | Adds the menu-path label to the conversation (on by default) | | Handoff context for agents | Private note with intent + answers when handing off (on by default) | | Notify agents on new leads | Posts the 🔔 alert note on form submit (on by default) | | Mention team | Exact Chatwoot team name to mention in the alert — members get notified | | Alert message | Custom text for the alert note | Team mentions need notifications enabled For agents to actually receive the mention, they must enable push notifications in their Chatwoot profile. See the article Get notified about new leads — turn on push notifications.
Follow-up reminders
What it does If a user stops replying mid-conversation, ChatKit can send them a follow-up message after a delay — up to a configurable number of reminders — to bring them back. Configure Open the inbox → Settings → Follow-up: - Delay (seconds) — how long to wait after the last user message before the first reminder (default 120) - Max reminders — how many follow-ups to send before giving up (default 1) - Follow-up message — the text to send; leave empty to disable follow-ups entirely Good practices - Keep the message short and helpful: "Are you still there? How can I help?" - Use a delay that matches your audience (120s is great for live chat; longer for WhatsApp) - Don't set too many reminders — one or two is usually enough to avoid annoying users
Agent handoff with context
Triggers A handoff happens when the user: - Types one of the Agent request keywords (default: agent, human — configurable per inbox) - Selects a menu item that leads to a handoff What happens on handoff 1. The bot replies with the configured Handoff message. 2. A private note is added to the conversation with: - The intent path (🧭 e.g. Browse Menu → Support) - Any form answers collected so far 3. The conversation is marked with bot_handed_off and its status is set to Open, so it appears in the agents' queue. For your agents The note is private — only your team sees it. It's visible in the conversation view when they open it, so they immediately know what the customer was doing and what data was already collected. No more asking for order numbers twice. Configure - Agent request keywords — Settings → Messages - Handoff message — Settings → Messages - Handoff context toggle — Settings → Leads & Alerts
Managing your inboxes
Inboxes are pulled from Chatwoot ChatKit reads your Chatwoot inboxes automatically — there's nothing to create in ChatKit first. Each inbox has its own bot configuration (menu, messages, lead settings). Create a new inbox config 1. Inboxes → Refresh — your Chatwoot inboxes appear. 2. Open one and configure it: menu, messages, follow-ups, and Leads & Alerts. 3. Assign an AgentBot in Settings → General so Chatwoot routes webhooks to ChatKit. 4. Toggle Active to go live. Organize your menu - List view — every row has a ⋯ menu: move up/down, unlink (make top level), move under another item, edit, delete - Flow view — drag dots to nest/reorder; hover a node for + (add sub-item), ⤓ (unlink), ✕ (delete) Auto-save Changes to your menu and settings auto-save a couple of seconds after you make them — including nesting changes. The Save button forces an immediate save. Delete Removing an item also detaches any children (they become top-level) and clears stale references, so your flow never ends up in a broken state.