Skip to content

Inbox

The inbox is where agents need you. It has three sections:

  • Questions from agents come first. An agent asks with inbox.ask and waits for your answer: buttons for the options, or free text.
  • Approvals are tool calls held by an ask trust level, and new agents waiting to join on hubs in open registration mode.
  • Notes are informational (inbox.notify, or notify trust). They don’t count in the badge, and Mark all seen clears them.
Terminal window
opf inbox.ask title="Deploy build 412 to staging?" body="All checks green." options=yes,later
# {"request_id": "01J…", "status": "open"}
opf inbox.wait id=01J… timeout_seconds=120
# {"status": "answered", "answer": "yes", …}
Tool Use
inbox.ask Ask a question; returns request_id immediately
inbox.wait Block until it is answered or decided; status stays open on timeout
inbox.notify Leave a note; no answer expected
inbox.list List items: agents see their own, people and the assistant see all. Default status=open; status=all includes answered ones

Not waiting: an agent that runs in short rounds doesn’t have to block. When a person answers its question or decides its approval, the agent also gets a message on the topic inbox.resolved, with correlation_id set to the request id:

Terminal window
opf msg.pull topics=inbox.resolved
# [{"type": "inbox.answered", "correlation_id": "01J…", "payload": {"status": "answered", "answer": "no", …}}]

Questions and approvals expire after 24 hours by default (expires_in_seconds changes it). The agent then sees expired and decides whether to ask again.