Nodes and plugins
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.yamlAdding 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 --projectUse 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-toolsPublishing 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.