Recipe nodes

Recipes are built by connecting nodes on a canvas. Every recipe starts with a trigger, and downstream nodes have typed input and output ports that you wire together to form a processing pipeline. This guide covers the node types available in the palette and the workflows they support.

Palette categories

The palette is grouped into six categories: Triggers, Control, Connect, EDA, MDA, and Local. Notes are added from a dedicated sidebar button rather than the palette.

Trigger nodes

Every recipe starts with a trigger. The trigger decides when the recipe runs and what payload the rest of the graph receives.

  • Manual trigger — Starts the recipe when you click Run on the canvas. Use this while authoring or for desktop-style flows.
  • Slack trigger — Starts the recipe when a matching Slack event arrives (mention, slash command, channel event). Optionally downloads attached files so downstream nodes can use them, and can resolve user/channel display names.
  • GitHub trigger — Starts the recipe when a GitHub webhook event is received for the selected repository. Choose any event or specific event types (push, pull_request, issues, release, etc.).
  • Webhook trigger — Starts the recipe when an HTTP request is received on a configured path. (Coming soon.)
  • Schedule trigger — Starts the recipe on a cron schedule. (Coming soon.)

Control nodes

Control nodes shape data and route items between branches.

  • Edit data — Modify, add, or remove fields on each item. (Coming soon.)
  • IF — Route items based on a condition. (Coming soon.)
  • Merge — Combine items from two input branches by append, pairing, or branch selection. (Coming soon.)
  • Split out — Turn a list inside each item into separate items. (Coming soon.)

Connect nodes

Connect nodes use credentials from the Connect page to talk to external services or hand off to your desktop.

  • GitHub — Interact with repositories, pull requests, compare ranges, and files (list changed files between refs, fetch a file at a ref, etc.).
  • Slack — Send messages, manage channels, react, look up users, download files attached to events.
  • Create share link — Publish a file, asset, or rendered content and return a public share URL.
  • Send to desktop — Dispatch an asset or artifact to a connected desktop CAD application by machine and app. This replaces the previous Live design output and is now a normal action node, not a terminal output.
  • HTTP request — Make an HTTP request to any URL with optional auth, headers, query, and body. (Coming soon.)

EDA nodes

EDA nodes run remotely and handle electronic design tasks.

  • Library — Extract component library symbols and footprints from reference files (images, PDFs, vendor docs). Map incoming binary fields to symbol or footprint roles.
  • Schematic — Extract schematics from electronic reference files. Map incoming binary fields to schematic or pinout roles.
  • PCB, SPICE, Wire diagram, CAM — Listed in the palette as placeholders. (Coming soon.)

MDA nodes

MDA (mechanical design automation) nodes run remotely and handle CAD tasks. All MDA nodes are currently placeholders. (Coming soon.)

  • Model — Create or modify 3D CAD models.
  • Drawing — Generate technical drawings from 3D models.
  • Assembly — Build assembly-level mechanical outputs.
  • Sketch — Generate sketch-style mechanical outputs.

Local nodes

Local nodes run on your machine. Because they require a local browser session, recipes that include them cannot be run by a server-side trigger — they are gated as local-only and block deployable automation.

  • Local file — Provide files from your device as binary data on the workflow item. This is typically the starting point for image-based authoring flows paired with a Manual trigger.
  • Extract image — Capture an image from an uploaded file (image, PDF page, or SVG) for downstream processing. Useful for pulling reference drawings out of documents before sending them to an EDA or MDA node.
  • Local preview — Preview upstream artifacts or mapped content directly on the canvas. Pass-through node — does not change what flows downstream.

Notes

Note — Canvas annotation rendered as Markdown, with a configurable color. Added via the dedicated Note button on the sidebar rather than the node palette. Notes are not part of execution; they exist to document the recipe.

Hidden / implicit nodes

  • Artifact reference — Created automatically when you drag an artifact from the artifact panel onto the canvas. Emits the referenced server-ledger artifact (EDA or MDA) as a typed output. It has no manual palette entry.

Preset recipes

When you create a new recipe you can start from a preset template. Presets are normal workflow drafts — once instantiated they are fully editable in the canvas.

  • Blank recipe — Manual trigger only; build the rest yourself.
  • Extract symbol from image — Manual trigger → Local file → Extract image → Library (symbol mode) → Local preview → Send to desktop.
  • Extract footprint from image — Manual trigger → Local file → Extract image → Library (footprint mode) → Local preview → Send to desktop.
  • Extract schematic from image — Manual trigger → Local file → Extract image → Schematic → Local preview → Send to desktop.
  • Slack create library — Slack trigger → Slack (download attached file) → Library → Create share link → Slack (post link back).
  • GitHub file change to Slack — GitHub trigger → GitHub (list changed files) → GitHub (fetch file) → Library → Create share link → Slack.

The image-based presets are local-only because of the Local file / Extract image / Local preview / Send to desktop nodes. The Slack and GitHub presets are deployable — they start from a remote trigger and only use Connect and EDA nodes, so they can be activated to run in the cloud.

How nodes connect

Nodes communicate through typed handles. Color signals engineering domain:

  • EDA (magenta) — Edge carries an EDA artifact (library, schematic, netlist, PCB, gerber, SPICE, wire diagram).
  • Mechanical (yellow) — Edge carries an MDA artifact (3D model, drawing, assembly, sketch).
  • Generic (neutral) — Everything else: JSON data, trigger payloads, asset references, artifact references, share-link URLs.

Within a domain, a per-subtype compatibility matrix decides what flows where (e.g. schematic → netlist → pcb → gerber). Specific cross-domain pairings (eda:pcb → mechanical:model-3d, eda:gerber → mechanical:model-3d, eda:schematic → mechanical:drawing-2d) are declared explicitly. Generic edges use subtypes (asset, artifact, url, any) and any is a wildcard.

The canvas enforces this when you draw connections — anything not covered by a rule is incompatible.

Last updated March 26, 2026