Build a workflow
The workflow builder's canvas, step library, Outline, Settings and Permissions & cost tabs, validation and saving, on desktop and phone.
The workflow builder is where you assemble your own agent from approved read-only tools, logic steps and report sections. This page walks through its layout, how steps connect, how validation works and how to save. It is for creators building a workflow from scratch or editing one from a template, the assistant or a recording.
Open the builder#
Open Build in Studio, or go to /studio/workflow. Sign in first: without a wallet you can look around, but you cannot validate, save or see your drafts.
A new workflow starts with two fixed steps, Inputs and Report output, and the note Start your workflow:
- Add a data step: an approved read-only tool that reads the chain.
- Add a report section and choose which results it reports.
- Name and describe the workflow, then save it and create a test version.
The header shows the workflow's status: Getting started until your first edit, then Valid or the number of issues. It also shows Revision N once saved (or Not saved yet) and the first characters of the workflow's hash once it validates.
The layout#
On wide screens the builder has three panels:
| Panel | Contents |
|---|---|
| Add a step (left) | The step library, with a search box ("Search steps and tools…"). Collapse it with the arrow button. |
| Workflow (centre) | Four tabs: Canvas, Outline, Settings and Permissions & cost. |
| Right panel | Step settings for the selected step, or Workflow details when nothing is selected. |
The Workflow panel holds the fields every workflow needs:
- Agent name: up to 100 characters. This becomes the listing name.
- What this workflow does: up to 2,000 characters. This becomes the listing description. A draft cannot be saved without it.
- Workflow drafts: your saved workflow drafts; select one to open it, or choose New workflow.
- Start from a permitted template: see Duplicate the workflow template.
Add steps from the library#
The library lists Logic steps first, then Data and tools.
| Library entry | Adds | Details |
|---|---|---|
| Condition | A branch on a value | Conditions and transforms |
| Transform | Pick, compare, threshold or format values | Conditions and transforms |
| Report section | A section of typed findings | Report sections and findings |
| AI analysis | A bounded analysis of captured evidence | AI analysis steps |
| Sandboxed transform | Your own code in an isolated sandbox | Conditions and transforms |
| Add a data step | The first approved tool; choose another in its settings | Data steps and approved tools |
| Tool groups | One approved tool, grouped by what it reads: Solana, Tokens and wallets, Contracts and security, Markets and DeFi, Governance and treasuries, Chains and bridges and Public web | Data steps and approved tools |
Entries the server does not offer are shown with "Not available on this server" and cannot be added. Search matches step names, tool names, what a tool reads, its chains and its settings and output fields.
When you add a step, the builder wires it for you: a data step fills its required settings from your first input, and a logic step depends on the most recent data or transform step and uses its result. Adding a report section also adds a matching section in Settings and includes it in the report output. Check the wiring and change it where needed.
Connect steps#
Every step except Inputs has a Depends on list: "This step runs after the steps ticked here and can use their results." A step can only use values from steps it depends on.
Wherever a step needs a value, a picker offers:
- Input: name: a value the buyer provides for each run.
- Step name → Field: one output field of a data step, or Step name result for a condition, transform, AI analysis or sandboxed transform.
- Fixed value: a value you type. Values that look like credentials or 32-byte secrets are refused.
If a value points at a step you have not ticked, the picker shows "(tick it under Depends on)". Steps run in dependency order; a step whose dependency failed or was skipped is skipped too.
The four tabs#
Canvas#
The canvas draws the same workflow top to bottom: each row is one level of dependency, lines show what depends on what, and condition branches are labelled true or false. Select a step to edit it in Step settings. Steps with issues are marked, and hovering shows the first issue. Use the zoom buttons (Zoom out, Zoom in, Reset zoom) for large workflows.
Outline#
The outline lists every step as a card in run order, with all its settings and its own issues underneath. The tab label shows the issue count ("Outline · 3 issues"), and issues that belong to the whole workflow are listed at the end. Use it to check wiring without clicking through the canvas.
Settings#
Settings holds everything that is not a step:
| Group | What it sets | Details |
|---|---|---|
| Analysis chains | Solana, Ethereum, Base, Robinhood Chain | Inputs |
| Inputs | What a buyer provides for each run | Inputs |
| Report sections | Section titles, required sections, finding codes, labels and types | Report sections and findings |
| Run budget | Maximum RPC calls and Run timeout (seconds) | Run budget, limits and rights |
| Sample output | Example values for each finding | Report sections and findings |
| Advanced limits and scope | Steps, timeouts, log ranges, report size, per-tool call ceilings, address scope and the AI cost cap | Run budget, limits and rights |
| Licence, source and forking | Licence, source visibility, hosted use, source viewing, fork permission, attribution notice | Run budget, limits and rights |
| Secret references | Named references to server-side secrets | Run budget, limits and rights |
Permissions & cost#
Before the workflow validates, this tab shows a Draft estimate: chains, data steps with their call ceilings, the run budget, and "Signing or sending: Never: every step is read-only".
Once it validates, it shows the server's checked summary:
- Permissions: capabilities (for example EVM reads, Solana reads, Public web pages), chains, which addresses a run may read, web domains, where results go ("The run report only"), secrets, "Signing or sending: never", AI analysis and sandboxed code steps, and every tool with its call ceiling.
- Estimated cost: "Estimated worst case: N RPC calls", with each data step's share. If the run budget is lower than the steps' combined ceilings, it warns that a long run can stop as partial. Provider cost is shown as not priced per read.
Names and descriptions never grant a permission; only the steps, tools, limits and scope do.
Validation#
The server checks the workflow a moment after each edit. Problems appear in three places, in plain words that name your steps:
- To fix before testing · N above the canvas (the first eight; select one to jump to that step);
- under each step card in the Outline and in Step settings;
- next to the field in Settings.
Common messages and their fixes are listed in Common errors.
Save your work#
| Button | Needs | What it does |
|---|---|---|
| Save draft | A name, a description and a structurally valid workflow | Saves a new draft revision: "Draft saved as revision N. Fixed versions stay unchanged." |
| Save & create test version | Everything above, plus a workflow the server can run | Saves the draft, fixes it as a new immutable version and opens its test page. |
| Publish | Nothing | Opens Publish, where tested versions are listed. |
When a button is unavailable, the reason is shown next to it, for example:
- "Connect a wallet to save this workflow."
- "Add steps from the library, then name and describe the workflow to save it."
- "Give the agent a name to save it."
- "Describe what this workflow does to save it."
- "Resolve 2 issues to save (listed under the canvas and in the Outline)."
- "The draft can be saved; resolve 1 issue to create a test version."
The last one means the workflow is well formed but cannot run on this server yet, for example because an AI analysis step allows fewer than 256 output tokens.
Every save is kept in the draft's history. On Versions, Draft history lists each revision with its name, hash and time. If the draft was saved elsewhere since you opened it, saving fails with "This draft changed. Reload it before saving."
On a phone or narrow window#
Below 1,180 pixels wide the builder shows the workflow on its own:
- Add step above the canvas (and in the Outline) opens the step library as a sheet from the bottom of the screen.
- Selecting a step on the canvas opens Step settings as a sheet.
- The name, description and drafts appear in a Workflow details card under the workflow.
Everything else works the same way, and each view edits the same workflow.