Skip to content
Talk to our solutions team

AI Bot

AI Bot (ai-bot) is the substrate you build conversational interfaces on — customer service bots, internal helpdesk assistants, in-product copilots, WhatsApp concierges.

It is infrastructure, not a product. You declare the bot; the block provides the runtime, the channel plumbing, the conversation state and the escalation machinery. End users talk to your bot. There are no pre-built bot templates and no bot-builder UI here — those are things you build on top.

Most conversational products send every message to an LLM. That is simple, slow, and expensive in a way that scales linearly with success.

AI Bot instead runs each message through an escalating cascade. A message stops at the first stage that can handle it confidently:

inbound message
├─▶ 1. rules / regex microseconds, no model cost
├─▶ 2. dynamic model fast, generated from your rules
├─▶ 3. fast classifier milliseconds, tiny cost
├─▶ 4. small language model low cost, handles ambiguity
└─▶ 5. LLM terminal — always resolves

“What are your opening hours” is a rule match that never touches a model. A paraphrase the regex misses is caught by the dynamic model. Only genuinely novel or complex messages reach stage 5. This is the central cost and latency property of the block — the cascade is why a high-traffic bot does not cost like a high-traffic LLM integration.

A bot is a versioned, signed, tenant-scoped YAML artifact. Structure is declarative; where declaration is not enough, you drop into scripts at defined hook points.

kind: bot
metadata:
name: acme-support
tenant: acme
product: support-portal
version: 7
spec:
channels:
- kind: web
enabled: true
- kind: slack
enabled: true
workspace_ref: vault:acme/slack-token
persona:
prompt_ref: gateway:acme-support-persona-v7
style: professional
locale_default: en-US
locales: [en-US, es-MX, pt-BR]
nlu:
cascade:
- stage: rules
confidence_threshold: 0.95
rules_ref: rules/intents.yaml
- stage: classifier
confidence_threshold: 0.85
model_ref: ai-ml:acme-support-classifier-v7
- stage: llm
confidence_threshold: 0.0 # terminal
model_ref: gateway:acme-support-llm-default
orchestrate:
handlers:
- intent: business_hours
path: canned
- intent: order_status
path: skill
skill_ref: ai-computer:acme-order-lookup-v2

One bot definition serves every channel it declares. Inbound messages are normalised to a single canonical shape before the cascade sees them, so your rules, intents and handlers are written once rather than per-channel.

ChannelNotes
Web APIThe foundational channel; also what custom front-ends use
SlackWorkspace credentials from the vault
Microsoft TeamsApp registration from the vault
WhatsAppAccount plus approved message templates
CustomBring your own transport against the same canonical message

AI Bot orchestrates other blocks rather than reimplementing them:

NeedHandled by
Model callsAI Gateway
Conversation memoryAI Memory
Knowledge retrievalAI Knowledge
Multi-step autonomous workAI Flow
Quality measurementAI Evals

Every model call — the SLM stage, the LLM stage, the persona prompt — goes through the AI Gateway, which means bot traffic lands in the same budgets, caches and cost accounting as everything else.

  • Core Concepts — the cascade, confidence, conversation state and orchestration
  • Configuration — the bot definition in full
  • Operations — deploying, model generation, analytics and compliance