Intent Detection
Intent Detection teaches your chatbot to recognize what a customer is trying to do — not just answer questions, but identify specific goals and take action on them automatically.
Plan requirement: Intent Detection is available on the Standard plan or higher. You must also enable it in your chatbot's Features settings before use.
What Is Intent Detection?
Most chatbots are good at answering questions. Intent Detection takes things a step further: it lets the chatbot recognize a specific customer goal, collect the information needed to act on it, and then do something useful — like alert your team, send a confirmation, or hand the conversation to a human.
Example: A customer types "I'd like to book a table for Saturday evening." Instead of just replying with your hours, the chatbot recognizes this as a "Book Table" intent, asks for their name, party size, and phone number, then immediately notifies your reservations team — all without any manual work on your end.
Each intent you set up has two key parts:
- Slots — the pieces of information the chatbot collects from the user (name, date, order number, etc.)
- Actions — what happens once all the required information is collected (notify staff, send a reply, hand off to a human, call an external system)
When to Use Intent Detection
Intent Detection is most useful when a customer conversation should trigger a specific, repeatable workflow. Here are some common examples:
- Appointment booking — detect when someone wants to schedule a meeting or visit, collect their name, preferred date, and phone number, then notify the relevant team member
- Refund requests — detect a refund intent, collect the order number, stop the AI, and hand the conversation to a human who can process it properly
- Lead capture — detect "get a quote" or "learn more" intent, collect name, email, and requirements, then alert your sales team immediately
- Order tracking — detect a tracking request, collect the order number, and send the customer a custom reply with instructions for checking their status
- Escalation to human — detect phrases like "speak to a person" or "talk to support" and immediately stop AI responses so a staff member can take over
Enabling Intent Detection
Before creating intents, you need to turn the feature on for your chatbot:
- Open your chatbot and go to Settings → Features.
- Toggle on Intent Detection.
- Click Save.
- Navigate to the Intents tab — this is where you will manage all your intents.
Understanding Intents
Name and Description
Every intent has a short name (your internal label, like "Book Appointment") and a description that explains to the AI when this intent should be triggered.
The description is important — it is how the AI learns to recognize the intent. Write it in plain language describing what the user is trying to do and what kinds of phrases should trigger it.
Tip: A good description sounds like this: "The user wants to schedule an appointment or meeting. Triggered by phrases like 'book a time', 'set up a call', 'can I make an appointment', or similar."
Slots — Information to Collect
Slots are the individual pieces of data the chatbot gathers from the user before taking action. Each slot has a name (e.g., "Preferred Date"), a type indicating what kind of data it is, and whether it is required or optional.
| Slot Type | Use it for |
|---|---|
| Text | Names, service types, notes, free-form answers |
| Number | Quantities, party sizes, order numbers |
| Date | Appointment dates, preferred times |
| Phone | Phone numbers |
| Email addresses |
The chatbot will ask follow-up questions until all required slots are filled. Optional slots are collected if the user provides them naturally, but the chatbot will not block on them.
Note: Only mark a slot as required if you truly need it to proceed. Requiring too much information creates friction and may cause users to drop off.
Actions — What Happens When the Intent Completes
Once all required slots are filled, the chatbot runs the actions you have configured. You can add multiple actions to a single intent — they all run together.
| Action | What it does | Best used when |
|---|---|---|
| Stop AI | The chatbot stops generating AI responses and waits for a human to take over | Human follow-up is required (refunds, complex requests, escalations) |
| Reply | The bot sends a custom message you write, which can include the collected slot values | Sending automated confirmations or next-step instructions |
| Notify | Sends an alert to a staff member via email or Telegram, including all collected information | Your team needs to know immediately so they can follow up |
| Webhook | Sends all collected data as a JSON payload to an external URL | Integrating with a booking system, CRM, or any other platform |
Combining actions is powerful. For example, Reply + Notify + Stop AI lets you send the customer an instant confirmation, alert the right team member, and then step aside so a human can take over — all in one intent.
Creating an Intent
Option 1: Create Manually
- Go to your chatbot's Intents tab.
- Click New Intent.
- Enter a clear Name and write a descriptive Description.
- Add Slots: click Add Slot, choose a name, select the type, and set whether it is required.
- Add Actions: click Add Action, choose the action type, and fill in the configuration.
- Click Save.
Option 2: Generate with AI
The platform can build the entire intent for you from a plain-English description — slots and actions included.
- Click AI Generate Intent.
- Type a description of what you want in everyday language. For example:
"When a customer wants to book a table at our restaurant, collect their name, the date and time they want, party size, and phone number. Then send them a confirmation message and notify our reservations team."
- Click Generate — the AI creates the intent with slots and actions pre-filled.
- Review everything, make any adjustments, and click Save.
Tip: AI generation is an excellent starting point, especially for your first few intents. Always review the result before saving — the AI gets you 80% of the way there, and you fine-tune the rest.
Configuring Actions
Stop AI
No configuration needed. When this action is triggered, the chatbot immediately stops generating AI responses. The conversation remains open and visible to your team so a staff member can step in. Pair this with a Notify action so someone knows to follow up.
Reply
Write the message you want the chatbot to send. You can reference collected slot values using curly-brace placeholders:
Thank you, {Customer Name}! We have received your request for {Preferred Date}.
Our team will call you at {Phone Number} to confirm.
Use the exact slot names you defined, wrapped in {}.
Notify
Select a staff member from your team to receive the alert. They will receive a message containing all the slot values the chatbot collected, along with a link to the conversation. Make sure the staff member has their notification preferences set up (email or Telegram) in Staff Settings.
Webhook
Enter the URL where you want the data sent. The platform will make a POST request to that URL with a JSON payload containing the intent name, all collected slot values, and the customer ID and conversation ID.
Tip: Before wiring up your real system, test with a free tool like webhook.site to see exactly what the payload looks like. This saves a lot of debugging time.
For full details on the request format, authorization, and logging, see the Webhook Action reference.
Reviewing Intent History
Every time an intent is triggered, the platform logs it. To review:
- Go to the Intents tab.
- Click the History sub-tab.
For each trigger event, you can see which intent was triggered, which customer triggered it, all slot values that were collected, the exact date and time, and which actions were executed. Use the history to verify that your intents are working as expected, review the information customers are submitting, and understand which intents are most frequently triggered.
Real-World Example: Appointment Booking
Here is a complete, ready-to-use example you can adapt for your business.
Intent Name: Book Appointment
Description: The user wants to schedule an appointment, meeting, or consultation. Triggered by phrases like "book a time", "make an appointment", "schedule a call", "I'd like to come in", or similar.
Slots:
| Slot Name | Type | Required |
|---|---|---|
| Customer Name | Text | Yes |
| Preferred Date | Date | Yes |
| Phone Number | Phone | Yes |
| Service Type | Text | No |
Actions:
- Reply — "Thank you, {Customer Name}! We have received your appointment request for {Preferred Date}. Our team will call you at {Phone Number} to confirm the details."
- Notify — Send to the "Reception Team" staff member
- Stop AI — Hand the conversation to a human for follow-up
With this setup, a customer gets an instant confirmation, your receptionist gets an alert with all the details, and a staff member can follow up — all triggered by a single message like "I'd like to book an appointment for next Tuesday."
Tips for Effective Intents
- Write specific descriptions. The AI uses your description to decide when to trigger an intent. Vague descriptions lead to missed or false triggers. Include example phrases users might say.
- Require only what you truly need. Every required slot is a question the bot must ask. Keep it lean — you can always collect more information after the handoff.
- Use Reply + Notify together. This combination gives customers immediate acknowledgment while making sure your team never misses a lead or request.
- Start with 2–3 key intents. It is tempting to map every possible customer goal, but start with the highest-impact ones. Check the trigger history after a week to see what is working, then expand.
- Test with real phrasing. After creating an intent, open the chatbot preview and type the kinds of things real customers would say — not just the "perfect" trigger phrase. Adjust the description if the intent is not firing when it should.
- Review history regularly. The intent history is your feedback loop. Use it to catch intents that are triggering incorrectly or slots that customers are consistently leaving blank.