Skip to main content
Most projects you build in Genie have a UI — pages someone opens and clicks around in. A Genie Agent is different: it’s a small backend automation with no screen of its own. You give it a typed input, it runs a short sequence of steps, and it returns a typed output. Think “when this webhook fires, look something up in the database, ask the AI to draft a reply, and post it somewhere” — without needing to run your own server for it.
Genie Agents live in your workspace, not inside a single project — though one can be bound to one of your projects when it needs that project’s own database or custom backend code. See Workspaces overview. You’ll also see them called “workflows” in the URL and in a few developer-facing spots — same feature, same data, just the one name a person reads and the other a link uses.

What a Genie Agent is

A Genie Agent is a short sequence of steps. Each step does one thing, and a later step can use an earlier step’s result — for example, the AI step can use the email address the database step just looked up. You don’t wire this up by hand: Genie figures out the order automatically from what you type. Sixteen kinds of step are available today:
A Database or Edge function step doesn’t have to stay on the agent’s own bound project — point it at any other Genie App in your workspace instead, to read or write that app’s own database or call its own backend functions. Pick the target project from the field’s picker in the editor, or just tell Genie AI which app you mean.
A Web search step set to Quick returns the raw results, not a written summary — add an AI step after it if you want Genie to summarize or act on what it found. That keeps a scheduled search from quietly spending AI credits on a summary nobody asked for.
Genie as a built-in connected app means a step can do anything Genie AI itself can do in chat — create a project, send a follow-up prompt, change a workspace setting — as part of an automation, with no credentials to connect. A step can only reach what the member who owns the agent could reach by asking Genie AI directly.
Need something none of these cover on their own? Reach for an edge function step — it runs real code, so it can do anything a custom backend function can do.

Two ways to start one

1

Create it on the page

Open Workspace → Genie Agents and click New agent. Give it a name, a one-line description of what it’s for, and its first step — that’s enough to land you straight in the visual editor, where you build out the rest. No conversation with Genie AI required to get started.
2

Or describe it to Genie AI

Tell the workspace AI what you want, the same way you’d ask for anything else in Genie:
  • “When a new row appears in my orders table, look up the customer’s email and send them a thank-you note”
  • “Every hour, check my signups table for anything new and post a summary to my Slack webhook”
  • “Add a step that drafts a reply with AI before it sends the webhook”
Genie AI builds and edits the sequence of steps for you, and can run a preview first — a dry run that shows you what each step would do with no real side effects: no email actually sent, no request actually made, no query actually run. Use it (or ask Genie to use it) to check a new or changed agent before you save it for real.
When Genie AI builds an agent for you, the chat shows a card with its actual graph — the steps and how they connect — right as it’s being created, not just a one-line confirmation. And every step Genie AI’s tools take while working on an agent now shows a plain-language label in the transcript instead of a generic “Working on it”.

The visual editor

Select an agent from the Genie Agents page to reach its editor — a canvas showing every step and how they connect. You can connect two steps by clicking one step’s output and then the step that should use it, rename a step, or remove one. Saving never overwrites a newer version. If Genie AI, a revert or another tab saved while you were editing, your draft stays on screen and the editor offers to load the newer version. To use an earlier step’s output inside a field — an AI prompt, a database query, a URL — click the + next to the field’s label. A nested picker lets you drill into a step and pick exactly the value you want, which then appears as a chip right inside the field, wherever you placed it. Click a chip to swap it for a different value, or choose Write it myself to edit the raw text directly.
There’s only ever one agent behind the scenes, not two competing copies. Whatever you change on the canvas, Genie AI sees the next time you talk to it — and whatever Genie AI changes, the canvas reflects the next time you open it.
Find a step. On a large canvas, press ⌘K (Ctrl+K), or / outside a text field, to search the steps by name. Pick one and the canvas glides to it and opens its panel. The search button in the canvas toolbar opens the same search on a phone. Frames. Group steps under a name to keep a busy canvas readable. Choose a new frame under Drawn in in a step’s panel, or move the step into an existing one. A frame can be collapsed into a single card, renamed, moved by its tab or ungrouped. Frames only change how the canvas looks, never how the agent runs. During a run, a collapsed frame shows its most telling status, so a failure inside is never hidden.

