Skip to main content

Bot Skills

Bot Skills are structured, multi-step conversation flows that your AI bot follows when handling specific customer scenarios. Unlike the freeform AI pipeline (which generates responses dynamically), skills provide deterministic, predictable conversation paths — perfect for processes that must follow exact steps every time.

Navigate to Conversations > Agent Builder > Skills tab.


Why Bot Skills?​

Freeform AI (Brain)Bot Skills
Generates unique responses each timeFollows exact pre-defined steps
Great for open-ended conversationsGreat for structured processes
May vary in quality/consistency100% consistent every time
Requires high confidence to auto-replyAlways confident (deterministic)

Use skills for: order tracking, return/refund flows, appointment booking, product recommendations, lead qualification, FAQ walkthroughs.

Use freeform AI for: general questions, complaints, complex multi-topic conversations.


How Skills Work​

  1. A customer sends a message
  2. The ICE pipeline classifies the message (intent + keywords)
  3. If a skill matches (by intent or keyword), the skill takes over the conversation
  4. The bot walks through the skill's steps: sending messages, collecting input, calling tools, evaluating conditions
  5. When the skill completes (or transfers), normal processing resumes
Priority Matters

If multiple skills match, the one with the lowest priority number wins (0 = highest priority).


Creating a Skill​

  1. Go to Agent Builder > Skills tab
  2. Click Add Skill
  3. Fill in:
    • Name — A descriptive name (e.g., "Order Tracker")
    • Description — Optional explanation of what this skill does
    • Priority — Lower number = higher priority (0 is checked first)

Setting Up Triggers​

Skills are triggered by intents and/or keywords:

  • Trigger Intents — Select from the available intent types (e.g., order_tracking, refund_request). The skill activates when the classifier detects a matching intent.
  • Trigger Keywords — Add keywords that trigger the skill when found in the customer's message. Keywords are normalized automatically (case-insensitive, Arabic letter normalization).
Arabic Support

Keywords support Arabic text normalization — alef variants (أ, إ, آ) are normalized to ا, and taa marbuta (ة) is normalized to ه. This means أين طلبي and اين طلبي both match.

Building Steps​

Each skill consists of ordered steps. The bot executes steps sequentially, pausing when it needs customer input.

Step Types​

TypeWhat It Does
MessageSends a text message to the customer
Collect InputAsks the customer a question and stores their answer
ConditionBranches the flow based on collected data
Tool CallCalls a backend tool (e.g., look up an order, check stock)
TransferHands off the conversation to a human agent
EndSends a final message and completes the skill

Message Step​

Provide text in each supported language (English and Arabic). The bot automatically sends the message in the customer's detected language.

Collect Input Step​

  • Input Prompt — The question to ask (per language)
  • Input Key — A variable name to store the answer (e.g., orderNumber)
  • Validation Type — Validates the customer's response:
    • text — Any text (default)
    • email — Must be a valid email
    • phone — Must be a valid phone number
    • number — Must be a number
    • choice — Must match one of the provided options

Condition Step​

Create branches that evaluate collected data. Each branch has conditions (field + operator + value) and a target step. If no branch matches, the default step is used.

Tool Call Step​

Calls a backend function using collected data as input:

  • Tool — Select from available tools (searchOrders, checkStock, getShippingStatus, getProductDetails, getReturnPolicy, getCustomerProfile)
  • Result Key — Variable name to store the tool's result
  • Result Message — Template message with {{result}} placeholder

Transfer Step​

Escalates to a human agent with a reason and priority level (LOW, MEDIUM, HIGH, CRITICAL).

Each step (except Condition and End) has a Next Step selector. Choose which step to go to after this one completes. Leave empty to end the flow.


Example: Order Tracker Skill​

A simple 4-step order tracking flow:

  1. Message → "Hi! I can help you track your order."
  2. Collect Input → "What is your order number?" (key: orderNumber)
  3. Tool Call → Call getShippingStatus with orderNumber, store in shippingResult
  4. End → "Here's your order status: {{result}}"

Managing Skills​

Enable/Disable​

Toggle the switch on any skill card to enable or disable it without deleting the configuration.

Edit​

Click the pencil icon to modify an existing skill's triggers, steps, or settings.

Delete​

Click the trash icon and confirm to permanently remove a skill.

Execution History​

Skill executions are logged for observability. Each execution tracks:

  • Which skill ran
  • Which thread it ran on
  • Current step progress
  • Data collected from the customer
  • Final status (completed, abandoned, failed)

Tips​

  • Start with simple 3-4 step skills and expand as needed
  • Use Collect Input with validation to ensure clean data before tool calls
  • Add a Transfer step as a fallback for when the bot can't resolve the issue
  • Test skills in the Bot Sandbox before enabling them in production
  • Set priority carefully — if a customer's message matches multiple skills, the lowest-priority-number skill wins