Nodes and plugins

Download all docs

Use built-in nodes and attach reusable integrations to your project.

Built-in nodes

Native nodes cover math, logic, branching, data transformation, text, dates, and custom code. List the installed catalog and add a node to your project:

octonode add --list
octonode add math.add --id add-1 --config .octonode.yaml

Adding a native node creates editable TypeScript source and runtime artifacts. Edit the TypeScript file, then compile or scan the project to refresh its contract. See Your first workflow for a complete example.

Use plugins in Studio

Open Marketplace to find integrations. A plugin in the Workspace library is available for reuse; choose Use in project to attach it to the project where the workflow will run. Supply that project's required service credentials before executing the node.

For npm-backed plugins, project attachment installs the dependency using the project's package manager and updates its manifest and lockfile. A failed install can be retried; wait for successful attachment before using its nodes.

Install a local plugin

From the destination project directory:

octonode plugin install /absolute/path/to/my-plugin --project

Use the plugin's declared node IDs and input schemas when wiring or invoking it. Review the plugin's code, dependency requirements, and requested credentials before running it.

Build your own plugin

Start with octonode plugin create my-tools --lang typescript. A workflow plugin contains its node contracts, executable handlers, and any required service connections. Follow the TypeScript SDK guide for a complete manifest, implementation, build, and invocation example.

This is a workflow runtime plugin. An AI client's extension package and a project skill have separate installation and execution paths; see AI assistants and skills.

Publish a workflow plugin

Before publishing, test the built plugin, set its plugin.scope to [public], and supply author and license metadata in its definition. Increase plugin.version for each release. Configure the registry URL and its publishing credential through OCTONODE_MARKETPLACE_URL and OCTONODE_MARKETPLACE_TOKEN in your local environment.

octonode plugin publish ./my-tools

Publishing shares the plugin with the configured marketplace. Review the files first, include the compiled runtime files, and keep tokens and environment files out of the package. Consumers can then install its marketplace ID with octonode plugin install my-tools --project. Publishing credentials are separate from the service credentials that consumers supply when running its nodes.

Generate an adapter

The CLI can generate a plugin from an OpenAPI document or an npm package:

octonode plugin from-swagger ./openapi.json --id my-api
octonode plugin from-npm lodash --include 'chunk,pick,groupBy'

Inspect the generated files, then install the generated directory with octonode plugin install ./my-api --project or the corresponding npm adapter directory. The npm adapter calls the installed package; it does not copy the package implementation into your workflow.

Node inputs and outputs must remain JSON-compatible. An arbitrary npm export may need an adapter for objects such as streams or class instances. Dependencies that require install scripts may also need a separate build step; successful dependency installation alone does not guarantee every export can execute.

For portable examples that combine nodes, browse the workflow catalog and read Community and sharing before importing.