Publishing a Tool
You configure which inputs and outputs to expose in the app preview, then click Publish. The published Tool can be dropped into other canvases as a node, called by the chat agent and the API, and run from Apps.- Select the nodes you want to include in the Tool, then click the puzzle piece icon to open the app preview:
- For a single node, the puzzle piece appears next to the node’s settings bar
- For multiple nodes, it appears in the selection toolbar at the top of the canvas
- Choose which inputs and outputs to publish. The preview has an Inputs side and an Outputs side — switch between them with the toggle in the toolbar at the bottom of the panel:
- Use Add input parameter to tool / Add output parameter to tool to select parameters to expose
- Hover over a published parameter and click the X to remove it
- Click Publish at the bottom-left. A confirmation opens where you set a thumbnail and description and see a credit-per-run estimate; click Publish there to confirm. Subsequent publishes increment the version (Publish v2, v3, and so on).

Adding parameter descriptions
Click a published parameter’s label in the app preview (or on the canvas) to expand and add a description. Descriptions are essential when the Tool will be used by an agent, the agent reads them to decide what to pass in. They’re also useful for your future self: you will forget what your inputs do.Adding the Tool to a Library
To make the Tool show up in the node picker and reusable across workflows, add it to a library.Published Tools are saved as workflows. You can browse and organise them from the Workflows panel just like any other Runchat.
Writing a good description
The description on a Tool is what the agent reads when deciding whether to use it. Treat it like you’re describing the Tool to a smart assistant who has no context. Answer:- What does it take in?
- What does it give back?
- When would you reach for it?
Custom UI nodes (Client nodes)
When you publish a workflow as a Tool, the Tool’s UI is determined by the published parameters. If you need full control over the input or output UI, you can build a Client node using arbitrary React code. Client nodes are useful for interactions that need to happen in the browser rather than on the server, for example:- Painting masks on an image
- Compositing multiple images
- Editing audio or trimming video
- Custom drawing or sketching tools
- Interactive parameter pickers
Next steps
- Tools, Apps, and Libraries: how Tools fit alongside Apps and Libraries
- Agent Tools: make your Tool callable by the chat agent
- Apps: give your published Tools a custom web front-end