Agents

An agent runs a multi-step task toward a goal, rather than answering one chat message at a time. See Assistants vs. agents if you haven't read that yet.

Starting a task

Give the agent a goal (plain text — "research X and summarize the top 3 options," "triage this list and flag anything urgent"). You can run it two ways:

  • Foreground — streams back like a chat, so you watch it work in real time.
  • Background — starts and runs on its own; you check back on its task list later.

Every task is a run, counted against your plan's runs-per-day limit, the same as an assistant message.

Pausing for you

An agent can pause mid-task in two ways:

  • A question — it needs information only you have, and stops to ask for it. Answer it and the task continues from where it left off.
  • An approval — it wants to call a tool marked as requiring approval (sending an email, for example) and waits for you to approve or deny before actually doing it.

Both show up the same way whether the task is running in the foreground or the background — you don't lose a paused background task, it just waits for you.

Scheduled tasks

An agent can start tasks on its own. On the agent's Triggers tab, create a schedule: pick how often it repeats (every hour, day, weekday, week, a custom cron, or once), a timezone and a goal. Each time it fires, a background task starts with that goal, and it shows the trigger's name in the task list. A schedule never stacks tasks: if the previous one is still running, it skips that time. If it can't start a task five times in a row (for example the plan's daily limit is reached), it pauses itself and emails you. Run now starts a task immediately without changing the schedule. An agent can also ask to be woken later in the same task (for example to check something again in an hour); these wake-ups show on the Triggers tab as set by the agent, and you can delete them. Only workspace admins can create or change triggers, because they spend credits without anyone watching.

Webhooks

A webhook trigger starts a task when another system calls a URL, for example when a GitHub issue is opened or a form is submitted. Create one with New webhook, give it a name and the goal, and copy the secret that is shown once. The other system sends a POST to the trigger's URL with the secret in an Authorization: Bearer header and, optionally, a JSON body of up to 64 KB. The body is given to the agent as data, and the agent is told not to follow instructions inside it. A webhook starts a new task only when its previous one has finished, accepts at most 60 calls a minute, and can be paused, given a new secret (the old one stops working at once) or deleted from the Triggers tab.

Sub-agents

An agent can delegate part of its work to another agent you've explicitly attached to it as a sub-agent. The parent calls it like any other tool, the sub-agent runs its own goal to completion, and the result comes back as that tool call's result — the parent doesn't see the sub-agent's intermediate steps, just its final answer.

Workflows

An agent can run a workflow as part of its task when an admin attaches it, and get the workflow's result back as a tool result. A workflow can also use an agent as one of its stages.

Tools & memory

Agents use the same custom tools, MCP server tools, skills, knowledge attachment, and memory model as assistants — the difference is entirely in how the work is driven (a goal across steps, not a single reply), not in what either can be given access to.