When the bot replies
Bot WILL reply
- There’s a new inbound on a channel
- The bot hasn’t been disabled for this customer (no
bot:disabledtag) - The Chat slot AI is active
Bot WON'T reply
- Customer has the
bot:disabledtag - Workspace has no chat slot set
- Confidence is too low → escalates instead
Two-level configuration
Workspace level (Settings → AI Models + Settings)
Workspace level (Settings → AI Models + Settings)
- Chat slot model + provider (under
/settings) - Active credentials under
/settings/ai
Per-customer (contact-config drawer)
Per-customer (contact-config drawer)
- Toggle autoreply on/off for a single customer
Context the bot receives
The system assembles context from:| Block | Source |
|---|---|
| Customer profile | name, language, country, company, tags |
| Recent activity | last 10 messages on that channel |
| Workspace KB | RAG search on Product Documents — top chunks related to the inbound text |
| Customer note | internal note |
Escalation
The bot escalates when confidence is low OR when the inbound contains a “human-needed” keyword (e.g. “pricing”, “cancel”, “lawyer”). Consequences:- The bot does NOT send a reply.
- A pool task
"Reply inbound from {customer.name}"is created.
Per-credential autoreply (working hours / sender blacklist / prompt override), per-customer prompt prefix / topic constraint, “needs human” badge in the thread list, escalation activity bubble, Test bot tab in AI Models, configurable cooldown after a sales reply, configurable confidence threshold — coming soon.