Get a single inbox email

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

  1. Authentication: Use a Service Account token (Personal Access Tokens are deprecated).
  2. 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 denied error.
  3. 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

ArgumentTypeRequiredDescription
inboxEmailIdID!YesThe 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: inboxEmail returns one inbox email (or null when 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 denied error rather than the record.
  • Field casing: some fields on the InboxEmail type 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.