Build User Tools
Every team has scripts that matter: the build wrapper, the release check, the one-liner that reads a ticket or a cloud account. User Tools turn those programs into first-class workflow steps. Describe each action once in a short YAML manifest, and Valdr gives it a named entry in the Builder, schema-checked inputs, typed JSON outputs for later steps, and a pinned revision, so a workflow keeps running the exact code you reviewed.
Write your tool in any language that can read standard input and write standard output. No SDK, plugin API, or MCP server is required.
Why not just run a command?
A Command step is ideal for a one-off npm test. Once a script becomes something several workflows depend on, a loose shell string starts to cost you: inputs go unchecked, output is text you have to parse, and the script can change underneath a workflow you already reviewed.
Script in a shell command
User tool
The payoff compounds. Write the adapter once, and every workflow that needs it gets the same validated contract, the same reviewed code, and a step result you can inspect after every run.
How it works
Build once
Reuse in every workflow
You create three things:
- A program that reads one JSON request and writes one JSON result.
- A manifest (
.tool.yaml) that names the tool, its actions, and the inputs and outputs of each action. - A pack that bundles those files so you can import them into Valdr, or share them with your team.
After import, the tool appears in Workflows > Tools and in the Builder’s User tools library group.
Find what you need
Start with the starter pack to see what’s available, then build and run your own tool. The CLI and Maven guides show how to apply the same pattern to your projects. Keep the schema and execution references nearby as you build, and use the troubleshooting guide when something fails.
| I want to… | Read |
|---|---|
| Start from working code or a ready-made CLI adapter | Use the Starter Pack |
| Use a tool someone already built | User Tools |
| Build a tool from scratch | Build Your First Tool |
| Import a tool or ship a new version | Package, Import, and Update |
| Turn an installed CLI into workflow actions | Wrap a CLI |
| Run Java builds without flooding the run with logs | Maven Builds |
| Look up a manifest field or schema rule | Manifest and Schemas |
| Understand requests, results, and retries | Requests and Execution |
| Diagnose a tool that fails | Test and Troubleshoot |
Next step
Use the Starter Pack to explore working examples and choose a starting point for your own tool.