Branching

An If / else step tests one or more rules against earlier results and comes out yes (then) or no (else) — combine its rules with AND (all must hold), OR (any one), or NOT (none may hold). Drag from the step’s Then or Else dot onto another step to gate it on that branch, or pick the branch from Runs in that step’s own settings instead. A step whose branch wasn’t taken is skipped, not failed — its result shows Branch not taken. A step placed where both branches rejoin (one that doesn’t itself carry a branch) runs regardless of which side actually ran.
Ask Genie AI to add the branch for you — “only send the notification if the row count is over zero” — and it sets up the If/else step and the gate together.

Looping

A Loop step repeats the steps inside it, in one of three shapes: for each item of a list (a database query’s rows, say), a fixed number of times, or while a condition keeps holding. A Variable step holds a named value across the passes — a running total, a counter, a collected list — with six ways to change it each time through: set, add, subtract, multiply, divide, or append. Together they’re enough to do things a fixed sequence of steps can’t, like “add up every order over €100” or “keep checking until the build finishes.” The editor marks a loop’s own steps with a coloured dot on the canvas, so it’s clear at a glance which steps run once and which run every pass. A run takes at most 500 steps in total, counting every pass. A loop that can’t fit its passes into what’s left fails before its first pass and says so, rather than stopping half-way. A loop with stop rules may end early, so it only fails if it reaches that limit with its rules still holding.
Ask Genie AI things like “loop over every row and add up the total” — it sets up the Loop and Variable steps together, the same as describing any other automation.

Testing an agent

Before you commit to a change, you can run a real test to see exactly what an agent — or just one step of it — actually does.
  • Test run — starts a real run of your last saved version and paints live status on every step’s card as it goes: waiting, running, done, or failed, along with the value each step produced. This uses your real data and connected apps, and spends any credits it normally would — it isn’t a simulation. Save your changes first; a test run always uses the saved version.
  • Test this step — test a single Connected app step on its own, without saving or running the rest of the flow. Genie fills in realistic example values for anything the step would normally get from an earlier step, so the test is likely to succeed on the first try. Because it’s a real call, a step that writes data will actually write it.
  • Ask Genie AI to fix it — if a step’s test fails, hand the failure to Genie AI with one click. Genie sees the tool that failed, the connected app’s own error, and exactly what was sent, and proposes a fix.
Genie AI can test a step on your behalf too — just ask it to test a step while you’re describing changes to your agent in chat.
Re-run with the same data. Once a run has finished, Re-run with the same data repeats it with the same input. Steps that only read — an AI, web search (quick or deep), or knowledge step, say — reuse what the earlier run found instead of running again, so retrying the one step that failed, or testing a notification, doesn’t wait on (or pay for) the research in front of it a second time. Steps that write or send — a notification, a row insert, a connected-app action — always run again, and so does any step you’ve edited since. Genie AI can re-run a run for you too.

Run results

Every run gets a results page of its own: the outcome, and every step that produced it, in the order it ran, each with its status, how long it took, and what it produced. An AI step’s answer renders as formatted text rather than raw markdown. Open it on a run still in progress and it follows along as each step finishes. Each agent also has a Runs page — its recent runs, newest first — one tap from the editor’s toolbar. On the chat canvas, an agent shows its last five runs and how each step went in the picked run; tap a step to see what it does and ask Genie AI about it. Steps of a called agent. When a step calls another agent, its row in the run results shows a pill such as 28 steps inside · 1 failed. Open it to see the called agent’s own steps with their status, duration and any error, and open further calls inside it. Steps of an agent you may not see stay hidden. Genie AI can read the same steps when you ask about a run. A notify step links here by default — choose This run’s results or a page inside Genie from the step’s settings to point it somewhere else.

