Workflows
Workflows are visual AI flows made of connected nodes. Each node fulfills a task – from input through agent steps and scripts to sub-workflows – and passes its result to the next.
Editor & Connections
In Workflows mode you build flows on a canvas:
- Add nodes – via the toolbar (Agent, Start, Input, Sub-workflow, Script, Metadata).
- Connect – click from an output to a target node. Clicking into empty space cancels.
- Zoom & view – zoom in/out, reset and center nodes.
- Save & start – the toolbar shows unsaved changes.
You edit the properties of the selected node on the right in the Properties panel.
Node Types
| Node | Task |
|---|---|
| Start | Starts the workflow without user input. |
| Input | Receives the start input; on start the app asks for your input. |
| Agent | An AI step with its own prompt, provider/model and tool selection. |
| Sub-workflow | Runs another workflow as its own run and passes on its result. |
| Script | Runs a shared local script (see Scripts). |
| Metadata | Creates values (e.g. date, environment variables) for subsequent nodes. |
Structural Rules
For a workflow to be valid, the following rules apply:
- There is exactly one Start or Input node – not both at the same time.
- There must be a start node (a node without an incoming connection), and it must be Start or Input.
- Every connection refers to a known node; self-references are not allowed.
- The flow must not contain a cycle.
- In the current state, a node may have only one outgoing connection.
- A sub-workflow node may not be a start node, may not reference itself and must have a valid target.
The app reports violations as validation errors before the workflow starts.
Agent Node
The agent node is the centerpiece. Its properties:
| Property | Meaning |
|---|---|
| Prompt / system instruction | The instruction for this step. |
| Provider / model | Own provider/model or default. |
| Forced tool | Optionally specify a tool that the step must use. |
| Shared history | When enabled, the step sees all previous AI responses. |
| On error | Stop or continue. |
| MCP servers | Enable/disable MCP servers individually for this node. |
| Internal tools | Allow file system, shell, task, charts and scripts individually. |
| Terminal sandbox | Sandbox on/off or adopt the global setting. |
| Todo reminder | Control auto-checkoff and fallback reminder. |
Context Modes
You control how much prior history an agent step sees via the context mode:
| Mode | Behavior |
|---|---|
| Full history | The agent sees all previous messages and interactions 1:1. |
| Isolated / anonymous | The agent works without prior history – only its own prompt counts. |
| Targeted handover | The agent works in isolation and additionally receives a structured handover package from the predecessor. |
For handover you choose a handover field (key from the predecessor's JSON output, dot notation possible; empty = full output) and optionally a handover character limit. Overly large packages are visibly truncated instead of blowing up the context.
Script Node
The script node runs a shared script. Its output is passed to the next step. For each argument you define the source:
- From workflow input – uses the workflow input or the result of the previous step; without input the AI determines the value.
- AI to script – the AI determines the value from the context (thinks, no tool calls).
- Fixed value – a constant value.
Sub-Workflow Node
A sub-workflow runs as its own run and passes its result to the next step. You define:
- Target workflow – which workflow is executed.
- Workflow input – from the previous step or determined by the AI.
- Context – Access workflow history (continues in the history) or Work in isolation (fresh conversation; a summary and the result come back).
Metadata Node
The metadata node creates values from fields (key + value/template) and makes them available to subsequent nodes. Two modes:
- Append to next prompt – the resolved JSON is appended as a prefix to the system prompt of the target nodes.
- Save in the background – the metadata lands in the workflow state; agents access it via
{{metadata.schluessel}}.
As the target you choose all subsequent nodes or individual agent nodes. Available placeholders:
{{now_utc}} {{date_de}} {{time_de}} {{datetime_de}} {{env:NAME}}
{{user_id}} {{workflow_id}} {{workflow_title}} {{run_id}}
{{input}} {{metadata.schluessel}}
Execution
On start the execution view shows two tabs:
- Overall – the complete history across all steps.
- Steps – each step individually with status (Pending, Running, Completed, Error, Canceled).
You can stop the run, view error details per step and open the history as a chat. Handover packages appear collapsed so they don't burden the context. Once a run has finished you can also keep chatting in it – see Continue a Run Chat.
If the same tool keeps failing inside a step, the step shows the same note as a chat and the AI is asked to change its method instead of repeating the call – that keeps a step from looping forever. More in Chat Features.
Between two steps the AI sometimes works without producing a visible message: it compresses a long history, summarizes an isolated step or determines an input. In these phases the execution view shows what is currently happening in a status line – the same texts as the chat (Compress chat…, Answer is being prepared…, and for the local model Loading model… or Processing prompt… 64 %) – so a run never looks frozen.
Continue a Run Chat
Every run keeps its own chat. As long as the run is still active, the workflow writes into that chat step by step – that is why the run view shows a note that a run chat can be continued once the run has ended.
When the run has finished – completed, failed or canceled – an input field appears at the bottom of the run view. It is the same input as in the normal chat: text, attachments and images, the plus menu, the provider/model chip, the thinking toggle and Enter to send. Your message is answered right in the run's chat and keeps the history the run has built up. So you can ask follow-up questions, have a result explained or keep working on a run that was stopped early.
Continuing only adds to the chat: the workflow itself does not run again and nothing about the recorded run changes. The answer appears in the Overall tab – the view jumps there automatically as soon as you send a message.
With Back you leave the run view again: the chat you had open before comes back, and the run chat stays with its run instead of appearing as a separate chat in the chat tab.
Schedule
A workflow can run automatically at fixed times – as long as Apis AI is running (in the background service also without a visible window, see Background Service).
| Field | Meaning |
|---|---|
| Enable schedule | Turns the cron schedule on. |
| Cron expression | Minute hour day month weekday. |
| Optional fixed input | Start input for scheduled runs; empty = no input. |
| Catch up on missed runs | Makes up runs that were missed, e.g. because the PC was off. |
0 9 * * * daily 09:00
*/30 * * * * every 30 minutes
0 9 * * 1-5 weekdays 09:00
The app shows the next scheduled run. When duplicating a workflow, the copy's schedule is disabled.