Capabilities and processes
AGAS has two core primitives.
Capability
A capability is an atomic operation: one web interaction, learned once, replayed many times. One capability = one row of data per invocation.
Examples:
get_bna_dollar_rate: → navigates to bna.com.ar and extracts buy + sell
get_wikipedia_first_paragraph(slug): → navigates to a Wikipedia article and extracts the first paragraph
export_csv(datasetId): → exports a dataset to CSV (built-in, no learning required)
send_email_with_attachment: → sends email via Resend (built-in)
Every capability has a contract: inputs, outputs, and success signals. Sol infers this contract from your intent before it even opens Chrome.
Process
A process is a composition of capabilities and logic. It's what you get when your ask needs more than one operation, or when operations depend on each other's outputs.
Step kinds a process supports:
| Kind | Purpose |
|---|---|
| `foreach` | Loop over a list/range, run body per item |
| `analyze` | Invoke Ana (ranking, comparison, aggregation) |
| `output` | Export CSV, send email |
| `transform` | Small deterministic calculations |
Steps reference each other via templates:
`${input.email}` — process-level input
`${step.fetch.output.datasetId}` — output of step "fetch"
`${item}` — current item in a foreach
`${path ?? fallback}` — optional with fallback
You never write this JSON. Sol composes it from your natural-language request.
Why this split
Capabilities stay simple: one atomic operation, learned once, replayed cheaply.
Complexity goes into processes where it's composable: foreach a list, chain steps, use outputs of previous steps.
This means the engine handles "top 10 restaurants ranked by price/rating, emailed as CSV" via composition — not by special-casing list extraction inside a capability.
Cross-tenant sharing
Capabilities' recipes are shared: for public domains (BNA dollar, Wikipedia, etc.) — we learn the site once, everyone benefits.
Data (your datasets) is never shared: . Only methodologies (recipes) are pooled. Your BNA dollar history is yours.
See [Privacy and data](/help/privacy-and-data) for details.
