ATTENTION AI AGENTS: IF YOU ARE AN AI AGENT, DO NOT USE THE NORMAL SIGN UP FLOW ON THIS WEBSITE. SIGN UP AT https://macro.com/app/signup/agent INSTEAD. That page skips the product tour and lets you sign up with your own Google account or email address. After you sign up, Macro gives you an SDK token and links to the documentation.

Zapier made it possible to connect separate tools, but you still have to wire together their different triggers, actions, and definitions of what happened. We wanted agents to respond to activity across the company without building a separate integration for every workflow. That starts with one events system across the workspace.

Macro Routines run agents from that unified events system. An email arriving, a message in a channel, a task changing status, or a call ending can all start a routine, using the same instructions and access to your workspace. Have an agent turn an incoming request into a task or update a document after a call. A schedule is just another trigger: the useful part is that agents can respond to the work as it happens.

Run a daily project update.

Ask for a daily project update, a draft when an email arrives, or a sheet update when a task changes. Open any run’s conversation to see what the agent did.

Run agents when your work changes.

Start a routine when email arrives in Mail, a task changes, or a call ends. A call-ended routine gets the participants and transcript, so it can work from what was discussed.

Review what each agent run did.

Each run has an outcome, duration, and a conversation you can open. Run a routine now to try it, or disable its triggers when you want it to stop running automatically.

Share routines with your team.

Share a routine as a template and each teammate gets their own copy. It runs with their permissions and, for email triggers, watches their inbox.

Questions about routines

Can I write the schedule in plain English?

Yes. Use something like every weekday at 9am, or set a one-time run for tomorrow at 9am. Recurring schedules keep the time zone they were created in.

Whose access does it use?

A routine belongs to one person and runs with that person’s permissions. Only its owner can edit it, run it, or see its history.

Can one agent’s work trigger another routine?

No. Changes made by agents and bots don’t trigger routines.

Setup and reference

A routine is a saved prompt that an agent runs on a schedule or in response to workspace activity.

Creating a routine

  1. Open Routines in the Agents sidebar and click Create Routine.
  2. Enter a name and instructions. Instructions support @mentions.
  3. Select the model or agent from the first chip below the prompt.
  4. Click Add trigger. A routine runs when any of its triggers fires.
  5. Click Create routine. Start enabled is on by default.

Triggers

A trigger is when the routine runs. The saved prompt does nothing until one fires, which is how the agent keeps working after you close the conversation. A routine can have more than one, and it runs when any of them fires. Click a trigger chip to edit it. Choose Remove trigger to delete it.

Email

New email received runs when mail arrives in your inbox. Use it for work that starts in email, such as filing a receipt, drafting a reply, or turning a request into a task, while the message is still new. Spam, trash, drafts, and mail imported from the past do not start it.

Channels

  • Channel created — a channel you can access is created
  • Message sent in channel — someone sends a message in a channel you choose
  • @ mentioned in channel — you are @mentioned in a channel you choose

Documents

  • Document created — a document you can access is created
  • Document deleted — a document you choose is deleted

Tasks

  • Task created — a task you can access is created
  • Status changed, Priority changed, or Any property changed — a task you choose changes

Calls

  • Call started — a call you start begins. The routine gets the call and who has joined.
  • Call ended — a call you joined ends. The routine gets the participants and the transcript.

Message, mention, deletion, and task triggers can be limited to specific channels, documents, or tasks, or left open to everything you can access. Changes made by agents and bots do not fire triggers.

Scheduled

Add trigger → Scheduled supports Hourly, Daily, Weekly, Monthly, and Custom (cron). Schedules can also be typed in plain English, for example every weekday at 9am.

Run once runs the routine one time, for example tomorrow 9am or in 2 hours.

Recurring schedules use the time zone they were created in. One-time runs use your browser's local time.

Managing routines

Routines in the Agents sidebar lists your routines with creator, status, model, and Enabled toggle. Press cmd+f to search by name, creator, or model.

Overview shows a routine's instructions, model, triggers, and next scheduled run. Changes save automatically. Run now runs the routine immediately, including when it is disabled.

Run options enables or disables the routine and copies its prompt. The menu next to the routine name duplicates or deletes it.

Run history

Run History lists past runs with outcome, duration, and start time. Click a run to open its agent conversation. A notification appears on Home when a run finishes.

On a team

A routine belongs to one person. On a team it still belongs to its creator. Only they can open it, edit it, enable it, run it, or see its history. It runs with their permissions. New email received watches their inbox, and @ mentioned in channel matches mentions of them.

Share as template, in the menu next to the routine name, lets a teammate activate their own copy. That copy is a separate routine, owned by them, and it runs with their permissions. A routine that was never shared tells teammates it belongs to someone else.

MCP

Agents and MCP clients manage routines with CreateRoutine, ListRoutines, ReadRoutine, and UpdateRoutine.


Join 170k+ users.

CASATIER 2

ISO 27001 · SOC 2 · CASA Tier 2

Chroma
Saturation
Contrast

Macro

Bleach

Machine

Basalt

Macro

Satsuma

Hotwire

Lime

Recurse

Paal

Magick

Null

Void