Confluye
Building Workflows

The Canvas

The visual editor where you compose blocks into workflows.

The canvas is where you add blocks, connect them, and configure each step of a workflow. The editor has three side panels — Copilot, Toolbar, and Editor — and a resizable logs terminal at the bottom.

Quick guided tour

Open Help → Learn Confluye → Workflow builder for six short steps: connect blocks, configure them, choose a destination, test the candidate, publish, and inspect executions. Viewers receive orientation without editing or publishing actions.

For integration-specific setup, use the Block Reference and Integrations and credentials. Testing and publishing requirements are explained in Running and debugging and Deploying.

Confluye workflow canvas with connected trigger and output nodes
A Confluye workflow on the visual canvas

Adding and connecting blocks

Add blocks in three ways:

  • Drag from the Toolbar. The Toolbar panel lists the block catalog grouped into a Triggers section and a Blocks section. Drag a block onto the canvas to drop it at that position.
  • Quick-add after a node. Every non-output node has a "+" button that opens a searchable, category-grouped menu; picking a block inserts it after that node.
  • Ask the Copilot. Describe the change and let the Workflow Copilot propose the graph edit.

Connect blocks by dragging from a node's source handle to another node's target handle. Move near the destination handle to snap the wire into place; you can release without hitting its center. A curved cable follows the pointer throughout the drag, and a valid destination port highlights before release. Triggers have no input handle; output nodes have no output handle. Connections are validated live — releasing an invalid wire shows a short on-canvas explanation. Starting another connection clears the previous explanation. You can begin another connection while the saved graph updates, without reloading the canvas.

Condition blocks have separate true and false output handles. Drag from the branch you want to connect; either branch can be connected first. Each branch can connect to multiple blocks, and both branches can lead to the same block. Existing true/false connections attach to their matching handles when you open the workflow. Other imported labels or unlabeled connections remain visible on a non-connectable Other output.

Ordinary fan-out processes destinations in order; it does not run them concurrently. Pending destinations remain selected across a durable Wait or Jenkins build wait, and completed destinations are not repeated on resume. To run independent I/O branches concurrently, add Parallel from Logic and connect at least two destination blocks to it. Each branch keeps its output isolated. To combine results, connect the ends of two or more branches to one common downstream block; it waits for every branch and can read their outputs in stable connection order. You can put Parallel under either output of a Condition when only that route should fan out concurrently.

Durable Wait or Human Task pauses checkpoint completed siblings, so they are not repeated on resume. Do not place a Jenkins Trigger build and wait for result operation inside Parallel. If a branch fails under fail-fast behavior, that branch stops taking further steps and already in-flight operations finish; effects already sent cannot be canceled. Collect-errors runs all branches and reports errors, but the common downstream block does not run when any branch fails.

Blocks are grouped into these catalog categories: Triggers, AI, Logic, Data, Knowledge, Integrations, Communication, Developer Tools. See the Block Reference for the full list.

Configuring a node

Double-click a node to open its configuration in the inspector (single-click selects). Each block kind exposes typed fields — for example a schedule trigger's cron and timezone, an HTTP request's method and URL, or a Wait block's mode and duration. Fields can reference upstream outputs using expressions, so a step can consume what earlier steps produced.

Search HTTP Request in Developer Tools for a generic API call. Set the method and URL, then add Query parameters JSON, headers and body as needed. Query parameters must resolve to a JSON object; array values append the same parameter more than once. Authentication → None clears the selected account and skips saved-account authentication. Headers you enter yourself still apply. To reuse a workspace account, choose Predefined Credential Type → Credential Type → Account.

Search Edit Fields (Set) in Data to define typed fields or use JSON mode. Include Other Input Fields retains incoming fields, Support Dot Notation controls nested paths, and Ignore Type Conversion Errors retains the resolved value when conversion fails. Save the node after changing these options. Compatible agent blocks select their credentials and MCP tools in configuration; a connected account still needs to be selected on the block.

The Copilot microphone records a prompt and inserts its transcript for you to review before sending. Connect a speech-to-text provider in Settings first; see voice input.

Edit and Resources

