API Reference
All methods are available in both TypeScript and Python SDKs. TypeScript uses camelCase, Python uses snake_case.Nodes
Read and write node data in the workflow.nodes.getOutput(nodeId)
Read a node’s last execution output. Returns whatever exists, which may be from a cron run, manual execution, or webhook trigger.
nodes.getConfig(nodeId)
Read a node’s configuration fields.
nodes.setConfig(nodeId, config)
Set configuration fields on a node (merges with existing config).
nodes.list()
List all nodes in the workflow.
Execution
Run nodes and track results.execution.runNodesAndGetOutput(runNodes, targetNodes)
Run nodes and stream output as each target node completes.
Parameters:
runNodes: nodes to execute. String IDs or{ id, config }objects with temporary config overrides.targetNodes: node IDs whose output to collect.
execution.runNodesInBackground(runNodes)
Fire-and-forget execution. Returns immediately.
execution.stop()
Stop the current workflow execution.
execution.onNodeState(nodeId, handler)
Subscribe to a node’s execution state changes. Works for any trigger (manual, cron, webhook).
execution.onNodeOutput(nodeId, handler)
Subscribe to a node’s output in real-time. Fires whenever the node produces output, from any source.
State
Persistent key-value storage via state-manager nodes. Requires a State Manager node in the workflow.state.get(key)
state.set(key, value)
state.del(key)
Remove a key entirely.
state.update(key, updater)
Read-modify-write with an updater function. The function runs locally (not on the server).
state.keys()
List all available state keys.
state.onChange(key, handler)
Subscribe to state changes. Fires on set and del from any source.
Auth
Credential management and OAuth flows.auth.listCredentials()
List all available credentials for the user.
auth.hasCredential(credentialType)
Check if a credential of the given type exists.
auth.requestCredential(credentialType)
Only available in custom components (iframe context). Opens the NoClick OAuth popup.
auth.createCredential(credentialType, data, name?)
Create a non-OAuth credential (API key, token, etc). The component provides its own input UI.
Resources
File and blob storage via R2. Scoped to the workflow.resources.upload(name, mimeType, sizeBytes)
Create a resource and get a presigned upload URL. PUT the file body to the URL.
resources.getUrl(resourceId)
Get a presigned download URL.
resources.list(resourceType?)
List resources in the workflow. Optionally filter by type ('file', 'image', 'dataset', etc).