Core routines
Importer and Optimizer, two built-in routines that read your work and propose what would help, and change nothing until you say yes.
Importer and Optimizer are two built-in routines. They appear under Routines with the routines you write, and you open their runs like any other. They do not change anything on their own: each one reads what a person's work holds, then asks that person before anything is added.
What each routine proposes
Importer proposes the companies, contacts, deals and meetings that your mail and calendar hold and the workspace lacks. It keeps people you exchanged with in both directions, or met with outside guests, on at least two occasions. It leaves out your colleagues, newsletters, automated senders and private life. A deal needs a thread that says so: a quote, a proposal or a negotiation. It asks once per object and names every item, with the date of its thread.
Optimizer proposes routines and agents for the work you repeat by hand. It starts from memory, then reads what you edit most in the activity log, then the mail and meetings around those habits. It keeps what it saw on at least three separate occasions over the last 90 days, and proposes at most three things at a time. It never proposes a schema change.
When nothing repeats yet, Optimizer offers a ready routine that your connections allow:
| Routine | Needs | What it does |
|---|---|---|
| Morning meetings | Calendar | Tells you what today's meetings need from you. |
| Morning mail | Tells you which mail needs you, and why. | |
| Code digest | GitHub | Sums up what changed in your repositories. |
| Morning drafts | Mail with sending | Prepares replies, each one sent only on your yes. |
It first asks you a few questions, such as what time and which mail counts, and builds the routine from your answers.
How a yes works
Each proposal reaches you in Decisions, in your language, with what was seen, how often, and what a yes will do.
- A routine or an agent from Optimizer. The card shows the whole setup before anything exists. A yes creates it with your rights and in your name. A routine is private to you, and your yes switches it on. A refusal leaves nothing behind.
- Records from Importer. A yes adds the items with your rights: the run can do only what you can do.
A routine you get this way needs no agents:manage, because it acts for you alone with your own connections. The default member role can accept one: see roles and permissions. Three limits apply:
- A member's routines run on a schedule. Record and form triggers need
agents:manage. - GitHub and Slack are workspace connections, so a proposal that uses them needs
agents:manage. - You can stop and restart the routine you accepted with its switch, archive it, and delete its triggers. Editing it needs
agents:update.
A proposal or a question stays answerable for 14 days. An idea you refused comes back only with new evidence, named on the card.
The yes rule lives in the routines' instructions, not in a runtime gate. Creating a routine always waits for your card, and deletes and outward sends always ask. A record write waits because Importer is told to wait.
Who a pass runs for
Each routine runs once for each member of the workspace who has a mailbox or calendar connected, on its schedule: Importer daily and Optimizer on Mondays, at 03:00 UTC. A member with nothing connected, or only a connection shared by the whole workspace, is skipped: there is nothing for a pass to read. A pass reads only what that person can read, through their own mail and calendar, and asks only them.
Run on a core routine starts a pass for whoever pressed it: it reads what they can read and asks them.
A pass with nothing to offer sends nothing. Its recap, what it read, kept and dropped, stays in the run. Once the pass has finished, the person it ran for can reply in its conversation to ask about it; the routine answers with the same tools and rights.
A person's run is theirs. Three kinds of reader can open it:
- the person it ran for;
- a holder of
supervision, read-only, written to the audit asagent_session.supervised_read; - someone the person shared the conversation with.
Other members see that the run happened, not what it read.
Turning them on
Open Routines and use the routine's switch. Switching one on needs the supervision permission, because it then reads on behalf of every member. Switching one off needs agents:manage, as the switch of any workspace routine does. A pass already running finishes, and its open Decisions stay answerable.
- In a workspace that existed before core routines, Importer and Optimizer are off.
- In a new workspace, Optimizer is on, in the name of the person who created it. Importer is off.
- When a routine is on, a person's first connection, such as a mailbox, starts their first pass of it at once, Importer and Optimizer each on their own. This happens once per person and routine. A connection shared by the whole workspace starts no pass.
Each pass has a cost ceiling, and runs only while the workspace has credits, as any routine does.
Next steps
Read agents and routines for how routines run, and roles and permissions for agents:create, agents:manage and supervision.
Environments
Pick the harness that runs a conversation, a routine or an agent, and the machine it runs on — prepared once by a setup script, used in a copy every time.
Cloud browsers
Give agents and routines a hosted browser they drive with agent-browser, signed in from a profile you prepare yourself, and watch them live.