Automations
Ask any agent to set up a recurring task and it runs the real agent while you're offline — planning, using tools, and preparing a draft you review. Automations never send or publish on their own.
Esta página aún no está disponible en tu idioma, mostramos la versión en inglés.
An automation is a recurring instruction you give an agent in plain language. At the time you picked, Unyo runs the real agent — the same reasoning, the same tools, the same draft cards as a live chat — while you're offline. When you come back, the work is already sitting in that agent's chat, waiting for you to read it.
The one thing an automation will never do is act for you. It prepares. You tap Send.
Draft, never send
There is no unattended send or publish in Unyo, and there is no setting that turns one on. Automations produce drafts and prepare actions — every email, post, or irreversible action still waits for your tap. This is enforced in the code in two separate places, not just requested in a prompt.
What an automation actually does when it fires
Not a notification stub. Not a template. The full agent:
- It plans the work, then calls the tools it needs — reading your inbox, searching the web, pulling your calendar, querying your analytics, whatever the goal requires.
- It produces a real deliverable — an editable email draft card, a social post draft with caption and image, a document, a spreadsheet, whatever that agent makes.
- It opens a conversation in that agent's chat, seeded with your goal as the opening message, with the full step-by-step timeline visible.
- It sends you a red-badge notification: "Prepared a draft while you were away — tap to review."
- You open it, read it, edit it, and reply to keep going. It's a normal conversation — the automation just started it for you.
It picks work back up
An automation keeps a durable per-goal workspace (up to 50 files). A run that gets interrupted, or a goal that spans several firings, resumes from what it already wrote instead of starting over from nothing.
Creating one: you ask for it
There is no builder, no cron syntax, no node graph. You tell an agent what you want and when.
Every morning at 8, go through my newest emails and draft a reply to anything that actually needs one. Don't send anything.
Every day at 9am, prepare a LinkedIn post draft about something from my Neural Core — vary the angle each day so they don't all sound the same.
The agent confirms what it created: the schedule in your own timezone, the goal it will follow, and when the first run lands. Your goal text is fed to the agent verbatim every single firing — so the more precisely you write it, the better the output. Write it like you'd brief a colleague.
The UI cannot create or edit an automation
The /automations page lets you pause, resume and delete. It does not let you create one, change its schedule, or rewrite its goal. All of that happens by talking to the agent. This is deliberate — the goal is a natural-language brief, not a form.
The schedule model — and its real limits
Two options. That's all there is today.
| Kind | What you say | What it means |
|---|---|---|
| Daily | "every morning at 8" | Once per day at HH:MM in your timezone, taken from your settings. DST and half-hour offsets are handled correctly. |
| Interval | "every 6 hours", "every 4 hours" | Repeats on a fixed gap. Minimum 30 minutes — anything shorter is rejected outright. Note the daily run cap below: with the default of 4 runs per day, a gap shorter than ~6 hours means the later firings of the day are skipped, not queued. |
What the schedule cannot do (yet)
- No cron expressions and no weekday selection — you can't say "weekdays only" or "every Monday".
- No native weekly or monthly trigger. A weekly cadence is expressed as an interval (7 days), which drifts from the run time rather than pinning to a day.
- No end date — an automation runs until you pause or delete it.
- No "Run now" button. To see the agent do it once, just ask it in chat.
Your agent will also push back before it creates something unwise. Ask for a social post every ten minutes and it will argue for a saner cadence first.
Which agent owns it
The automation runs as the agent you asked. That's not cosmetic — it decides which tools the run can touch, because every agent's toolbox is a hard runtime boundary.
| Ask… | And you get |
|---|---|
| Maya | Inbox triage, drafted replies, a morning brief on what's waiting. She's the only agent with your inbox. |
| Ashley | A social post draft — caption, hashtags, image — ready to review and publish yourself. |
| Lucy | A written document: an article, a repurposed piece, a newsletter edition. |
| Blake | A data brief. He runs real analysis rather than estimating. |
| Ema | A focus brief: your priorities, deep-work blocks that fit your actual calendar, what's at risk. |
| Tyron, Alex, Riley, Sam | Their own toolbox, on a schedule, same rules. |
Ask Ashley for a recurring inbox summary and she can't do it — she has no inbox tools, offline or online. Ask Maya. The boundary doesn't relax just because nobody's watching.
Automations are for a focused piece of work
A background run has a wall-clock budget and wraps up cleanly when it reaches it. That's right for "draft my replies" or "prepare a post" — it's not the shape for a long build. Big jobs belong in a live conversation where you can steer.
Set one up — step by step
- Open a conversation with the agent you want to own the task.
- Describe the job and the cadence in one message. Be specific about what "done" looks like.
- Read back what the agent confirms — the schedule description, your timezone, and the first run time.
- Wait for the first firing, then judge the output like a manager: if the draft isn't what you wanted, say so in that same conversation.
- Ask the agent to refine the goal — "change the automation so it skips newsletters". Updating the goal is the same tool call as creating it.
- Open
/automationsany time to see everything running.
Tune the goal, not the schedule
Nearly every disappointing automation is a vague goal, not a broken feature. "Draft replies to my emails" is weak. "Draft a reply to every email from a real person that asks me a question; skip newsletters and automated alerts; match my usual tone; end with a one-line summary of what's urgent" is an automation you'll actually keep.
Managing them at /automations
The hub is one page for everything that happens in the background.
- Agent automations — every automation with its owning agent's avatar, the schedule, and the next run in your local time. Pause, resume, or delete (delete asks you to confirm).
- Daily routines — separate on/off toggles for Maya's daily inbox digest, Ashley's daily social briefing, and Sam's order-status watch. See Daily routines.
- Coming up — what's scheduled next across the product: your scheduled emails and scheduled social posts.
- Recent activity — the last runs with their status: green for completed, red for failed, amber for skipped. Click any run to jump straight into the conversation it produced.
You'll also find the same automations list in Settings → Automations, with a link through to the hub.
The guardrails
Every one of these exists so an automation can't quietly cost you money or make a mess.
| Guardrail | What it does |
|---|---|
| Draft, never send | The strongest one. No path in this system sends or publishes unattended. |
| Daily cap per automation | Each automation is capped at a number of runs per UTC day (4 by default). Over the cap, the firing is skipped. |
| Account-wide ceiling | 50 firings per day across all your automations, whatever you've set up. |
| Per-occurrence dedup | Each scheduled slot has a unique key. A retry or a race can't produce two drafts for the same slot. |
| Self-pausing | 3 consecutive failures and the automation disables itself with "paused after repeated failures". It never burns credits in a loop. |
| Credit skip ≠ failure | Running out of credits skips the run and marks it amber. It does not count as a failure, and it never auto-pauses your automation. Top up and the next firing runs. |
| Anti-loop guard | If the agent tries the identical tool call twice in one run, the second is refused rather than executed. |
| No secrets stored | An automation row holds only your natural-language goal, the schedule, and its status. Never a token, never a message body. Background runs never mint a session for themselves. |
If an automation says 'paused after repeated failures'
That's usually a disconnected app. Reconnect it from /integrations, then flip the automation back on from /automations — a successful run won't un-pause it for you, and that's intentional. You decide when it's fixed.
What it costs
- Creating, updating, pausing, resuming and deleting an automation is free. No credits, ever.
- Each firing bills real usage — the actual model and tool cost of that run. Not a flat fee per automation, not a fee per message.
- Reads, searches, drafts and plans cost zero credits. Most of what a drafting automation does is free work.
- Out of credits = skipped, not failed. You lose the run, not the automation.
See Credits & billing for the full model.
A worked example
Every weekday morning at 6:30 — actually just every morning at 6:30 — go through everything that landed in my inbox overnight. Draft a reply to every email that genuinely needs one, in the sender's language. Never send anything. Then finish with a short brief: how many are urgent, how many you drafted, and anything I should look at first.
What lands at 6:30: a Maya conversation, a stack of editable reply drafts, and a brief at the end. You read it over coffee, fix two of the drafts, tap Send on four, and ignore the rest. Nothing left your inbox until you said so.
(Note the "weekday" correction in that prompt — there's no weekday-only schedule, so the honest version is a daily run whose goal handles a quiet Sunday by simply saying so. The agent is explicitly instructed not to invent busywork: if nothing warrants a draft, it says that in one sentence.)
You start with a blank slate
A new account has no automations pre-installed. There's no template gallery to pick from. Every automation on your account is one you asked for — which is also why they tend to be ones you actually use.
FAQ
Can an automation send an email or publish a post while I'm away?
No — and there's no toggle that changes that. When an automation is created, any request for unattended sending is converted to "you approve it" automatically, and the background runner enforces the same rule a second time independently. The instruction the agent receives ends with a hard line: never send, publish, or take any irreversible action unattended. An automation prepares the action; you tap Send or Publish yourself.
Can I create an automation from the Automations page?
No. /automations shows you everything and lets you pause, resume or delete. Creating one — and changing its schedule or its goal — is done by asking the agent in chat. The empty state on that page says as much: ask any agent to set one up.
Can I run an automation only on weekdays, or every Monday?
Not as a schedule. The only options are a daily time or a fixed interval of at least 30 minutes — there are no cron expressions, no weekday selection, and no native weekly trigger. Two practical workarounds: run it daily and write the goal so a quiet day produces a one-line "nothing to do", or use a 7-day interval and accept that it drifts rather than pinning to a specific weekday.
What happens if I'm out of credits when it's due?
The run is skipped and marked "Skipped — out of credits" in Recent activity. It is not counted as a failure, so your automation stays enabled and doesn't pause itself. Once you top up, the next scheduled firing runs normally. Top-up credits never expire.
Where does the work show up?
As a normal conversation in the owning agent's chat, titled after your goal, with the full step timeline and the draft cards. You get a red-badge notification when it's ready, and you can click the run in /automations → Recent activity to jump straight into it. From there just reply — it's an ordinary conversation you happened not to start yourself.
Does the automation know what time it is for me?
Yes. The schedule uses the timezone in your settings, and agents are instructed to speak times back to you in your local time rather than raw UTC. Daylight saving and half-hour offsets are handled correctly by construction, not by manual arithmetic.
Troubleshooting
It says "paused after repeated failures." Three runs in a row failed — most often a disconnected or expired app connection. Reconnect it at /integrations, then resume the automation from /automations. A later success won't lift the pause automatically; you re-enable it on purpose.
It fired but produced nothing useful. Open the conversation and read the timeline — it shows exactly which tools ran and what came back. Usually the goal is too vague, or it asked for something outside that agent's toolbox. Rewrite the goal in that conversation and ask the agent to update the automation.
The output is thinner than the same request in a live chat. A background run has no one to ask, so it's instructed to make a reasonable assumption and note it inside the draft rather than stopping to check. If it's guessing wrong repeatedly, put the answer to the question it keeps guessing at into the goal — or into your Neural Core, which every run reads.
It's running more or less often than I expected. Check the schedule shown in /automations — it's rendered in your local time. Remember the daily run cap (4 by default) and the 50-runs-per-day account ceiling: firings past a cap are skipped, not queued.
Related
- Daily routines — the pre-built toggles: inbox digest, social briefing, order watch.
- Tasks — one-off work that runs itself before a deadline.
- The Neural Core — the shared memory every automation reads.
- Credits & billing — what a firing costs.