Pending Deliveries
When an AI agent tries to send a message but the channel is unavailable or the send fails, the message is captured as a pending delivery so the content is never lost. The Pending Deliveries page lets operators review, re-send, or discard those captured messages.
Where to Find It
Navigate to Boardroom > Pending Deliveries in the Admin Console sidebar.
How Pending Deliveries Are Created
The agent uses three outbound tools - respond, send_to, and reply_email_onbehalf_of. If any of them fail in a way that would lose the message (lost conversation context, channel outage, reply failure), the system saves the full message envelope as a pending delivery artifact. The original message body, recipient, subject, tool name, and failure reason are all preserved.
Page Layout
Status Tabs
The top of the page has four filter tabs:
| Tab | Description |
|---|---|
| Pending | Active pending deliveries awaiting operator action |
| Approved | Deliveries that were re-sent by an operator |
| Discarded | Deliveries marked as no longer needed |
| All | All deliveries regardless of status |
Tool Filter
Below the status tabs you can filter by the tool that originally failed:
- Any tool - Show all tools
- respond - Chat/conversation replies
- send_to - Outbound sends to a specific address
- reply_email - Email replies sent on behalf of someone
Delivery List
Each row in the list shows:
- The tool that failed (icon and name)
- Status badge (Pending / Approved / Discarded)
- Failure code badge (if applicable)
- Recipient address and subject
- A summary of the message body (first two lines)
- How long ago the delivery was captured
Click any row to open the detail drawer.
Detail Drawer
Clicking a delivery opens a side drawer with the full envelope:
| Field | Description |
|---|---|
| Status | Current status of this delivery |
| Tool | The outbound tool that failed |
| Channel | The channel type (email, chat, etc.) |
| Recipient | The intended recipient address |
| Subject | Email subject line (if applicable) |
| Failure code | Short machine-readable failure code |
| Failure reason | Human-readable explanation of what went wrong |
| Captured | When the delivery was saved |
| Conversation | ID of the agent conversation it came from |
| Body | The full message body |
Approving a Delivery
Click Approve & resend to retry the original send using the same tool and the same preserved body. The system dispatches through the original tool path (respond, send_to, or reply_email_onbehalf_of). On success, the status changes to Approved.
If the re-send fails, the button shows a toast with the failure code and reason so you can diagnose the underlying channel issue.
If another operator approved the same delivery between when you loaded the page and when you clicked Approve, you will see an "Already approved by another operator" notice and no duplicate send occurs.
Discarding a Delivery
If the message is no longer needed - for example, the conversation is resolved or the recipient is no longer relevant - click Discard. You can optionally enter a reason (up to 400 characters) to explain why it was discarded. The record is kept for audit purposes; discarded deliveries are not deleted.
FAQ
Why does a delivery show a failure code like channel_send_failed?
The failure code is set when the outbound tool catches the specific error. channel_send_failed means the channel (email server, messaging service) rejected or dropped the send. Check the channel configuration and connectivity before approving.
Can I approve a delivery that is already Approved or Discarded?
No. The Approve and Discard buttons only appear for deliveries in Pending status. Approved and discarded deliveries are read-only in the drawer.
Will approving a delivery re-trigger the Safety Gateway?
Yes. The re-dispatch goes through the same tool execution path, which includes Safety Gateway analysis. If the message is flagged, it will be held in the Review Queue rather than sent immediately.
How long are pending deliveries kept?
Pending delivery artifacts are stored in AgentArtifacts with standard artifact retention. Discarded deliveries are preserved for audit purposes and are not purged sooner than other artifact types.
Who can see Pending Deliveries?
Pending Deliveries requires the caioo:view permission. Any operator with that permission can approve and discard deliveries for their tenant. Operators cannot see deliveries from other tenants.
Related Topics
- Safety Gateway Overview - How outbound communications are intercepted
- Review Queue - Review messages held by the Safety Gateway before sending
- Audit Log - View the history of all gateway decisions