Adding and Connecting Nodes

Learn how to add nodes to your workflow and connect them together.

Overview

Nodes are the building blocks of every Spojit workflow. Each node represents one step (a trigger, a connector call, a transform, a decision) and the connections between them define the order data flows through the workflow.

The designer canvas is where you compose those nodes. You add nodes from the palette on the left, wire them together by dragging from one node's output handle to another node's input handle, and Spojit converts the resulting graph into an executable definition on save. Branching nodes (Condition, Parallel, Loop) have multiple outputs so a single workflow can fan out, loop, or take different paths based on data.

Adding Nodes

There are two ways to put a node on the canvas:

  • Drag from the palette - Grab a node type from the left palette and drop it onto the canvas. The new node is unconnected.
  • Drag from an existing node - Click and drag from an output handle into empty space. When you release, Spojit prompts you to pick a node type and creates it already wired to the source.

Connecting Nodes

Connections (also called edges) define execution order and pass data between steps:

  1. Hover over the source node to reveal its output handle (a small circle on the right or bottom edge).
  2. Click and drag from the handle. A line follows your cursor.
  3. Drop on the target node's input handle (small circle on the left or top edge).
  4. The connection appears. The downstream node can now reference the upstream node's result via {{ stepName.field }}.

Branching and Multi-Output Nodes

Some node types have more than one output, so you connect each output to a different downstream branch:

  • Condition - Two outputs labelled Yes and No. Whichever output matches the evaluated expression runs.
  • Parallel - One output per branch, all executed concurrently.
  • Loop - A Body output that runs once per iteration and a Complete output that runs once after the loop finishes.

Editing and Removing

  • Move a node - Click and drag the node body. Connections follow automatically.
  • Delete a node - Select it and press Delete. Any attached connections are removed too.
  • Delete a connection - Click the line to select it, then press Delete.
  • Rewire - Delete the old connection and drag a new one. There is no drag-to-rewire shortcut.

Tips

  • Give each node a clear label in the properties panel. Variable references use the node name, so good names make templates readable.
  • Keep the workflow flowing left-to-right or top-to-bottom. Mixed directions are harder to scan when debugging executions.
  • Use the drag-from-output shortcut to keep the graph tidy. Newly created nodes land right next to their source.
  • Save often. The canvas is the source of truth and only converts to executable DSL when you save.

Common Pitfalls

  • Orphaned nodes - Nodes that are not reachable from the trigger are skipped at run time. Make sure every node has an incoming connection.
  • Wrong condition branch - Connecting downstream nodes to the wrong output (Yes vs No) is a common bug. Hover the handle to confirm its label before dragging.
  • Stale variable references - Renaming a node breaks any {{ oldName.field }} reference downstream. Search the workflow after renaming.
  • Multiple inputs - Most nodes only accept one incoming connection. To merge branches, use a Parallel block earlier or restructure with a Subworkflow.

Related Articles

Learn More

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.