Skip to Content
CraftBot Docs v1 — internal preview
Recipes & Bot EngineNode referenceNode reference

Node reference

CraftBot ships with 32 node types spanning messaging, input collection, logic, routing, integration, AI, flow control, commerce, and annotation. Every node listed here is fully implemented, validated, and available in the recipe canvas.

Each node page covers: overview, when to use, ports, configuration fields, common patterns, limits & validation, and troubleshooting.

Core

  • Start — The Start node is the single entry point of every recipe. It cannot be deleted, configured, or duplicated, and the canvas refuses to publish a recipe that has anything other than exactly one Start.

Messaging

  • Message — Sends a text reply to the customer and advances to the next node. Supports per-language bodies (English + Arabic) and {{variable}} interpolation.
  • Quick Links — Sends a message with one or more clickable URL buttons. Unlike Button, Quick Links does not branch the flow — the customer can tap any link and the recipe still moves to the next node.
  • Card Carousel — Renders up to 10 swipeable cards with titles, optional images, and up to 3 action buttons each.

Input

  • Question — Sends a prompt and pauses the flow until a free-text reply arrives. The reply is captured into a named variable.
  • Typed Input — Prompts for input and validates the reply against a typed schema (number, email, date, regex, etc.). Invalid replies re-prompt with a customisable error message.
  • Button — Presents up to three reply buttons (WhatsApp Interactive Reply Buttons). Each button is a labelled output port that branches the flow.
  • List — Sends a WhatsApp Interactive List message — a tap-to-open menu of up to 10 rows organised under section headers. Each row is its own branch.
  • Form — Collects multiple structured fields in one turn, with per-field PHI / sensitivity classification driving audit-log handling.

Logic

  • Condition — Routes the flow based on rules evaluated against variables, contact attributes, and runtime context. Each rule is its own output branch.
  • Set Variable — Writes a value into a chosen variable scope. Use it to capture computed state, normalize input, store flags, or stage values for downstream nodes.
  • Wait — Pauses the flow for a configurable duration before continuing. Use it to throttle messages, delay a nudge, or wait out a known external latency.
  • A/B Test — Randomly routes traffic between two or more variants according to configured weights, deterministically per session. Use it to compare message copy or branch variants.
  • Business Hours — Branches on the configured workspace business-hours schedule. Use it to gate Transfer paths to live agents only during open hours.

Routing

  • Transfer — Hands the conversation off to a human agent. The bot session ends and the chat enters the supervisor inbox queue under the configured routing rules.
  • Priority Flag — Bumps the conversation’s priority for downstream Transfer routing and supervisor inbox sorting. It does not transfer on its own — pair it with a Transfer downstream.
  • Close — Terminates the bot session and resolves the conversation. After Close fires, the contact must trigger the recipe again (via keyword or external event) to start a new session.

AI

  • Intent Route — Routes the customer’s reply to a matching branch using lexical keyword and regex intent classification. Each branch is a configured intent.
  • FAQ — Looks up the customer’s question against a configured knowledge base and replies with the best-matching answer. Below the confidence threshold the node takes its “no answer” branch.
  • Agent — Calls a registered external AI agent over HTTP (sync or async). CraftBot logs the call; the LLM, prompts, and tools live at the agent platform.
  • AI Agent — Hands the conversation to a registered in-platform AI agent that CraftBot runs itself, answering from a knowledge base. Branches on answer / escalate / fail.

Integration

  • API — Makes an HTTP request to an external service (REST / JSON). The response is parsed and mapped into variables for downstream nodes to read.
  • Webhook — Fires an outbound HTTP POST notification to an external URL with a configurable JSON payload and HMAC signature. Returns named outcomes that can branch the flow.

Commerce

  • Catalog — Renders a tenant-managed product catalog as cards or a list, captures the picked SKU into a recipe variable for downstream branching.

Flow control

  • Jump — Teleports the flow to another named node in the same recipe. Use it to converge multiple branches into a shared continuation. Guarded by a max-iteration limit to prevent infinite loops.
  • Return — Ends the current sub-flow and hands control back to the parent Sub-flow Call site. Optional return values are written into the parent’s variable scope.
  • Subflow Call — Invokes another published recipe as a sub-routine. The current flow pauses, the sub-flow runs to completion (Return or Sub-flow Exit), then control comes back here.
  • Subflow Entry — Input boundary of a callable sub-flow recipe. Declares the variables this sub-flow expects from its caller. Auto-added to recipes marked callable.
  • Subflow Exit — Success-path output boundary of a callable sub-flow. Declares which variables are returned to the caller. Paired with Sub-flow Entry.

Survey

  • CraftBot CSAT — Sends the configured CSAT survey and waits for the rating reply. The score is stored on the conversation and rolls up into the CSAT analytics dashboards.

Annotation

  • Comment — Designer-only annotation: a labelled inline marker that flows like a normal node but renders no customer-facing output.
  • Sticky Note — Free-floating annotation on the canvas. Not part of the execution path, no input or output ports. Use them to leave context for collaborators or document decisions.
Last updated on