Intent-Based Engine Agentlabs

AI Tools

Introduction

We're introducing Intent-based Engine, a new feature that gives businesses more advanced control over their chatbot setup. Built natively within Qiscus AgentLabs, Intent-based Engine brings intent-driven conversation design directly into your workflow.

As an intent-based chatbot engine, this feature helps you build rule-driven conversations using intents, entities, and flows. With faster setup, native Omnichannel integration, and centralized management, Intent-based Engine gives you full control over conversation flow, designed and engineered for your business.

Key Features

Intent-based Engine introduces three features designed to make chatbot conversations more flexible, less repetitive, and easier to manage operationally.

  1. Flexible Smart Follow Up
    Bots can take automated actions after inactivity or based on conversation state, with seconds-level precision and multiple actions per flow. Supported actions: Send Message, Resolve Room, and API Call, ideal for reminders, inactivity handling, escalation workflows, and system integrations.

  2. Random Response Variants
    Multiple response variations can be set for a single intent and automatically selected by the system, making conversations feel more natural and dynamic without complex logic.

  3. Easier Integration & Operational Control
    Features and integrations are managed within the same ecosystem, enabling faster maintenance, quicker troubleshooting, better monitoring, and more consistent operational management.

  4. Intent Visual Builder

Intent Visual Builder provides a no-code interface for designing, managing, and visualizing chatbot intents, making intent configuration accessible to both technical and non-technical teams. The builder consolidates all intents and their relationships within a single canvas, complete with visual markers indicating which intents include Fulfillment, Custom API, or pending configuration enabling teams to identify gaps and broken connections at a glance.

Building a conversation Intent-based Engine flow

To design and configure your bot's conversation logic, open the App Center menu and start building your Intent-based Engine conversation flow.

  1. In the Your Installed Apps section, search for “Intent-based Engine - Agentlabs”




  1. Click Addon Setting

  2. You will be redirected to the Intent-based home page, which shows the list of bot projects you have created before (if any).




  1. Click Create Bot to create a new project

  2. Redirected to Bot creation wizard




  1. Fill out the Bot Profile form and then click “Next” to continue

    1. Display Name

    2. Description

    3. Language

    4. Default Timezone

    5. Machine Learning min Confidence

  2. Assign the Bot to a Channel (optional); for this session, you can skip this and click Create. You will then be redirected to the Bot detail page, and you will finally have a new Bot project.


  3. But, to have a conversation with the bot you need to scroll down on the Bot detail page to get the Webhook URL

  4. Go to the Agentlabs menu, then click button Create Project at the top right of the Dashboard




  1. Choose Custom Bot engine, and you will be redirected to Bot creation wizard in Agentlabs Dashboard


Note: Before proceeding, ensure the Activate AgentLabs Integration toggle is enabled on the Project Management page.

  1. Paste the Engine URL from Intent-based Engine addon, then click Next

  2. Assign the bot to your preferred channel.


  1. Click the Finish button

  1. To test your bot, use the Test Bot located at the top right of the page on Agentlabs Dashboard.


  1. Click Activate to enable the Test Bot Widget.

  1. Your bot is now integrated



Managing Intent-based Engine

The Managing Intent-based Engine section gives you full control over your bot configuration. To ensure your bot responds according to your intended flow, training is required before deployment.

Intents

An Intent represents the goal behind a user's message. Intent-based Engine matches each message to the most relevant intent, which defines how the chatbot responds.

Components of an Intent

Each intent is made up of several key components:

  1. Training Phrases

Examples of user messages used to train the chatbot to recognize the intent.

  1. Action

A label or identifier that defines what should happen when the intent is triggered (often used for integrations).

  1. Parameters

Variables that store important data extracted from user messages (e.g., name, date, product).

  1. Response

The reply that the chatbot sends when the intent is matched.

This can include text, buttons, lists, and more.

  1. Context (Input / Output)

  2. Controls the flow of conversation:

    1. Input Context: When this intent is allowed to trigger

    2. Output Context: What state is activated after the intent runs


