Automations
Building on the Canvas
What an automation is, and how to add, connect, save and activate its blocks on the visual canvas
An automation is an assembly line you design once and then let run on its own. Each station is a block on a visual canvas: some are AI agents that think and write (they use credits), others are free blocks that sort, filter and move data at no cost. A schedule, a button or an event in another app fires the starting whistle, and the line runs from start to finish.
| Term | What it is |
|---|---|
| Trigger | What starts a run. It's always the first block on the canvas. |
| AI step | An agent doing a task that needs judgment. Uses credits. |
| Free block | A logic or action block (filter, condition, loop, database and more). No credits. |
| Variable | A {{placeholder}} that pulls in data from an earlier step, like a mail-merge field. |
| Run | One pass of the line, from trigger to finish. |
| Version | A named save-point you can preview and restore. |
Agents for judgment, free blocks for mechanics
If a step needs to understand something (summarize a call, write a reply, decide what a message means), give it to an agent. If it just needs to do something predictable (keep orders over $100, look up a customer, send an email, save a row), use a free block.
One agent step can still run a whole multi-part job, and that's the right build when the flow needs flexibility more than strict rules. The reason to mix in free blocks is cost, not capability: they do the mechanical parts for zero credits, identically every time. So you only pay for the thinking.
Start small: one trigger, one free block, one AI step. Test it, watch real data flow through, then grow the line one station at a time.
The canvas at a glance
| Area | What it does |
|---|---|
| Trigger block (top) | Click it to set what starts the automation (Choosing a Trigger) |
| + button | Opens the block drawer — everything you can add |
| Toolbar | Save, the activation switch, Test Run, the version pill, and Options |
| Tidy up | Re-arranges all blocks into a clean layout when things get messy |
| History | Your saved versions (Versions & Safety) |
Here's a small canvas to explore — click any block to see what its settings panel holds:
- Rules:
{{item.amount}}greater than 5000. - Only items that pass continue to the next block.
- An empty result ends the branch quietly — no error.
Adding blocks
Click + (or the + that appears on any connection line) to open the block drawer. It has three sections:
| Section | Contains | Credits |
|---|---|---|
| AI | Agent Step, Decision / Router | Uses credits |
| Logic | Condition, Switch, Filter, Loop, For Each | Free |
| Actions | Tool, Code, Database, Project files | Free |
Pick a block and it lands on the canvas; click it to open its settings. Each block type has its own setup panel — see AI Steps and Logic & Action Blocks.
Connecting blocks
Drag from the dot at the bottom of one block to the top of another — that line means "then do this." Branching blocks (condition, switch) grow one line per path. To remove a block, hover it and use the delete button; its connections go with it.
Saving — and the safety net
Click Save to keep your work; the canvas also saves as you edit. If someone else (or another of your own tabs) saved the same automation after you opened it, Nirvai refuses to overwrite them silently and asks what to do. See Editing at the same time as a teammate.
Testing and activating
- Test Run (toolbar) runs the automation now and opens the live view, where you watch each block light up and inspect what it produced — details in Testing & Runs.
- The activation switch makes it live: schedules start firing, app triggers start listening, manual automations get their Run button.
Troubleshooting
| Problem | Fix |
|---|---|
| I can't connect two blocks | Drag from the bottom dot of the first to the top of the second. Blocks inside a loop can only connect within that loop. |
| The canvas is a tangle | Click Tidy up — it re-lays out everything from scratch (your manual positions are discarded). |
| A dialog says someone else edited this automation | A teammate (or another of your own tabs) saved after you opened it. Load the latest version, or keep yours knowingly. |
| My change doesn't show in a test run | Save first — Test Run always runs the saved automation, and it will stop and tell you if the save didn't land. |
What's next
See complete automations built from these blocks in Practical Examples, then pick how yours starts in Choosing a Trigger.