In the Editor tab, Edit starts with a compact Workflow nodes list. Search for a node and choose its row to open its settings. All workflow nodes returns to the list without losing unsaved field values. Use Resources for validation, credentials, integrations, imported sub-workflow dependencies and manual test input. The resource status at the bottom shows the ready count and opens Resources. Workflow review and collaboration remain available in their workflow or destination controls.

Choose Hide editor panel to give the canvas more room, or press

Ctrl/⌘ + Shift + \. The narrow strip keeps deployment, candidate testing and the issue count accessible. Show editor panel restores it. Hiding the panel or changing Edit/Resources preserves unsaved field values. When browser storage is available, the collapsed preference is remembered for your user and workspace. If storage is blocked or full, the panel still works and keeps your choice for the current page. Deployment failures appear above the canvas and remain visible in Edit, Resources and while the panel is hidden.

Calling another workflow

For a Workflow call, search Called workflow by name and select a workflow in the current workspace. The selected workflow's ID and name are filled automatically; Workflow reference also lets you edit or map either reference. Editing the ID clears the previous name, and editing the name clears the previous ID, so the old reference cannot restore your previous selection. A sole entry node is suggested automatically. With multiple entries, choose a Start node or retain All entry nodes. Save the node after changing the selection. Changing the called workflow clears an explicit entry from the previous child; choose an entry in the new child. A mapped entry expression is retained. Choose Map start node ID to select an entry from input, such as {{input.entry}}. Mapped references resolve within this workspace at execution time. An unavailable explicit workflow ID remains pending even if another workflow has the same name. An unresolved imported reference stays visible as a pending requirement until its child is imported or you select an available workflow.

Expressions and variables

Expression fields evaluate against the latest run data for the workflow. When a field is focused, Confluye previews the evaluated value server-side, using sanitized run context and returning sanitized display output. Transport errors, syntax errors, and expression evaluation errors are shown as distinct states; while a request is in flight the previous value remains visible and is marked stale when appropriate.

Autocomplete suggestions are built from the workflow and the reconstructed run context. Common variables include input, lastOutput, $json, $itemIndex, $now, and $node. The Variables panel mirrors those values from the active run so you can insert the exact expression you need without typing a long path by hand.

Expression preview requests are rate-limited, size-capped, and timed out on the server. If the workflow has not run yet, the field still shows autocomplete suggestions but no evaluated preview.

Mapping data into parameters

The Input panel supports search for upstream fields. Drag a field into an expression-capable parameter to insert the matching expression at the cursor; click-to-insert is available as a keyboard-friendly equivalent. Non-expressable fields reject expression drops instead of silently changing the value.

Native API operation fields offer Expression for numbers, switches, choices and structured values. Click it to enter one complete expression such as {{node.ticket.json.id}} or {{input.isPrivate}}, then save the node. Returning to the fixed control clears the expression and restores the field's default when one exists.

An expression for a numeric, boolean, list or object field must return that actual type: the number 123 and boolean false differ from the strings "123" and "false". Readiness allows the complete expression; execution checks the resolved value against the operation's schema before sending its request. A missing value or invalid type stops that operation before HTTP dispatch. Plain text and mixed text such as Reply to {{node.ticket.json.subject}} retain text rendering. Strings inside an object or array returned by a whole expression remain data and are not evaluated again as expressions. Account selection, provider permissions and write controls still apply.

The canvas is a pannable, zoomable graph with two interaction modes — select and move.

  • Pan/zoom: scroll to pan; zoom controls show a live percentage as read-only display text, with fit-view and reset-view. Use the adjacent buttons or shortcuts to change zoom.
  • Selection: click to select a node or edge; drag-select in select mode. Drag the selected blocks together; releasing saves every moved block's position in one change. Locked blocks stay in place. Individual action bars stay hidden during group selection. Select one block to use its action toolbar.
    • Snap-to-grid: off, small, or large grid.
  • MiniMap and controls aid navigation on large graphs.
  • Navigator: jump to the first trigger, upstream, downstream, or output node. The navigator stays above the canvas toolbar when its controls wrap onto another row.

While a position save is pending, the block stays where you dropped it. In collaboration, a newer remote move becomes visible after your local save finishes; later remote movement continues to update the canvas.

Consecutive pans and zoom changes are saved in order, so an older response cannot restore a previous view. If saving the canvas position or zoom fails, a later saved preference can still update the view. A failed earlier save does not discard a newer pan or zoom gesture.