Relationship Between Intents

Intents are not always standalone. They can be connected to create structured conversation flows.

  1. Follow-up Intent

Defines the next step in a conversation after a previous intent is triggered.

Learn more: Follow-up Intent

  1. Parent–Child Intent

Organizes intents in a hierarchical structure.

Learn more: Child & Parent Intent

Export & Import

The Export & Import feature allows users to transfer chatbot configurations between projects or platforms. This feature is useful for backing up chatbot data, duplicating bot configurations, or migrating existing chatbot setups into Intent-based Engine.

Using Export & Import helps users maintain chatbot configurations more efficiently and simplifies the migration process between supported platforms.

Export Bot

The Export Bot feature allows users to download the chatbot configuration currently used in the Intent-based Engine project.

To import your .JSON file, please follow these steps:

  1. Open the Export section, Click Export as JSON. The system will automatically generate and download the bot configuration file in .JSON format


It is recommended to export the bot before performing major updates or imports to avoid losing important configurations.

Import Bot

The Import Bot feature allows users to upload chatbot configurations into the current Intent-based Engine project.



Intent-based Engine supports importing chatbot configurations from multiple sources to simplify migration and bot replication.

Import Form

Intent-based Engine supports importing chatbot configurations from multiple sources to simplify migration and bot replication.

  • Dialogflow (.zip):  migrate configurations to Intent-based Engine

  • AgentLabs (.xlsx): import from AgentLabs export

  • Intent-based Engine (.JSON): import from another Intent-based Engine project

Import Modes

For Dialogflow and Intent-based Engine imports, two modes are available:

  • Import Intents adds new intents, updates existing ones, and preserves unaffected bot data. Recommended for merging or updating configurations.

  • Restore Bot deletes all existing intents and replaces them with the imported configuration. Recommended only for complete chatbot replacement.

⚠️ Warning: Restore Bot deletes all existing intents. This action cannot be undone.

Important Notes:

  • It is strongly recommended to export the current bot configuration before importing new data.

  • Restore Bot mode will permanently replace all existing intents.

  • Imported configurations should follow the supported file structure and format.

  • After the import process is completed, users should review intents, responses, entities, and flows to ensure everything works correctly.

  • Imported bots can be tested directly using the Test Bot Widget after migration is complete.


Create Intent 

Basic Setting

  1. To create a new intent, click Create Intent.


  1. A form will appear where you can configure the intent details.


  1. When you enable the Enable Fallback toggle, this intent will respond to any message that doesn't match other configured intents.



  1. Click Add Phrase. A text field will appear where you can enter phrases that will trigger this intent.



  1. Click Save Changes to save the intent.



  1. Your intent has been successfully created. Click OK to close this popup.



Advance Settings

  1. Open the Advanced Settings section and fill in the fields according to your needs.


  1. In this setting, you can fill in the check box for service requirements that require Webhooks. Then click Save Changes



Response Setting

  1. To add a new Response, click Add Response.



  1. Write the message you want your bot to reply with.




  1. The intents you create will appear on the Intent page, where you can edit or delete them as needed.



Create Intent with Intent Visual Builder

  1. You can use the Intent Visual Builder to view your conversation flow mapping by click Go to Intent Visual Builder 


  1. To add intent, click the + sign and click on an intent in the canvas to open its configuration panel.



  1. Enter the phrases that will trigger this intent.


  1. Click Save Changes 


  1. add bot response in Response Settings section and click Save Changes


  1. The child intent will follow its parent in the conversation flow, allowing you to build structured, multi-level dialogue paths.



  1. Click the Collapse button to minimize the intent list.



  1. Click the Expand button to view the full intent list.



  1. Use the search field to find a specific intent.


Entities

What is a System Entity

System Entities are predefined (built-in) entities provided by Intent-based Engine to automatically recognize common types of data from user input.



Instead of creating entities manually, you can directly use system entities to extract structured information such as dates, numbers, email addresses, or phone numbers. This helps speed up development and ensures consistent extraction.

