Workflows overview
Automate multi-step processes by connecting trigger, AI, integration, and logic nodes on a visual canvas.
Workflows let you build automated processes that run without manual intervention. You connect nodes on a visual canvas — each node does one thing — and the engine executes them in sequence (or in parallel branches) when the workflow is triggered.
Every workflow belongs to an agent. The agent's knowledge base, model settings, and connected credentials are all available to nodes inside the workflow.
When to use workflows
Use a workflow when you need to:
- Respond to an incoming webhook, a schedule, or a chat message with a sequence of AI and integration steps.
- Route work differently based on AI classification or data conditions.
- Create tickets, send messages, or call external APIs as part of an automated process.
- Insert a human approval or input gate before a sensitive action proceeds.
For a single conversational agent that answers questions from a knowledge base, you do not need a workflow — the chat interface handles that directly.
Node categories
The node palette (left panel in the editor) groups nodes into these categories. Use the search field to find a node by name or keyword.
Mojar AI
A single Mojar AI node that lets you configure any provider and tool combination. This is the universal starting point for AI steps not covered by the more specific AI nodes below.
Triggers
Every workflow starts with exactly one trigger node. Available triggers:
| Node | Description |
|---|---|
| Manual Trigger | Start the workflow manually from the editor, or via an API call. |
| Webhook Trigger | Start when an incoming HTTP request arrives at the generated webhook URL. Supports POST and configurable authentication. |
| Schedule Trigger | Start on a cron schedule with a configurable timezone. Default expression runs on weekdays at 09:00 UTC. |
| Event Trigger | Start when a specific in-platform event occurs. |
AI / LLM
Nodes that use the agent's language model to process data:
| Node | Description |
|---|---|
| AI Respond | Generate a natural-language response from the agent's LLM. |
| AI Classify | Classify input into predefined categories; each category becomes a separate output handle for branching. |
| AI Extract | Pull structured data fields out of unstructured text. |
| AI Summarize | Condense text with a configurable style and maximum length. |
| AI Generate | Generate content from a custom prompt template. |
| Knowledge Base Query | Run a semantic search against the agent's knowledge base via the RAG pipeline and return the top matching document chunks. |
Logic & Control
Nodes for controlling flow without calling an AI or external service:
| Node | Description |
|---|---|
| Condition | Branch on true/false based on one or more conditions (and/or). |
| Switch | Route to one of several named paths based on a variable value. |
| Loop | Iterate over a collection; exposes a Loop Body handle and a Done handle. |
| Delay | Pause execution for a fixed or variable duration. |
| Set Variable | Assign or transform workflow variables. |
| Custom Code | Execute a JavaScript snippet; the return value is stored in an output variable. |
Integrations
Nodes that communicate with external services. Most require connector credentials — see Connectors for per-service setup guides.
| Node | Service |
|---|---|
| Send Email | Gmail |
| Send SMS | Twilio |
| Send WhatsApp | Twilio or Meta Business API |
| Slack Message | Slack |
| Telegram Message | Telegram Bot API |
| Teams Message | Microsoft Teams |
| Create Ticket | Zendesk or HelpScout |
| CRM Action | HubSpot (create/update/search contacts and deals) |
| HTTP Request | Any REST API or webhook endpoint |
| Google Sheets: Create | Google Sheets |
| Google Sheets: Append | Google Sheets |
| Google Sheets: Update | Google Sheets |
| MQTT Publish | MQTT broker (IoT / Unified Namespace) |
| MQTT Subscribe | MQTT broker (IoT / Unified Namespace) |
| SAP / ERP Query | SAP OData Gateway |
Human-in-the-Loop
Nodes that pause execution until a person acts:
| Node | Description |
|---|---|
| Human Approval | Pause and wait for an approver to accept or reject the proposed action. Exposes Approved and Rejected output handles. Configurable expiry; can auto-approve after timeout. |
| Escalate to Human | Hand off the current task to a human operator via an in-app notification. |
| Human Input | Request a text (or other typed) response from a person before the workflow continues. |
Utility
Structural nodes that help organise the canvas:
| Node | Description |
|---|---|
| Note | A non-executing sticky note for documentation. |
| End | Explicitly terminate a branch. |
| Call Agent | Invoke another Mojar agent and use its response as a variable. |
| Sub-Workflow | Embed another workflow as a reusable sub-process. |
Variables and {{variable}} syntax
Nodes store their output in named variables (e.g. ai_response, http_response). Use {{variable_name}} inside any text field to reference a prior node's output. The Set Variable node lets you create or transform variables explicitly.
Saving and publishing
The editor auto-saves the canvas 3 seconds after each change. You can also press Ctrl + S (or Cmd + S on Mac) to save immediately. A yellow Unsaved badge in the toolbar indicates pending changes.
Saving preserves your draft. Click Publish to snapshot the current canvas as a live version — only published workflows run on triggers.