inbox.email.sent
Received when an outbound email is accepted for delivery and added to a thread.
Event triggered whenever an outbound email is accepted for delivery and added to a thread.
Note: source is always system, because the email pipeline sends this event, even when the API or an agent sent the email.
Note: When the email comes from a draft, inbox.draft.sent fires first, from the send call. This event follows once the email is accepted for delivery.
Response Body Parameters
Section titled “Response Body Parameters”All webhook payloads follow a consistent top-level structure with
event-specific data nested within the data object.
-
type(string) — The event type that triggered the webhook (e.g.,inbox.email.sent). -
created_at(string) — ISO 8601 timestamp when the webhook event was created. -
data(object) — Event-specific data containing detailed information about the event. The data object for theinbox.email.sentevent contains the following parameters:object parameters
source(api | dashboard | agent | system) — What made the changeinbox_id(string) — The ID of the inboxthread_id(string) — The ID of the threademail_id(string) — The ID of the emailthread(object) — The thread, as it is when the webhook is sentobject(string) — Alwaysinbox_threadid(string) — The ID of the threadsubject(string | null) — The subject of the threadfolder(inbox | archive | spam | sent | trash) — The folder the thread lives inlabels(array) — The labels attached to the thread, each with anid,name, andcolorread(boolean) — True only when every message in the thread is reademail(object) — The email, as it is when the webhook is sent, withouthtmlortext. Fetch the body from the APIid(string) — The ID of the emaildirection(inbound | outbound) — Whether the email was received by the inbox or sent from itfrom(string) — Sender email addressto(string[]) — The recipients of the emailcc(string[]) — The CC recipients of the emailbcc(string[]) — The BCC recipients of the emailreply_to(string[]) — The Reply-To addressessubject(string | null) — The subject of the emailmessage_id(string | null) — The Message-ID header of the emailattachments(array) — The attachments on the emailid(string) — The ID of the attachmentfilename(string | null) — The filename of the attachmentsize(number | null) — The size of the attachment in bytesread(boolean) — Whether the email has been readreceived_at(string) — ISO 8601 timestamp when the email arrived or was sent
{
"type": "inbox.email.sent",
"created_at": "2026-09-29T12:00:00.000Z",
"data": {
"source": "system",
"inbox_id": "b3e2b2b6-3f0e-4c8e-9ad3-2f43a1e2c7f1",
"thread_id": "7c1f0a2e-5d3b-4e8a-9f61-2b8d4c6e1a90",
"email_id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
"thread": {
"object": "inbox_thread",
"id": "7c1f0a2e-5d3b-4e8a-9f61-2b8d4c6e1a90",
"subject": "Question about my invoice",
"folder": "inbox",
"labels": [],
"read": true
},
"email": {
"id": "4ef9a417-02e9-4d39-ad75-9611e0fcc33c",
"direction": "outbound",
"from": "Ada from Support <support@example.com>",
"to": ["steve.wozniak@gmail.com"],
"cc": [],
"bcc": [],
"reply_to": [],
"subject": "Re: Question about my invoice",
"message_id": "<0100019a4ef9a417@email.amazonses.com>",
"attachments": [],
"read": true,
"received_at": "2026-09-29T12:00:00.000Z"
}
}
}