Studio: agents, flows & dashboards
Describe what you want automated in plain English; get a working agent with tools, a multi-step flow, durable execution, and a full audit trail.
Agents
An agent is either:
- a chat agent: a persona (instructions) + a model + enabled tools, which your team talks to, or
- a pipeline agent: the above plus an ordered workflow whose steps feed each other, for automations and batch tasks.
Building with the copilot
In Studio → Agents, describe the agent: "Classify inbound emails as order / complaint / other, extract the order number, and log it as a record." The copilot designs the persona, picks tools, drafts the workflow, and fills the canvas live. Refine it in the same chat ("also translate non-English emails first") and it edits the agent in place. Pipeline agents can be test-run immediately; the result streams back step by step.
Tools an agent can use
| Tool | Gives the agent |
|---|---|
| data | Plain-English questions over your ingested tables |
| documents | Semantic search over everything indexed |
| sql | Direct guarded, read-only SQL |
| connectors | Content from your connected tools |
| records | Reading and writing structured records |
| web | Outbound HTTP requests (SSRF-guarded) |
Workflow step types
Pipelines compose from typed steps: prompt, summarize,
extract (to JSON fields), classify (into your categories),
translate, data_query, search_docs, run_sql,
write_record, http_request, and condition (a natural-language
gate that stops the run when false). Each step reads the previous step's output by default,
or the original input when marked so.
Durable execution
Agent runs don't execute inside a web request. They're enqueued to a persistent, database-backed queue and executed by workers:
- Nothing is lost. A crashed or restarted worker never loses a run; stalled runs are detected by heartbeat and rescued by another worker.
- Retries. Failed runs are retried up to three times before being marked failed with the error preserved.
- Every trigger recorded. Manual runs, chat conversations, and copilot test runs all land in the same history with who/when/how long.
Run history & audit
Every agent, flow, and dashboard keeps two ledgers, in separate tabs made for volume (they paginate and refresh live):
- Runs: each execution with status, duration, trigger, and the full step-by-step trace (inputs, outputs, and errors per step).
- Audit: every change made to the thing itself: who called what, when, with which request payload. Click a row to expand the request details. Sensitive fields (passwords, tokens, keys) are redacted before storage.
Flows
Studio → Flows is the visual flow builder, executed by a dedicated flows
engine. Flows start from a trigger (manual, schedule, or
webhook) and connect nodes for AI steps (classify, extract, prompt, summarize,
translate), workspace data (query tables, search documents), and logic (if/branch, merge).
Every flow keeps its own execution history with per-node results.
trigger.webhook → ai.classify («complaint?»)
├─ yes → ai.extract (order_no, sentiment) → eagent.data_query
└─ no → ai.summarize → done
Dashboards
Studio → Dashboards generates a dashboard from a description of what you want to see, built on your actual tables. Revise it conversationally ("add a monthly trend of ticket volume"); invalid revisions are rejected gracefully with your previous version kept. Dashboards are shareable inside the workspace and carry the same audit history as agents.