Managing an agent

The Genie Agents page lists every agent in your workspace — as cards or as a table, whichever you’d rather browse (switch between them from the view toggle; your choice is remembered). Each agent’s settings menu (⋯) — on its card, its row, and the editor toolbar — gives you:
  • Rename — change its display name. This never changes its underlying identifier, so any published tool or webhook URL built on it keeps working.
  • Pause / Resume — pause stops it from starting any new run (on a schedule, a webhook, or another agent calling it) until you resume it; it never interrupts a run already in progress.
  • Share — private to its creator by default; the owner can share it with the whole workspace or with specific people, the same three states as a workspace chat. A member it’s shared with can open, edit, and delete it just like the owner can — only the owner can change who it’s shared with.
  • Recent runs — see its run history, what happened on each one, and open any run’s own results page.
  • Delete — permanently removes the agent, every version of it, and its whole run history. This can’t be undone — pause it instead if you just want it to stop.

Triggers

An agent doesn’t only run when you ask it to in chat. You can set it up to start on its own:
  • On a schedule — the same idea as scheduled jobs: “run this every night at 2am.”
  • On an incoming webhook — give an external service (like a form tool or a payment provider) a URL to call, and the agent runs when a request arrives.
  • Manually — run it yourself, or have Genie AI run it, on demand.
An agent can hold more than one trigger at once — nightly and reachable by webhook, for example.
Ask Genie AI things like “run this every Monday at 9am” or “give me a webhook URL that triggers this agent” — the same conversation that builds it also sets up how it starts.

Start an agent from the knowledge model

An agent can also start when something moves in your knowledge model: when an entity changes stage in a class’s process. In the Start panel choose On a stage change, then a class, and watch every move, one move, or a stay of a number of days in a stage. Each run is handed the record that moved, so its steps can use it — for example to draft an email about a contract that just reached Signed. You can change what a trigger watches in place, and ask Genie AI to set it up. On the process view, press Create a Genie Agent on a move to build one that already starts on it.

Editing triggers from the canvas

The editor’s Start card names every real way the agent starts — its schedule as a plain sentence (“Every day at 02:00”, “When something calls in”, or “No schedule — this agent only runs when you press play”), plus when it fires next. Select it to open the Start panel, where you can add a trigger, retime or switch off an existing one, or remove it — no need to describe the change to Genie AI, though you still can. A schedule is built entirely from a cadence, a time, and day toggles rather than typed as a cron expression; anything the picker can’t express opens under Advanced on its raw schedule instead of being silently rewritten.
If every trigger is off (or none is set) and nothing else calls this agent, the Start card shows it as unplugged — the agent can still be run from the page, from Genie AI, or by another agent, but nothing starts it on its own.

Secrets stay out of the flow

If a step needs an API key or another credential — an Authorization header for a webhook, say — it’s stored securely as a workspace secret — for the whole workspace or for just this agent — and the step refers to it by name. The credential itself is never pasted into the flow or shown back to you (or to the AI) in plain text.

Billing

An AI step draws credits the same way sending a message in chat does. Steps that don’t call the AI — a database query, an HTTP request — don’t consume AI credits.

Limits

  • Up to 25 steps per agent.
  • A Loop step runs a bounded number of iterations and a run has a bounded total number of steps, so a loop always finishes rather than running away.
  • A scheduled agent is checked for its next run at least every 10 minutes, so schedules finer than that aren’t meaningful — Genie won’t accept one.
  • Agents can call agents that call agents, up to 5 levels deep. An agent can never end up inside its own call, directly or through others — Genie refuses to save such a loop, and the agent picker greys out agents that already call this one.

Scheduled jobs

Schedule a deployed edge function to run automatically on a recurring timer.

Genie Cloud database

Learn about the database an agent’s database step queries.

Workspaces overview

Find your way around the workspace and its sidebar.

Genie Tools

Small internal apps that share the same workspace tables a Database step can query.