On the entity extraction page there are two sections, namely custom and system

Custom Entities

Examples of Custom Entity use cases include:

  • Product names or merchandise categories.

  • City names, branch locations, or specific service coverage areas.

  • Promo codes, transaction IDs, or tracking numbers.

  • Specific terms or jargon unique to your industry.


How to Use Custom Entities

  1. Select the Entity Extraction menu, in the Custom section, click the Create Entity button



  1. fill in the fields according to your needs



  1. Entity created successfully




  1. Once the entity is created, go to the Intent page and double-click the related word. Select the appropriate custom entity




  1. The selected word will be highlighted as a marker and click Update Phrase to save




  1. The custom entity has been successfully created and will be recorded in the intent parameter section.





System Entities

When you annotate a word, a dropdown list will appear showing the various available entity options. Here is a list of available entities (including both system and custom): 



Entity Name

Data Type

Example Input

Example Output

@sys.date

Date

"tomorrow", "August 17"

2026-08-17

@sys.time

Time

"2 pm", "14:00"

14:00:00

@sys.date-time

Date & Time

"tomorrow at 2 pm"

2026-08-17T14:00:00

@sys.number

Number

"five", "100"

5, 100

@sys.email

Email Address

"[email protected]"

[email protected]

@sys.phone-number

Phone Number

"081234567890"

081234567890

@sys.any

Free Text (Catch-all)

"any text here"

any text here

[Custom Entity Name]

Specific Data (Custom)

"green onion" (Synonym)

scallion (Reference value)


Smart follow-ups

Configure automated follow-up actions for your conversations.

Send Message

  1. Select the Smart Follow-up menu, then click new rules to create new rules.



  1. Fill in all fields correctly and select the action type Send Message


  1. Write a message for the response to be displayed, then click Create Follow-up Rule


  1. Your smart follow-up message has been successfully created. The message will be displayed in the rules list.



Resolved Message

  1. Select the Smart Follow-up menu, then click new rules to create new rules.


  1. Fill in all fields correctly and select the action type Resolve Room


  1. Write a message for the response to be displayed, then click Create Follow-up Rule


  1. Your smart follow-up message has been successfully created. The message will be displayed in the rules list.




API Call 

  1. Select the Smart Follow-up menu, then click new rules to create new rules.



  1. Fill in all fields correctly and select the action type API Call, then click Save Changes




  1. Your smart follow-up message has been successfully created. The message will be displayed in the rules list.



Hand Over Agent

Handover is the process of transferring a conversation from the chatbot to a human agent in Qiscus Omnichannel.

This feature enables collaboration between automation and human support. When a specific intent is triggered, the chatbot can automatically pass the conversation to a human agent so the user can receive more personalized or complex assistance.

The Agent Handover page offers two configurable services. Enable the toggle for the one you need: Outside Office Hours to handle conversations outside business hours, or Handover Only to Online Agent that to route only to available agents.

How to Use

You can follow the steps below to set up the Handover to Online Agent feature:



  1. Open the handover agent menu, then make sure the handover agent toggle is activated before filling in the information fields. 


  1. Fill in the handover only for online agent messages, and please check the specification sent method box.



  1. Click the + Create Handover Agent button to make detail division you want to assign



  1. Your handover agent message has been successfully created and will be recorded in the Total Configuration Intent section. You can also edit or delete the information anytime if needed.


  1. In the Intent Visual Builder, intents configured for agent handover are marked with a visual indicator, making it easy to identify which intents trigger an agent transfer.




Bot Training

The Bot Training feature allows users to improve the chatbot’s ability to understand user messages. By training the bot with new phrases, the system can better match user inputs with the appropriate intents. These features help continuously improve the bot’s Natural Language Understanding (NLU) accuracy.

Intent-based Engine provides two training methods:

  • Live Training: Train phrases directly from real user conversations.

  • Batch Training: Train multiple phrases at once using a XLSX.file.

