Every node in the catalog
The full authored palette: 43 node types in 10 groups, 25 of them free on the platform side and 9 carrying an authored USDC estimate. Of those, 2 Suede profiles are internal-only and 6 are retained for compatibility because their routes are not currently live. This page is derived from the same catalog module the studio ships (src/lib/flow/node-definitions.ts), so when the palette grows, this reference updates itself.
Four columns, no surprises
Dry run is what the node does in the default free mode. “Runs for real” means the node executes its actual logic in a dry run because it costs nothing and reaches nothing external on its own. “Stubbed” means the engine intercepts the node before its executor runs and returns a placeholder in the real output shape: no money moves, no external system is touched.
Effects are the node's declared capabilities: what it can read, write, send, spend, publish, or settle. A dash means the node is pure local computation. Subflow and Loop declare every effect because they run another flow: their true effects are whatever the inner flow contains, and the engine budgets them accordingly.
Cost is the platform-side price. “Variable” covers three honest cases: AI nodes metered in gateway tokens, HTTP-shaped nodes whose real cost is whatever the target service bills you, and Subflow/Loop whose cost is the sum of what runs inside them. Fixed estimates are per call in USDC when the backing route is public. Internal operational profiles say “Internal only”; retired compatibility profiles say “Route unavailable.” Neither is part of the public price ledger. The pricing model behind all of this is documented in Payments.
Field-level detail for the four general-purpose workhorses (HTTP, Webhook, Transform, Loop), including caps, the SSRF guard, and the expression grammar, lives on the quick reference.
Triggers
2 nodesHow a run starts: on a five-field UTC cron schedule, or when an HMAC-authenticated webhook delivery arrives.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Scheduleschedule | Starts a flow on a five-field UTC cron schedule. | Runs for real | - | Free |
| Webhookwebhook | Starts a flow when an authenticated inbound request arrives. | Runs for real | - | Free |
I/O
2 nodesThe flow's boundary: what comes in when a trigger fires, and what a finished run returns to its caller.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Inputinput | Supplies trigger data and optional default fields to a flow. | Runs for real | - | Free |
| Outputoutput | Marks and labels a final flow result. | Runs for real | - | Free |
AI
3 nodesJudgment steps on the Claude-backed gateway. No API key of your own; usage is metered in gateway tokens.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| LLM (Claude)llm | Generates a model response from a prompt and upstream context. | Stubbed | spend | Variable |
| Classifyai.classify | Sorts an upstream value into one of your own labels. | Stubbed | spend | Variable |
| Extract Fieldsai.extract | Pulls named fields out of messy text as a structured object. | Stubbed | spend | Variable |
Logic
7 nodesThe plumbing that makes a graph a program: HTTP calls, reshaping, routing, reducing, and running other flows as steps.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| HTTP Requesthttp | Calls an HTTP endpoint with a configurable method, headers, and body. | Stubbed | read · write · delete · send | Variable |
| Transformtransform | Reshapes upstream data with the local expression language. | Runs for real | - | Free |
| Branchbranch | Routes an upstream value through a true or false output. | Runs for real | - | Free |
| Switchlogic.switch | Routes an upstream value to one of four named outputs, or to fallback. | Runs for real | - | Free |
| Aggregatelogic.aggregate | Reduces a list to a single count, sum, average, minimum or maximum. | Runs for real | - | Free |
| Subflowsubflow | Runs another flow as a reusable step. | Runs for real | read · write · delete · send · spend · publish · settle | Variable |
| Looploop | Runs a referenced flow once for each item in an array. | Runs for real | read · write · delete · send · spend · publish · settle | Variable |
Docs & Data
9 nodesDocuments and structured data processed on the platform: PDF and DOCX text, spreadsheets, row cleanup, knowledge search, and one read-only web fetch.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Extract PDF Textdocs.extractText | Extracts plain text from a PDF's raw bytes. | Runs for real | - | Free |
| Resource Queryresource.query | Queries one exact approved Resource Pack version through its public field allowlists. | Runs for real | read | Free |
| Extract DOCX Textdocs.extractDocx | Extracts plain text from a Word document's raw bytes. | Runs for real | - | Free |
| Knowledge Searchdocs.knowledgeSearch | Retrieves the passages most relevant to a query from a small set of documents. | Runs for real | - | Free |
| Generate Text Report PDFdocs.generateReportPdf | Renders a title and bounded plain-text sections into a downloadable PDF. | Runs for real | - | Free |
| Parse Spreadsheetdata.parseSpreadsheet | Parses CSV or XLSX bytes into an array of row objects. | Runs for real | - | Free |
| Filter and Clean Rowsdata.filterRows | Filters, removes empty or duplicate rows, projects fields, and stable-sorts structured data. | Runs for real | - | Free |
| Generate Spreadsheetdata.generateSpreadsheet | Generates a downloadable XLSX workbook from structured rows. | Runs for real | - | Free |
| Fetch a URLweb.fetchUrl | Fetches a URL with a read-only GET and returns bounded page text, parsed JSON, or a matched price number. | Stubbed | read | Variable |
Comms & CRM
2 nodesOutbound messages to the systems a business already runs on, delivered through webhooks you configure.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Slack Messagecomms.slackMessage | Posts a message to a Slack incoming webhook. | Stubbed | send | Free |
| CRM Webhookcomms.crmWebhook | Sends a JSON record to any CRM or automation webhook. | Stubbed | send | Free |
Finance & Ops
1 nodeOperational paperwork as a node: structured line items in, a rendered invoice out.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Generate Invoice PDFfinance.generateInvoicePdf | Renders structured line items into a PDF invoice. | Runs for real | - | Free |
Dev & Infra
3 nodesGitHub as a set of typed steps: read issues and pull requests, file or comment on issues, dispatch workflows.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| GitHub Readdevops.githubRead | Reads an issue, a pull request, or a filtered issue list from GitHub. | Stubbed | read · send | Free |
| GitHub Issuedevops.githubIssue | Creates or comments on a GitHub issue via the REST API. | Stubbed | send | Free |
| GitHub Workflow Dispatchdevops.githubWorkflowDispatch | Triggers a workflow_dispatch event via the GitHub REST API. | Stubbed | send | Free |
Music & IP
9 nodesThe Suede music vertical. Generate Song uses a public x402 route; Analyze and Rights Lookup are internal-only; other authored profiles remain visible for saved-flow compatibility.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| Style Coachsuede.styleCoachCompatibility profile · route unavailable | Develops a creative direction from a style reference. | Stubbed | read · spend | Route unavailable |
| Lyricssuede.lyricsCompatibility profile · route unavailable | Generates lyrics from a prompt or upstream result. | Stubbed | read · spend | Route unavailable |
| Generate Songsuede.generateSong | Generates a song from a text description. | Stubbed | read · spend | $0.500 est. |
| Analyzesuede.analyzeInternal profile · not a public offering | Analyzes an audio asset and returns its musical characteristics. | Stubbed | read · spend | Internal only |
| Stemssuede.stemsCompatibility profile · route unavailable | Separates an audio asset into instrumental and vocal stems. | Stubbed | read · spend | Route unavailable |
| MIDIsuede.midiCompatibility profile · route unavailable | Converts an audio asset to MIDI data. | Stubbed | read · spend | Route unavailable |
| Masteringsuede.masteringCompatibility profile · route unavailable | Masters an audio asset for polished playback. | Stubbed | read · spend | Route unavailable |
| Rights Lookupsuede.rightsLookupInternal profile · not a public offering | Looks up registry-backed rights data for an asset hash. | Stubbed | read · spend | Internal only |
| Chain Chatsuede.chainChatCompatibility profile · route unavailable | Sends a message through the Suede chain chat endpoint. | Stubbed | read · spend | Route unavailable |
Rails
5 nodesAgent-commerce rails: IP registration and promo campaigns on Base, royalty split tables, and the Connector Lab's simulation-only prototype.
| Node | What it does | Dry run | Effects | Cost |
|---|---|---|---|---|
| API Operationapi.operationPrototype: simulation only | Simulates one immutable imported API operation with typed request and result ports. | Stubbed | write | Variable |
| Register IPsuede.registerIp | Registers an upstream asset with the Suede IP Registry on Base. | Stubbed | write · publish | Free |
| Royalty Splitsuede.royaltySplit | Builds a basis-point royalty split table for an asset. | Runs for real | - | Free |
| Launch Promosuede.promo | Creates a creator promotion campaign from a campaign brief. | Stubbed | write · publish | Free |
| Promo Claimssuede.promoClaims | Reads Suede Promo campaign claims and verdicts (read-only mirror). | Stubbed | read | Variable |
Catalog versus palette
This page lists the complete authored catalog, including the Connector Lab's API Operation prototype, which is simulation-only and cannot be launched into a live agent (the launch API rejects graphs that contain it). The palette you see in the studio can additionally gate nodes by availability, so a node listed here may not be offered to every workspace yet. Music & IP rows labeled “Internal profile” are not public offerings, while “Compatibility profile” rows are retained so older saved flows remain readable and do not claim a live route. The exact-three public gateway inventory lives on Pricing.
