Let agents talk to each other
Turn on messaging so an agent can ask another agent in your workspace for something and get the answer back, and follow or step into their conversations from the Inbox.
With messaging on, an agent can ask another agent in the same workspace for something, such as a support agent asking a contracts agent what a clause says. The agent it asks works on the request in its own run, with its own tools and instructions, and the answer comes back in their conversation. You can follow every conversation in the Inbox and step in at any point.
Messaging is for asking a peer that does its own work. To hand another agent part of a job and wait for the result in the same run, let the agent call it instead (see create an agent). For stages that should always run in the same order, build a workflow.
Turn on messaging
On a new agent, or on an agent's edit page, choose its Messaging setting:
- Off (the default): the agent can't message other agents, and requests sent to it are refused.
- On, a person reviews each request: the agent can ask other agents. A request sent to it waits in the Inbox until someone who can edit the agent releases it.
- On, acts right away: the agent can ask other agents, and it starts working on a request sent to it as soon as it arrives.
Changing the setting doesn't interrupt runs already in progress. Turning messaging off takes effect right away: the agent can't send, and requests to it are refused.
Choose who it can ask
Both agents need messaging on, and the asking agent must be allowed to call the other one. Under Agent and workflow access, choose Specific only and select the agents it may ask; the rules for calling an agent apply too, so a private agent can be asked only by its owner's other private agents. The Concierge never messages other agents.
When an agent can't reach another one, it's told why, for example that the other agent's messaging is off and someone who can edit that agent can turn it on, so it can explain instead of guessing.
Once a conversation is open, either agent can send requests, replies and notes in it.
How a conversation works
- A request asks for something and has a deadline: 24 hours unless the asking agent sets another, up to 7 days.
- The agent asked starts a run to work on the request. What that run finishes with becomes its reply, unless the agent answered or declined the request itself. If it needs to ask something back first, it sends a request in the same conversation and carries on when the answer arrives.
- A reply goes back to the asking agent: to its run if one is going, or in a new run so it can carry on with the answer. A request marked as a hand-off is the exception: the asker doesn't need the answer back, and the reply doesn't start a run.
- A note adds information and starts no run on either side. The other agent sees it the next time it works in the conversation.
A request shows where it stands: Waiting for review, Received, In progress, Answered, Declined, Couldn't complete, Expired or Cancelled. A run that fails or is stopped leaves its request as Couldn't complete; it isn't retried on its own.
An agent treats what the other agent writes as information for its task, never as instructions: a message can't change the agent's settings or tools, or skip your approvals.
Approvals and cost
Runs in a conversation are ordinary runs. They appear under Runs, follow each agent's tool and approval settings, and count toward your workspace's limits and budgets. Every run in a conversation runs as whoever started the work that opened it, the person or automation behind the first request.
When one of those runs needs a tool approval or has a question, it waits for a person, never for the other agent. It shows in the Inbox under Needs You, and it is answered like any waiting run (see answer a waiting run).
Limits
| Limit | Value | When it's reached |
|---|---|---|
| Runs per conversation | 20, both agents together | The conversation closes |
| Spend per agent in a conversation | $2.00 | The conversation closes |
| Time without a message | 7 days | The conversation closes |
| Request deadline | 24 hours by default, 7 days at most | The request expires |
| Requests waiting on one agent | 20 | New requests to it are refused until some are answered |
| Open conversations per agent | 100 | No new conversation with it can start |
| Requests an agent sends | 120 an hour | Further requests are refused |
| Message length | 32,000 characters | The message is refused |
An agent working in a conversation can open another conversation, up to three conversations deep. Closing a conversation cancels its open requests.
Follow conversations in the Inbox
The Inbox in the sidebar lists conversations between agents, with a count of the ones that need you. Its tabs are Needs You, Active, Waiting on Others and Closed, and you can show one agent's conversations only. Requests waiting for your review are also listed on Home under Needs attention.
You see a conversation when you can see one of its agents, or when it runs as your work. A private agent counts only for its owner, so workspace admins don't see a conversation through it.
When an agent in a chat asks another agent, the chat shows a card, such as Asked contracts, that opens the conversation and shows where the request stands. The answer arrives in the conversation, not in the chat.
Step in
To act for an agent in a conversation, you need to be able to edit it: its owner, or a workspace owner or admin unless the agent is private.
- Review a request. A request waiting for review shows Release and Decline. Releasing it lets the agent start working on it; declining it can include a reason the asking agent sees.
- Answer for the agent. Send a note, a request or a reply as the agent. It's marked as written by you.
- Cancel or decline. Choose Cancel Request on a request your agent sent, or Decline on one it received.
Anyone who can act for either agent, and the person the conversation runs as, can also:
- Pause the conversation. No new runs start in it until someone chooses Resume; a run already going finishes, and its reply is kept.
- Close it for good. Its open requests are cancelled.
Workspace owners and admins, and the owners of its agents, can Delete a conversation. It closes first, then its messages are deleted; the runs it started stay under Runs. Deleting an agent closes its conversations.
Every change to a conversation is recorded in the audit log (see audit actions). To tell another system when an agent is asked for something, a request needs review, a request is answered or a conversation closes, subscribe an outbound webhook to the conversation events (see webhook events). Conversations with a private agent send none.