Appearance
Testing an agent
Run it once, read what it did, then decide whether it deserves a schedule. That is the whole loop, and it is the reason agents are created switched off.
Run it once
On the agent, choose Run once. Nothing about the schedule changes. If the agent is already running, this joins that run instead of starting a second one, so you cannot double your spend by pressing it twice.
Read the account of the run
When it finishes you get a plain account of what happened:
Asked: Check the following sources and report what has changed since the previous run, quoting the specific figures or wording that moved: the pricing pages of example.com and example.org
Read
- example.com/pricing
- example.org/plans
- Its own note from the previous run
Wrote
- Pricing changes, week of 8 September
Refused
- Tried to read internal.example.local, which is not a source it is allowed to reach
Cost: $1.83 · Took: 41 seconds
Four sections, and each line carries the recorded action it came from, so you can check a claim rather than take it.
Asked
The question in the words you gave it, filled into the shape's template. If this does not read like what you meant, the subject line is where to fix it.
Read
What it actually looked at. One line per source. This is the section that tells you whether the agent understood the assignment: an agent that was supposed to compare two pricing pages and read eleven blog posts did not.
Wrote
What it produced. If a note is here but you cannot find it in your knowledge base, it is held for review. See Approvals and veto.
Refused
What it tried and was not allowed to do. This section is shown rather than hidden, because a refusal is usually the most informative thing in a run. A run that quietly did less looks identical to a clean run if you hide what it was blocked from.
An empty Refused section means nothing was blocked.
Why the agent does not narrate its own run
Every line above is assembled from recorded actions. The agent's own account of what it did is never a source, and this is a deliberate design constraint rather than a technical limitation.
An agent that reports "I checked twelve competitors and prices are stable" while having checked none is worse than no agent at all. It is confidently wrong in a place nobody thinks to look, and it will stay wrong every week. Reading the record instead of the summary makes that failure impossible to hide.
What to look for
| What you see | What it usually means | What to do |
|---|---|---|
| Read the wrong sources | The subject is too vague | Name exact pages or exact questions |
| Read nothing | Sources unreachable, or blocked | Check the Refused section |
| Wrote nothing | Genuinely nothing changed, or it could not source anything | Check Waiting for you |
| Cost near the ceiling | The subject is too broad for the budget | Narrow the subject, or raise the ceiling |
| Marked Did less than asked | It cut back to fit the budget | Same: narrow, or raise |
| Something in Refused | A tool or destination it may not use | Expected for most shapes. See What agents can see |
Run it twice before scheduling
For the shapes that compare against last time, notably competitor watch and digest, the first run has nothing to compare against and will read as thin. The second run is the one that shows you what the agent is actually worth.
Then schedule it
Switch Schedule on. It runs at the shape's cadence from then on, inside the same ceilings you already saw.
You can switch it off again at any time. Switching off stops the schedule and keeps everything it produced.
Reading a run over the API
The same account is available at:
GET /api/agents/{agent_id}/runs/{run_id}It returns the asked, read, wrote and refused lines, the cost, the duration, and whether the run was degraded. A run is only readable through the agent that owns it.
Next
- Approvals and veto: deciding on what it wrote
- Limits and costs: what "did less than asked" means for the next run