Nodes are the building blocks of recipes in Neurocad. You connect them on a canvas to define processing workflows for EDA, mechanical design, and integration tasks.
What is a node?
A node is a self-contained step in your recipe with specific inputs and outputs:
- Inputs appear on the left side of the node.
- Outputs appear on the right side of the node.
Each node performs a specific action — starting the recipe from a trigger, uploading a file, extracting an image, generating a 3D model, posting a Slack message, and so on. Nodes take input from upstream nodes or from direct user entry, then produce outputs that can feed into the next step.
Every recipe begins with a trigger node. The trigger decides when the recipe runs and what payload the rest of the graph receives.
Adding nodes to the canvas
There are a few ways to add nodes:
- Open the sidebar palette on the left. Nodes are grouped into categories: Triggers, Control, Connect, EDA, MDA, and Local. Notes have their own sidebar button outside the palette.
- Drag a node from the palette onto the canvas to place it where you want.
- Click a node in the palette to drop it at a default position.
- Filter the palette by input or output handle color (EDA, Mechanical, Generic) using the filter controls at the top of the palette — this hides nodes that can't connect to that handle type.
- Right-click anywhere on the canvas to open a context menu with the full categorized node list at that position.
- Drag from an open handle into empty space to open the same node menu where you released, so you can drop a follow-up node and wire it inline.
- Disabled nodes (coming soon) appear dimmed in the palette and cannot be added.
Connecting nodes
To build a workflow, connect nodes by drawing edges between their handles:
- Click and drag from an output handle on one node to an input handle on another node.
- The connection appears as a colored edge between the two nodes.
- Handles are color-coded by engineering domain so you can identify valid connections at a glance.
- The canvas enforces type compatibility — you can only connect handles whose types and subtypes are compatible.
If you drop a connection on a node with multiple inputs, the canvas picks the best matching handle automatically.
Categories of nodes
Triggers
Every recipe starts with a trigger. Triggers decide when the recipe runs and what payload the rest of the graph receives.
- Manual trigger — Run the recipe by clicking the run button on the canvas. Use this while authoring or for desktop-style flows.
- Slack trigger — Run on Slack events (mentions, slash commands, channel events).
- GitHub trigger — Run on GitHub webhook events for a chosen repository.
- Webhook trigger (coming soon) — Run when an HTTP request hits a configured path.
- Schedule trigger (coming soon) — Run on a cron schedule.
Control nodes (coming soon)
Shape and route data between branches: Edit data, IF, Merge, Split out.
Connect nodes
Outbound integrations using credentials from the Connect page.
- GitHub — Interact with repositories, pull requests, files, and ref ranges.
- Slack — Send messages, react, look up users, download files attached to events.
- Create share link — Publish a file or asset and return a public 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 step.)
- HTTP request (coming soon) — Call any URL with auth, headers, query, and body.
EDA nodes
Remote electronic-design steps.
- Library — Extract symbols and footprints from reference files. Map binary fields to symbol or footprint roles.
- Schematic — Extract schematics from reference files. Map binary fields to schematic or pinout roles.
- PCB, SPICE, Wire diagram, CAM (coming soon).
MDA nodes (coming soon)
Remote mechanical-design steps: Model, Drawing, Assembly, Sketch.
Local nodes
Local nodes need a browser session, so any recipe containing one is local-only and can't be activated as a server-side automation.
- Local file — Provide files from your device as binary data on the workflow item.
- Extract image — Capture an image from an uploaded file (image, PDF page, or SVG).
- Local preview — Preview upstream artifacts or mapped content directly on the canvas. Pass-through — does not change downstream data.
Notes
Note is a Markdown canvas annotation with a configurable color, added from the dedicated Note button on the sidebar (not the palette). Notes don't participate in execution.
Node properties
Click a node to select it. The right-side panel shows its configurable surface, organized as a top-to-bottom flow:
- Inputs — Panel-bound input fields. You can wire upstream data into these or fill them in directly. Each row shows a colored dot for its handle type.
- Configuration — The node's own parameters (operation/resource pickers, mode toggles, prompt text, file-input role mapping, schedule expressions, channel pickers, etc.).
- Outputs — The typed output handles the node produces, with the engineering domain and subtype shown next to each.
- Credentials — When a node needs one (Slack, GitHub, HTTP), the panel shows a credential picker tied to its connect type.
Visibility of individual fields is conditional on other parameters — e.g. a GitHub node's available file-path picker depends on the selected resource and operation.
Handle types
Color signals engineering domain:
- EDA (magenta) — The edge carries an EDA artifact (library, schematic, netlist, PCB, gerber, SPICE, wire diagram).
- Mechanical (yellow) — The edge carries an MDA artifact (3D model, drawing, assembly, sketch).
- Generic (neutral) — Everything else: JSON data, asset references, artifact references, share-link URLs, trigger payloads.
Within a domain, a per-subtype compatibility matrix decides what flows where (for example, schematic → netlist → pcb → gerber). A few cross-domain pairings are declared explicitly (eda:pcb → mechanical:model-3d, eda:gerber → mechanical:model-3d, eda:schematic → mechanical:drawing-2d). Generic edges use subtypes (asset, artifact, url, any); any is a wildcard.
Running nodes
When a node is selected and ready to run, the property panel shows a run button at the bottom. The button label depends on what the node is:
- Triggers without listen support (Manual, Schedule) show Run from this trigger — submits a manual execution starting at that trigger.
- Triggers with listen support (Slack, GitHub, Webhook) show Listen — waits for a real inbound event so you can capture a sample payload to design against. Click again to cancel.
- Action nodes show Test step — executes the recipe up to and including this node, so you can iterate on a single step without rerunning the whole graph.
You can run a single step or the full recipe end to end. Both paths use the same execution pipeline, so results are consistent whether you're testing one step or running the complete workflow. Local-only recipes (any recipe containing a Local node) run from the canvas; recipes that start from a remote trigger and use only Connect / EDA / MDA nodes can be activated to run server-side.