Node rail
The node rail is a compact icon strip on the left edge of the editor. It groups nodes into three categories:- Triggers
- Actions
- Outputs
Connecting nodes
Click the output handle of one node and drag to the input handle of another node to create an edge. Edges define the flow of data through your pipeline. Rules for connections:- Data flows from left to right (trigger → action → output)
- You cannot create circular connections
- Some node types support multiple input or output connections
- Edges between incompatible node types are prevented
Branch from a node
To author multiple outgoing branches in one shot, click the branch action in a node’s hover toolbar. The Add branches modal lets you list several rules and optionally add an Otherwise edge. Ingestly creates one outgoing edge per rule, each wired to a placeholder target that you can replace with a real node.Properties panel
Click a node or edge to open the properties panel on the right side of the editor. The panel stays open as you click between nodes so you can step through the graph without reopening it. Click outside the panel or use the close button to dismiss it. When you select a node, Ingestly pans it to the center of the visible canvas and zooms in to a focus level so it reads clearly even with the side panels open. This accounts for the space taken by the properties panel and data picker. Deselecting restores the previous position and zoom. Field help is shown via a help icon next to each field’s label. Click it to open a popover describing the field and its options, instead of always-visible description text. Toggle fields render inline with their label. Resize the panel by dragging its left edge. The panel width is constrained between a minimum and maximum so your canvas stays usable.Data picker
When you select a node, a Data picker column opens beside the properties panel and lists every upstream node’s output as a tree of fields. The picker helps you discover what is available to reference without leaving the editor.- Browse: expand any upstream node to see its
payload,metadata, and nested fields. Object and array fields nest inline with proper indentation, soitems[].amountappears underitemsrather than as a flat key. - Insert a token: click any field to insert its template token (
{{nodeName.payload.field}}) into the focused template editor, or drag the field onto the editor. - Sample values: select a document from the toolbar to see real values from that document’s latest run beside each field. Without a document, the picker shows the field schema only.
- Loop iteration: when the selected node sits inside a Loop body, the picker exposes the per-item iteration token alongside the loop source array so you can reference
item.pathinstead of the full collection.
Code editors
Some node configurations include code editors, such as the validation node script mode and JSON Schema fields. The editors are powered by Monaco and provide:- Syntax highlighting for JavaScript and JSON
- Autocomplete suggestions including template variable autocomplete. Type
{{to see available variables from upstream nodes - Inline error reporting with underlined errors and hover details
- JSON validation for schema fields, showing errors when the JSON structure is invalid
Editor toolbar
Above each code editor, a toolbar provides formatting buttons for common operations like indenting, commenting, and wrapping selections.Fullscreen editing
Click the expand button in the top-right corner of any code editor to open it in fullscreen mode. This gives you a larger workspace for complex scripts or schemas. Press Escape or click the collapse button to return to the inline view.Canvas toolbar
The toolbar sits above the canvas at full width and contains the primary editing controls:- Environment badge: shows the pipeline’s environment, a neutral badge for Development and an amber badge for Production
- Save (
Ctrl+S): save the current pipeline. An amber indicator appears if the pipeline saved but has validation errors - Activate / Active: activate or deactivate the pipeline directly from the editor
- Undo (
Ctrl+Z) and Redo (Ctrl+Shift+Z): step through edit history for your current session - Auto layout (
Ctrl+L): reorganize nodes into a clean left-to-right layout. After arranging the nodes, it rescales the view to fit the whole pipeline in the canvas, rather than keeping your prior zoom - Pipeline versions: open the version history drawer (see below)
- More actions menu: Revert to saved, Revert to last valid (when the current save is invalid), Use template to populate the canvas from a saved template, Export to file, Import from file, Copy to Production or Copy to Development to copy the saved graph to the other environment, and Validate pipeline
Editing shortcuts and node controls
The editor supports keyboard shortcuts and a right-click context menu for fast editing. Shortcuts are suppressed while your cursor is inside a text or code field.- Copy (
Ctrl+C), Cut (Ctrl+X), and Paste (Ctrl+V): copy, cut, and paste the selected nodes and their edges, including across pipelines. - Delete or Backspace: delete the current selection. Select several nodes first to delete them together.
- Escape: clear the selection.
- Save (
Ctrl+S), Undo (Ctrl+Z), Redo (Ctrl+YorCtrl+Shift+Z), Revert to saved (Ctrl+R), and Auto layout (Ctrl+L).
Ctrl+K to run editor commands such as Save pipeline, Validate pipeline, Auto layout, Fit view, Pipeline versions, and add-node commands by name.
Pin a mock output
Each non-trigger node’s hover toolbar has a Pin output action. It opens a dialog where you author a fixed JSON payload for the node to return, so you can build and test downstream nodes without running that node for real. Once a value is pinned, the action becomes Edit pinned output, and an Unpin action clears it.Minimap
A minimap in the corner of the canvas gives an overview of the whole graph and lets you pan and zoom quickly. Use the minimap control to show or hide it. A small Unsaved changes badge appears in the top-left of the canvas whenever you have pending edits. Hover it to see a list of the added, modified, and removed nodes and edges.Pipeline versions
Ingestly snapshots the pipeline on every save. Click the history icon in the toolbar to open the Pipeline versions drawer. The drawer has three regions:- Version list on the left: every saved version, newest first, with the version number, commit message, and timestamp.
- Diff panel on the right: when you select a version, the panel shows what differs between that version and the current draft (added, modified, and removed nodes and edges).
- Restore vN button at the bottom: replaces the current draft with the selected version. A new entry titled
Restored from vNis appended to history, so the restore itself is reversible. Unsaved draft changes are lost when you confirm.
Export and import
To move a pipeline between workspaces or share it with another Ingestly account:- Export to file in the More actions menu downloads the current pipeline (nodes, edges, and node configuration) as a JSON file.
- Import from file lets you pick a previously exported JSON file. The contents replace the current draft, so save first or accept the confirmation dialog when you have unsaved changes.
Saving and validating
- Click Save to save your current pipeline configuration
- The editor validates your pipeline automatically and shows errors if the configuration is invalid
- Common validation errors: missing trigger, disconnected nodes, missing required configuration
Testing runs
Use the run controls in the toolbar to test your pipeline with a document from the current pipeline.- The document picker only shows documents from the current pipeline
- You can test with documents in
Uploaded,Completed, orFailedstatus - The run button’s dropdown lets you pick Dry run or Live run for the run
Test step
To test a single node without re-executing the whole pipeline, hover any node and click the Test step action in its floating toolbar, or click Test step in the properties panel header for the selected node. Ingestly creates a partial run that records its result on a new run row tagged as a partial run, so the original full run is never modified. How the inputs are produced depends on whether the node has run before:- Already run (warm): Ingestly re-runs just that node, reading predecessor outputs from the most recent run for the selected document so the node receives the same inputs it saw before. Descendants stay frozen and do not run.
- Never run (cold, first try): Ingestly runs the pipeline from the trigger up to and including the selected node against the test document chosen in the run controls, then stops. Everything downstream of the node is skipped, so no downstream side effects fire. This lets you test a brand-new node, such as a freshly added Extract, before the pipeline has ever run end to end.
Dry run
Use a Dry run when you want to inspect output deliveries without sending callback requests or emails.- Callback nodes show a request preview instead of sending the request
- Email output nodes show an email preview instead of sending the email
- The run output clearly shows that the result is a dry run preview
A dry run only changes callback and email output delivery. Action nodes such as HTTP action and validation endpoint checks still run normally.