
An inbound does not arrive as text for you to classify. It arrives as an event with the classification already done: what the sender wants, what facts they named, how urgent it reads, and how much you should trust it.

intent — what the message is trying to do, in one label.
entities — the structured facts pulled out of it, like a proposed time.
urgency — 0 to 1.
injection_score — 0 to 1, plus injection_categories when it is high.
sender_reputation — what we know about this sender.
extracted_text — the reply itself, quoted history removed.
These are the event types we actually emit — subscribing to anything else would create an endpoint that can never fire, so the API rejects it:
message.sent message.received draft.scheduled
message.scheduled message.received.unauthenticated draft.sending
message.delivered reply.received draft.sent
message.bounced suppression.added draft.failed
message.complained webhook.testThe Events page streams them live, which is the fastest way to watch what your agent is actually receiving while you build.
Watch the event stream