Skip to content
AI Inbx
Esc
↑↓navigate↵open⌘Jpreview
On this page

email.opened

email.opened fires on a tracked open, with bot and privacy-proxy hits flagged. Requires open tracking on the domain or on the send.

A tracked open. Requires open tracking on the domain, or on the send.

Payload

Every field, with an example body, is in the email.opened reference, generated from the API contract.

Bot detection

Every hit is reported; bot says whether a person made it. Count and act on the ones where it is false.

bot_reason What it is
privacy_proxy Apple Mail Privacy Protection, which fetches every image as the message lands.
script An HTTP library that announces itself.
known_bot A security scanner, link expander or sync daemon that names itself.
stale_browser A browser build nobody runs any more, which is what scanners dress up as.
too_fast Within seconds of delivery, sooner than a person could act.

More reasons may be added, so treat one you do not know as a bot. Events created before 2026-09-18 carry neither field.

Detection is conservative: a missing or unfamiliar user-agent counts as a person, and so do Gmail’s and Yahoo’s image proxies, which fetch when the reader opens the message.

Handling it

Never branch application logic on a single open — “they haven’t read it, resend” will misfire on both kinds of client. email.clicked is the signal worth acting on.

Last updated on September 30, 2026

Was this page helpful?