Readable graphs and connections

New graphs created through MCP, Command Center, or Workflow Copilot are spaced automatically when blocks are crowded or excessively far apart. Layout reserves room for card content and router ports, keeps the main path together, and leaves sticky notes in place. To reorganize an existing workflow, choose More options → Auto layout, then Fit to view. This saves the new block positions like a drag (see Version history); it does not deploy the workflow. Undo can restore the previous arrangement.

Ordinary connections are muted. Select a block or connection to highlight the relevant wires and fade unrelated connections. Routes labeled error, On Error, failure, or failed stay red, including their labels and arrows. Red identifies an error branch, not proof that it ran. Hover over a connection to see its source, destination, and route in a tooltip. Port tooltips explain inputs and outputs; an output with run data shows the existing last-run preview. Fit to view can zoom out to 8% for an overview of large graphs; zoom in again to read individual blocks. Long forward error connections use an exterior lane to avoid crossing the main cards.

Grouping cables with zip ties

Choose Zip tie connections in the canvas toolbar, or focus the canvas and press Z. Drag a stroke across at least two connections, then release to add a shared guide at their crossings. You can add several guides along the same cables. Press Z again or Esc to return to selection. One pointer controls each gesture. A graph refresh during a stroke cancels that unfinished stroke; draw it again against the updated cables. Removing a guide ends any unfinished drag of that guide.

Drag a zip tie to route its cables together. To position it with the keyboard, focus the guide and use the arrow keys; hold Shift for larger steps. Repeated presses accumulate while saving. Released moves appear immediately in the editor. Switching tools retains submitted movements, cancels unfinished strokes or drags, and keeps keyboard focus in the canvas. Changes from another editor remain visible while saving, including a return to an earlier position. The next arrow press starts from that position. Press Delete or Backspace on the focused guide to release its cables. Removing a guide keeps the original connections and branch labels. Canvas focus is retained after removal, so keyboard undo remains available. Synchronization errors retain unsaved collaborative changes for recovery. Undo can restore an earlier route. Undo and redo restore guide changes. Guides are saved with the workflow and retained in native JSON exports and collaboration. Read-only views show guides without allowing edits.

An editor left open on an older version can occasionally send cable changes that cannot be combined safely. This includes an old deletion of a guide that another editor restored without seeing that deletion, or concurrent additions from older editors that would reverse a newer editor's guide order. The saved route stays unchanged, and your unsaved changes remain in the editor. Choose Download recovery copy, keep the JSON file, then choose Reconnect to saved workflow. If reconnecting fails, your changes remain available and you can retry. To review or reapply the recovered graph, create a separate workflow and use native JSON import there before changing the original. Reconnecting releases the pending local changes after you have downloaded the copy. Other editors can continue using the saved workflow.

Zip ties only change the visual routing. They do not add a processing block, merge data or change execution order. Tied cables stay attached to their guides when you move a connected block.

When you drag a block, the whole card rises and swings from its top edge, tilting and flexing in response to how quickly you move it. Changing direction reverses the swing; slowing down or releasing the card lets it spring back upright while its shadow fades. Groups of selected blocks swing more gently together. Attached wires flex like ropes. This visual motion does not resize the graph layout. Your system's Reduce motion setting disables the card's movement, rope animation and moving dashes; a static shadow still identifies the moving card. Changing this setting during a drag takes effect immediately.

Undo and redo are available, and most actions have keyboard shortcuts (zoom, fit, duplicate, delete, run selection, and arrow-key navigation between connected nodes).

Copy and paste

Use Cmd/Ctrl+C to copy the selected workflow blocks and Cmd/Ctrl+V to paste them back onto the canvas. Paste creates new ids, appends "copy" to each pasted label, offsets each paste by 24 px, selects the pasted blocks, and recreates only the copied edges whose source and target were both included and still form a valid connection. If you select another block while a paste is saving, that selection stays in place when the save finishes.

Trigger and Output blocks stay unique and are not copied. Clipboard shortcuts are ignored while focus is inside an editable field, so normal text copy/paste keeps working in parameter inputs.

Collaboration

The canvas supports real-time multiplayer editing: collaborators' live cursors render directly on the graph, so multiple people can work on a workflow together.

Next steps