Operational guide

Canvas Flow docs

Configure LLM providers, publish agents to WhatsApp or Web Widget, consume the API, receive webhooks, run cron jobs, and understand the component catalog.

LLM and data providers

Provider settings can come from environment variables, global provider config, or agent-specific provider config. Agent-level settings are useful when one agent needs isolated credentials or a different model.

LLM providers

OpenAI, Azure OpenAI, Gemini, Claude, Grok, and Bedrock are available for agent generation and LLM-assisted components.

RAG providers

Milvus/Zilliz, Azure AI Search, Azure Blob Storage, and OpenAI embeddings cover retrieval, indexing, and document storage.

Component data

Use the MongoDB component connection for business CRUD without mixing it with the internal Canvas Flow database.

WhatsApp and Web Widget

WhatsApp supports Meta Cloud API, Blip, and Sinch. Web Widget gives you an embeddable chat UI backed by the same runtime API and conversation memory.

GET  https://your-host/api/canvas-flow/webhook/whatsapp/<FLOW_ID>
POST https://your-host/api/canvas-flow/webhook/whatsapp/<FLOW_ID>

GET  https://your-host/api/canvas-flow/webhook/whatsapp-main/<AGENT_ID>
POST https://your-host/api/canvas-flow/webhook/whatsapp-main/<AGENT_ID>

For the widget, copy the generated embed snippet from the provider panel and route browser calls through your backend/proxy. Keep the run-scoped API key on the server side.

Consume the runtime API

Use `POST /api/canvas-flow/test` to run a saved flow or an inline config. Authentication accepts `Authorization: Bearer`, `x-api-key`, or `x-canvas-flow-token`.

curl -X POST "http://localhost:3333/api/canvas-flow/test" \
  -H "Authorization: Bearer <CF_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "agentId": "default-agent",
    "flowId": "<FLOW_ID>",
    "text": "I need help",
    "conversationId": "customer-123",
    "channel": "webWidget",
    "slots": {
      "source": "site"
    }
  }'

Webhook and cron

Inbound Webhook components expose `GET` and `POST` routes, validate the secret configured in the node, and inject the event into `context.slots.webhook`. Cron components schedule flows by interval, day, week, or month.

Custom webhook

`/api/canvas-flow/webhook/custom/:flowId/:webhookId` receives external events and can start from the webhook node or the flow start.

Cron runner

`POST /api/canvas-flow/cron/run-due` executes due cron flows manually or from external schedulers.

Queue mode

When the queue is enabled, runtime calls can be tracked as jobs through the SQS job endpoints.

Component catalog

The editor includes basic flow nodes plus operational components for AI, RAG, data, actions, control, and automation.

Basic nodes

Message, Rich Message, Input, API, Condition, End, and Group.

AI

Agent, Azure OpenAI, Agent Plan, and Human Approval.

Data and RAG

RAG AI Gen, Milvus, Azure AI Search, Azure Blob Storage, Files, MongoDB, Context, and Dashboard.

Actions and control

MCP, Webhook, Debug, Loop, Flow Router, and Cron.