AI Agent
The AI Agent node hands the conversation to an in-platform AI agent — an agent CraftBot runs itself by calling a language-model provider (Anthropic or OpenAI) directly. The agent answers the customer’s question from a knowledge base, grounded and on-topic, and keeps per-conversation memory so a back-and-forth holds context.
This is distinct from the Agent node. The Agent node POSTs to an external webhook and CraftBot never touches an LLM. The AI Agent node uses an agent that CraftBot orchestrates end-to-end. Both kinds are registered at Settings → AI Agents; the AI Agent node lists only the in-platform ones.
Configuring the node
- Drop the AI Agent node (icon ✨, AI category) from the palette onto the canvas.
- Open the configuration drawer:
- Agent — pick a pre-registered in-platform agent from the dropdown. Admins maintain the catalogue at Settings → AI Agents. The agent carries its own LLM provider, model, system prompt, and knowledge base — none of that is configured on the node.
- Language hint — optional. A hint passed to the agent so it replies in the expected language.
Because the agent definition holds the prompt, model, and knowledge base, the node itself is deliberately thin — swap behaviour by editing the agent in Settings, not by reconfiguring every node that uses it.
Output ports
The AI Agent node has three output ports:
- answer — the agent produced a confident, knowledge-base-grounded answer. CraftBot has already sent that answer to the customer; this port continues the recipe afterwards.
- escalate — the agent was not confident enough to answer, or the safety pre-filter blocked the call. Wire this port to a Transfer so a human picks the conversation up. If the agent has escalation messages configured, the customer sees one at the moment of hand-off.
- fail — the language-model call itself failed (timeout, provider error). Use this port for a fallback reply or a different escalation path.
Safety pre-filter
Before every language-model call, CraftBot runs the keyword pre-filter against the customer’s message. When the tenant has the safety filter enforced (the default), a match blocks the call entirely — the model is never contacted, the canned safety message is sent to the customer, and the recipe routes down the escalate port. Keywords and canned messages are managed at Settings → Safety.
Data residency
An in-platform agent sends conversation content to a US-hosted language-model provider. This is a known, accepted data-residency exception. The call is logged with PHI tokenisation, but the request to the model carries live content. Confirm this trade-off is acceptable for your tenant before publishing a recipe that uses the AI Agent node — see the data-residency warning on the AI Agents settings page.
When to use it
- The customer asks an open-ended question your deterministic nodes don’t cover, and you have a knowledge base that holds the answer.
- You want a grounded, KB-backed reply rather than a free-form LLM response — the in-platform agent answers only from its knowledge base.
When not to use it
- The question is deterministic — a Condition, FAQ, or Intent Route node handles it without an LLM call.
- The AI logic lives on an external platform (n8n, LangGraph) — use the Agent node and a webhook agent instead.
- You need to write to a backend system — that lives on Smart Plugs.