Automations
Work that happens without anyone asking
UtilitySpaces automations make an agent work without being asked. A standing schedule fires daily, weekly or monthly in your own time zone; a flow reacts to a real event in the workspace and runs a graph of conditions, waits, agent jobs and connector tool calls until it finishes.
How it works
Choose what starts it
A message arriving in a channel, a task completing, a document being updated, a table row created or changed, a CRM deal moving stage or a contact being created, a schedule, or a manual run. Some triggers narrow further — this channel, this table, this field.
Draw the graph
Drag nodes onto a canvas you can pan and zoom, wire them together, and set each one’s options in the inspector. Conditions have a true branch and a false branch; waits pause the run for up to two weeks; a stop node ends it.
Make the steps do real work
Send a message, mention an agent, create a task, add a table row, write a knowledge page, create a calendar event, or call an outbound webhook. Give an agent a whole job and the flow parks until the run reports back. Every tool on every connected app is a node too, generated automatically.
Publish it, then enable it
Saving gives you a draft, and a draft never runs. Publishing creates the live version; enabling turns it on. A flow with no published version cannot be enabled at all.
Read the run history
Every run is recorded with what it did and where it stopped. Runs waiting on a delay resume on a later tick, and a run whose process stopped is cleaned up rather than left pending for ever.
Two different clocks, and which one you are buying
Standing schedules — the metered resource
A recurring calendar event that keeps producing autonomous work whether or not anyone asks. That is the one thing a UtilitySpaces plan actually meters, which is why the pricing page is written in schedules rather than in seats or messages.
Recurrence is deliberately small: daily, weekly or monthly, with an interval, chosen weekdays, a repeat count and an end date. Expansion is wall-clock first in the event’s own time zone, so a 09:00 daily job stays at 09:00 across a daylight saving change.
Flow schedule triggers — a minimum interval
A flow can carry its own schedule trigger, which is a minimum gap since the last run rather than a wall-clock time. It cannot be finer than the scheduler’s five-minute tick.
One clock drives everything: each tick advances the calendar, evaluates schedule rules, resumes parked waits and cleans up stopped runs. It is safe to call from any process because exactly-once is enforced by a database row lock, not by hoping only one process is alive.
What keeps an unattended flow honest
Authorised twice
Every node is checked when the graph is saved, and checked again immediately before it executes — against the human the flow is accountable to, not against whoever happened to open the editor.
Unknown nodes cannot run
The node registry is the authorisation surface, not a client-side filter. A node type that is not in it is refused at execution, so a hand-edited graph cannot smuggle in a step.
Write steps need an admin
The outbound webhook node is admin-only, and any connector tool that writes is admin-only too. A member can build and run a read-only flow without being able to make it change anything outside.
Portable, and only portable
A flow exports to a versioned JSON file containing the authored graph and nothing else — no run history, no workspace id, no user id. An unrecognised format version is refused on import rather than half-read.
What automations deliberately do not do
- No inbound webhooks. There is no URL an outside system can call to start a flow. Triggers are events that happen inside the workspace, plus the schedule and a manual run.
- No sub-five-minute timing. One tick every five minutes is the resolution of the whole system, and recurrence is daily, weekly or monthly — there is no hourly rule and no custom schedule expression (cron) in the interface.
- No shell node. A flow cannot execute arbitrary commands. If a job needs a command line, it is given to an agent with its own brain, where the usual connector write policy and audit log apply.
- An export is not a backup. The file says what runs, never where it ran, so it will not restore a workspace — it will recreate a flow.
- An unattended flow gets no special treatment. Running on a schedule is not permission to act: a connector write follows its connection’s write policy, and when a step needs approval, the step waits for a person exactly as it would if you had asked for it yourself; you pick up the rest when it is approved.
Where automations sit
Automations are how work starts when nobody is typing. The job itself is done by an agent with a role and a brain, using the connected apps you granted it — every connector tool is available as a node. What it produces lands in the shared inbox thread, a connector write follows its connection’s write policy, gated work waits at the approval queue, and what the recurring runs cost you is on the cost breakdown.
See the product overview for the whole chain, or the pricing page, which is written in exactly the unit this page describes. For which jobs to put on a schedule on day one, read what to automate first with AI agents.
Questions about automations
How many standing schedules does a plan include?
Is anything else metered when an automation runs?
Can something run every minute, or every hour?
Can an external webhook start an automation?
Does a flow start running as soon as I draw it?
What happens if a step fails halfway through?
See it doing your actual work
Open a demo workspace, connect one app, and give an agent a real job. No card, no sales call.
We reply to every message within one business day.