In addition to data records, in the menu Bot Training also includes a Session section that records every conversation between your bot and users. This helps you review past interactions and analyze how your bot performs across different sessions.

Live Training

The Live Training feature allows users to review real user messages received by the chatbot and train them into the appropriate intents.



You can classify words into categories to help your bot recognize and respond to different types of user input more accurately. 

By clicking the Action option in the table, you will open the Assign Training Bot and you will be able to use the dropdown to select the classifications intent. Then click Save.





Batch Training

The Batch Training feature allows users to train multiple phrases at once using a XLSX.file. This method is useful when users need to add many training phrases efficiently without assigning them one by one through Live Training.





Session

The Session section captures every conversation between your bot and users as a complete session log. Each session includes the timestamp, user inputs, bot responses, and the intents triggered throughout the interaction. This makes it easier to review past conversations, evaluate your bot's behavior in different scenarios, and identify opportunities to improve its accuracy and performance.




You can also open the session details to view the complete conversation, including timestamps, user inputs, bot responses, triggered intents, confidence scores, and conversation contexts.





Send to External System

Fulfillment

Fulfillment connects detected intents to external systems before the chatbot sends a response. Instead of replying with static text, the bot can request real-time data or trigger backend operations from APIs, databases, CRM platforms, payment systems, and other business services.

When an intent with fulfillment is triggered, Intent-based Engine sends a request to the configured external service. The service processes the request and returns data that the chatbot uses to generate its response.  

This enables chatbots to:

  • Retrieve real-time information 

  • Execute backend operations 

  • Personalize responses 

  • Integrate with third-party systems

Fulfillment Methods in Intent-based Engine

Intent-based Engine supports fulfillment integration through external service connections.

  1. Webhook (External API) 

Webhook fulfillment allows the Intent-based Engine to send a request to an external API endpoint whenever a specific intent is triggered. This is the primary fulfillment method — ideal for retrieving real-time data or executing operations through external systems such as databases, CRM platforms, or payment gateways.



  1. Internal Action 

Internal Action refers to built-in operations that run directly within the Intent-based Engine, without requiring connection to external APIs or servers. This method is suited for tasks that can be handled internally, such as routing conversations or applying predefined logic.

How to Use Fulfillment

To enable fulfillment, you can choose between two activation methods. The first is through the Visual Intent, and the second is through the Send to External System menu on the dashboard.

If you choose to activate fulfillment through the Send to External System menu, follow the steps below:

  1. Select Send to External System from the Dashboard menu, choose Fulfillment Webhook, then enable the toggle.




  1. Click Settings to customize your webhook configuration.




  1. You can apply the same fulfillment endpoint to all intents or only to a specific intent. Then click Save Changes.






  1. To activate fulfillment via Visual Intent, open the Intent menu and click Go to Intent Visual Builder.







  1. Intents activated through the Send to External System menu are marked with a Fulfillment indicator. 






  1. For a new intent, open Advanced Settings, scroll down to the Fulfillment section, then check the Webhook Used checkbox and click Save Changes. Your intent will be automatically marked as a fulfillment intent.






  1. On the response settings, write the bot response message, then click Save Changes.








Custom API

A Custom API (Webhook) is an HTTP endpoint provided by your own system that Intent-based Engine calls automatically whenever a specific intent is triggered. It acts as a bridge between the chatbot and your external services.  enabling real-time data retrieval and backend operations based on user input.

When an intent with a configured webhook is triggered, Intent-based Engine sends a request to your endpoint containing relevant context such as the intent name, extracted parameters, and the user's message. Your system processes this request and returns a structured response, which Intent-based Engine then uses to generate the chatbot reply.

This approach gives you full control over how the chatbot responds, allowing integration with databases, CRM platforms, payment gateways, or any internal business service through a familiar API pattern.

Request Format Sent by Intent-based Engine

When an intent with webhook integration is triggered, Intent-based Engine sends a request to the configured endpoint.

Example request payload:

