Look up one inbox email by its ID, including its content, metadata, and attachments.
Before You Begin
🔗 Use the GraphQL Playground to execute the queries in this guide.
➡️ New to GraphQL? Learn how to navigate the Playground with our Playground Basics Guide.
Prerequisites
- Authentication: Use a Service Account token (Personal Access Tokens are deprecated).
- Permissions: Your token must be able to read the emails of the card the inbox email belongs to. Without that access the query returns a
Permission deniederror. - Inbox email ID: Identify the inbox email you want to fetch. If you only have the card, use List emails from a card to discover the inbox email IDs first.
Step 1: Find the inbox email ID
The inboxEmail query takes a single argument, inboxEmailId. If you don't have it yet, list a card's emails and read the id of the one you need:
{
card(id: 10805973) {
id
inbox_emails {
id
subject
}
}
}
Step 2: Fetch the inbox email
With the inbox email ID in hand, execute the query:
query {
inboxEmail(inboxEmailId: "547923445") {
id
from
fromName
to
main_to
cc
bcc
subject
state
origin
sent_via_automation
message_id
clean_text
clean_html
card { id }
pipe { id }
attachments {
filename
public_url
originalFilename
}
}
}
Input explanation
| Argument | Type | Required | Description |
|---|---|---|---|
inboxEmailId | ID! | Yes | The ID of the inbox email to fetch. |
Sample response
{
"data": {
"inboxEmail": {
"id": "547923445",
"from": "[email protected]",
"fromName": "Laura Johnson",
"to": ["[email protected]"],
"main_to": "[email protected]",
"cc": [],
"bcc": [],
"subject": "Missing Document for Your Vacation Request",
"state": "processed",
"origin": "manual",
"sent_via_automation": false,
"message_id": "<[email protected]>",
"clean_text": "Dear Steve, ...",
"clean_html": "<div>Dear Steve, ...</div>",
"card": { "id": "10805973" },
"pipe": { "id": "301234567" },
"attachments": []
}
}
}
You can request any field available on the InboxEmail type — the selection above is just a useful subset.
Key Notes
- Single record:
inboxEmailreturns one inbox email (ornullwhen the ID does not exist). To list every email on a card, use List emails from a card instead. - Authorization: access is checked against the card the email belongs to. A token without read access to that card's emails receives a
Permission deniederror rather than the record. - Field casing: some fields on the
InboxEmailtype are snake_case (main_to,clean_text,clean_html,sent_via_automation,message_id) while others are camelCase (fromName,originalFilename). Use each field exactly as shown above.

