Workflows
Event-driven automation engine. Each workflow has a trigger (an app event or a schedule) and a sequence of steps that share context, can reference each other through bindings and react to failures with retry, timeout or try/catch.
Three ways to create a workflow
The module opens on a welcome with three cards. Pick your path and you land on the matching flow.
Templates
8 pre-built templates (CI/CD, auto-deploy, backup after deploy, auto-format, branch protect, AI on error…). Tap "Activate" creates an editable copy with a fresh UUID.
Generate with AI
Type a natural-language prompt ("when push to main, deploy and notify") and the assistant generates an editable workflow. Uses your AI account (BYOK); if the call fails, there's a local heuristic fallback.
Visual editor
FAB "+" in "My workflows" — full form: name, trigger, list of steps with drag to reorder, per-step config bottom-sheet, collapsible reliability section.
Triggers (10)
Each trigger accepts an optional filter (branch, file extension, provider…) that narrows events before firing the workflow.
| Trigger | Fires when… |
|---|---|
| Git push | You push commits to a branch (filter: branch) |
| Git commit | You create a commit (filter: branch) |
| File saved | You save a file in the editor (filter: extension) |
| App foregrounded | You bring the app back to the foreground |
| Terminal command finished | A terminal command finishes (filter: pattern) |
| Database query executed | A query runs (filter: table name) |
| Deployment completed | A deploy finishes (filter: provider) |
| Deployment failed | A deploy fails (filter: provider) |
| Error detected | Another workflow fails — useful to chain error responses |
| Manual / Scheduled | Manual (button) or a schedule (interval or cron) |
Action steps (8)
Each action step has its own form in the app and produces a result that later steps can reference.
Run command
Runs any terminal command
Notification
Shows a notification with title and message
AI analyze
Sends code or text to the AI assistant and captures the response
AI generate
Generates new code from a prompt
Git operation
Commit, push or pull (with optional branch and message)
Deploy
Triggers a deploy on the active hosting provider
Database backup
Runs a backup of the active database
Open file
Opens a file in the editor with an optional line
Control flow
Beyond the flat sequence, workflows support control structures to branch, iterate, parallelise and handle errors.
Conditional (if / else)
Branch based on a condition. Operators: equals, not equals, greater than, less than, contains, is empty. Accepts literals and bindings.
Loop
Iterate over a collection of bindings with a per-iteration alias. Default cap of 100 iterations.
Parallel
Run multiple branches at once with a join policy (wait all, wait first, etc.).
Wait
Pause execution for a configurable time. Presets: 1s, 5s, 30s, 1m, 5m.
Try / Catch
If any step in the try block fails, jumps to catch with the error message bound to an accessible variable.
When (lightweight condition)
Every action step can carry a "when" — if the expression is false, the step is skipped without wrapping it in a full Conditional.
The engine executes all six step kinds. The visual editor currently exposes: action step, Wait and Conditional (one nesting level). Loop, Parallel and Try/Catch work in the engine but are not in the editor yet.
Bindings between steps
Any form field accepts literals or bindings with the `{{...}}` syntax to reference other workflow variables. If an expression doesn't resolve, it returns an empty string — workflows are tolerant to steps that were skipped by a conditional branch.
| Expression | Resolves to |
|---|---|
| {{var.<name>}} | Workflow-wide variable |
| {{step.<id>.status}} | Step status (SUCCESS, FAILURE, SKIPPED, TIMED_OUT) |
| {{step.<id>.output}} | Full result map |
| {{step.<id>.output.<field>}} | Specific field of the result |
| {{step.<id>.error}} | Error message if it failed |
| {{item.<alias>}} | Current value inside a Loop |
| {{trigger.eventName}} | Name of the event that fired the workflow |
Each configuration bottom-sheet includes a visible hint with the syntax so the binding system is discoverable from the UI.
Reliability — retry, timeout and backoff
Every action step has a collapsible Reliability section with five fields. If a step fails, it retries with the chosen wait strategy until attempts are exhausted.
Max attempts
Number of attempts before the step is marked failed (1 = no retry)
Backoff strategy
FIXED (constant wait), LINEAR (grows linearly) or EXPONENTIAL (doubles each attempt)
Initial delay
Wait after the first failure, in milliseconds
Max delay
Upper cap — the wait never grows past this value
Timeout
Cancels the step if it takes more than X milliseconds. Marked as TIMED_OUT
If a step with a timeout sits inside a try / catch block, the catch runs automatically with the error message available as a variable.
Scheduling — interval or cron
Any workflow with a manual trigger can have one or more schedules attached. They survive app shutdown and are auto-rescheduled on launch.
Interval presets
- • Every 15 minutes
- • Hourly
- • Every 6 hours
Due to OS constraints, the actual minimum interval is 15 minutes — anything smaller is clamped to that.
Cron presets + custom expression
- •
0 9 * * *— every day at 9:00 - •
0 9 * * 1— Mondays at 9:00 - • Custom 5-field expression
Accepts wildcards (*), lists (1,3,5), ranges (1-5) and steps (*/2). As you type, the app shows the next fire date live or warns if the expression is invalid.
Execution history
Each execution is persisted with the full snapshot of every step's result. It survives crashes and app shutdowns.
- •Newest-first timeline per workflow with status icon and colour
- •Per-run detail: step by step with duration, output rendered in monospace and error message if any
- •Step statuses: SUCCESS (green), FAILURE (red), SKIPPED (grey), TIMED_OUT (orange), RUNNING (blue)
- •Automatic retention: up to 100 runs per workflow + 30-day cap
The "▶ Test now" button in the editor runs the workflow without persisting the run or emitting events — useful to iterate while designing without polluting the history. Side effects (commands, notifications, AI prompts) do execute: it's a real test, not a dry preview.
AI generator
You paste a prompt like "when push to main, deploy and notify" and the app generates a workflow with detected trigger + actions + filters, ready to save and enable. BYOK model: uses your active AI provider (Gemini, OpenAI, Claude…).
If the provider call fails (no token, no network, invalid JSON), the app silently falls back to a local heuristic parser that recognises keywords ("push", "deploy", "test", "notify", "backup", "ai", "format"…) and produces a basic workflow. The fallback is silent — you always get a preview.
Workflows as AI agent tools
Any workflow you mark as "Available to AI agent" in the editor is automatically exposed as a tool in the AI chat. The agent decides when to call it and passes parameters, which arrive in the workflow as variables (`{{var.<key>}}`).
Only enabled workflows with the option ticked are exposed. The description the model sees is what you write in the "AI tool description" field (or the general description if empty). Agent invocations are persisted in history like any manual run.
Built-in templates (8)
Tap "Activate" on any of them to create an editable copy with a fresh UUID. If you already have an active copy of that template, the button is disabled to avoid duplicates.
| Template | Trigger | Actions |
|---|---|---|
| CI/CD pipeline | Git push | npm test → deploy → notification |
| Auto-deploy on push | Git push (main branch) | deploy → notification |
| DB backup on deploy | Deployment completed | backup → notification |
| AI on error | Error detected | notification → AI analyze |
| Auto-format | File saved | prettier --write . |
| Auto-commit | File saved | git add -A && git commit |
| Branch protect | Git push (main branch) | npm test → gate notification |
| Test on commit | Git commit | npm test → notification |
You can also install workflows from the Marketplace — they show up as regular copies in "My workflows".
Free vs Pro
| Feature | Free | Pro |
|---|---|---|
| Visual editor, control flow, bindings, retry, timeout | ✅ | ✅ |
| Manual execution + "Test now" button | ✅ | ✅ |
| 8 built-in templates | ✅ | ✅ |
| Execution history (100 runs / 30 days) | ✅ | ✅ |
| AI generator (with your own BYOK account) | ✅ | ✅ |
| Automated triggers (push, commit, file saved, deploy…) | — | ✅ |
| Interval and cron scheduling | — | ✅ |
| Workflows as AI agent tools | — | ✅ |
Module statistics
10
Trigger types
8
Action types
6
Control-flow steps
8
Built-in templates
5
Schedule presets
100
Runs / workflow
30
Days retention
Next
Configuration