{ "intent": "check_order_status", "action": "track_order", "parameters": { "order_id": "INV-2026-001" }, "session": "session_123456", "contexts": [ { "name": "order_tracking_context", "lifespan": 3 } ] }


The external API should return a valid JSON response that can be processed by Intent-based Engine.

Example response:

{ "success": true, "message": "Your order has been shipped.", "data": { "order_status": "Shipped", "estimated_delivery": "2026-05-01" } }

Example chatbot-oriented response:

{ "fulfillment_response": { "messages": [ { "text": "Your order has been shipped and will arrive on 2026-05-01." } ] } }

How to Use Custom API 

In the Custom API settings, the configured endpoint offers greater flexibility than static responses. It enables the chatbot to send dynamic responses based on data returned from the API, populate parameters within the bot's reply using response values, continue conversation flow by triggering subsequent intents, and trigger additional logic such as cascading webhooks. With these capabilities, a single endpoint can orchestrate multiple aspects of the interaction between your chatbot and external systems within one request-response cycle.

If you choose to activate Custom API through the Send to External System menu, follow the steps below:

  1. Select Send to External System from the Dashboard menu, choose Custom API, then enable the toggle.



  1. Click Settings to, and click + Add Custom API.


  1. A modal will appear. Select an intent from the dropdown.



  1. Click Add Intent to save update



  1. Fill in your URL information and complete the header, query, body and response requirements.



  1. In the header information, fill in the key and value




  1. If needed, you can try your API by clicking the Test API button. Click save to save the changes.



  1. Go to the Intent menu and open the visual builder intent. Click on the intent marked with custom API and select response settings. Customize your API response with the response that will be displayed to the client. Then click the Save Changes button. 


Note: fill in the dynamic value with the formula {$.data.position}


Widget Test Bot

Test Bot Widget is a built-in chat interface in the Intent-based Engine dashboard that lets you test chatbot behavior in real time before deploying it to channels like WhatsApp, Instagram, LINE, or Web Chat. Use it to:

  • Validate responses and conversation flow

  • Verify intent detection and entity extraction

  • Simulate real user conversations

All test conversations also appear in Bot Training, helping you review and improve the bot using real interaction data.




FAQ

What is Intent-based Engine?

Intent-based Engine is an intent-based chatbot engine built natively within Qiscus AgentLabs. It helps you create rule-driven conversations using intents, entities, and conversation flows.

Do I need coding skills to use Intent-based Engine?

No. Intent-based Engine is designed as a no-code platform with a visual interface, including an Intent Visual Builder for designing conversation flows.

How do I access Intent-based Engine?

Open the AgentLabs feature from your Qiscus dashboard, then select Intent-based Engine from the available features.

What's the difference between Intent, Entity, and Response?

An Intent represents the goal behind a user's message, an Entity is specific data extracted from the message, and a Response is the message your bot sends back once the intent is matched.

What is a fallback intent?

A fallback intent is triggered whenever a user's message doesn't match any other configured intent. Enable it through the Enable Fallback toggle to ensure your bot always responds.

Can I test my bot before deploying it?

Yes. The Test Bot Widget in the Intent-based Engine dashboard lets you simulate conversations and verify your bot's responses, intent detection, and entity extraction before deployment.

Can I import an existing chatbot configuration?

Yes. Intent-based Engine supports imports from three sources: Dialogflow (.zip), AgentLabs (.xlsx), and another Intent-based Engine project (.JSON).

Does Intent-based Engine work across multiple channels?

Yes. Intent-based Engine is fully integrated with Qiscus Omnichannel, allowing your bot to operate across WhatsApp, Instagram, LINE, Web Chat, and other channels from a single platform.

How can I monitor bot performance?

The Monitoring & Analytics dashboard displays key metrics total conversations, messages sent, handovers, and resolved cases. Along with daily activity charts. Reports can be filtered by date range and exported as PDF.

Can my bot transfer conversations to a human agent?

Yes. The Agent Handover feature lets your bot transfer conversations to a human agent based on conditions such as outside office hours or when only online agents are available.