How it works
The rules a run follows, and what they mean for how you write a workflow.
A run is one invoke of a workflow. When it ends, A22A posts it to your webhook.
States
Each step in the run has its own state:
Order comes from needs
A step starts as soon as every step in its needs has completed. Steps with no needs start first. The order steps are written in does not matter.
Steps that do not need each other run at the same time:
summary and keywords start together, and brief starts when both have completed. A run takes as long as its longest chain of steps.
A step sees only its prompt
Each step is one call to its model, and the model sees only that step's prompt. It does not see earlier steps, other runs or past conversations unless the prompt includes them.
For example, brief's prompt as written:
Write a brief. Summary: {{summary.output}} Keywords: {{keywords.output}}What its model receives:
Write a brief. Summary: Revenue rose 12% in Q3. Keywords: revenue, growthThe model sees that text and nothing else. Templates lists everything a prompt can include.
When a step fails
One failed step fails the whole run. Failed runs covers retries and what is charged.
Runs are independent
Every invoke is its own run, with its own input and outputs. Runs do not see each other and can finish in any order. How many can be in progress at once depends on your plan.
A run keeps the version it started on, even if you deploy while it runs.
Limits
| Item | Limit |
|---|---|
| Prompt | 100,000 characters |
| Answer per step | 4,096 tokens, or the model's maximum if lower |
| Model call | 5 minutes |
| Output shape | 8,000 characters as JSON |
| Retries per step | 5 |
| Names | 32 characters: lowercase letters, digits and dashes |
| Runs at a time | 10 on Hobby, 100 on Pro |
| Webhook response | 10 seconds, 6 attempts |
| Library request | 30 seconds |