What does a webhook send?
A POST with a JSON body like this:
{
"id": "2b0e7c41-…",
"type": "document.viewed",
"created_at": "2026-10-17T09:30:02.000Z",
"company": { "id": "…", "name": "Acme Labs" },
"data": {
"id": "…",
"type": "document.viewed",
"occurred_at": "2026-10-17T09:30:00.000Z",
"investor": { "id": "…", "email": "ananya@northwind.example", "name": "Ananya Rao" },
"document": { "id": "…", "name": "Pitch deck" },
"details": {}
}
}
data is the event as GET /events gives it (see reading activity). For investor.hot, details has signal (returning, deep_read or key_document) and reason, a sentence saying why.
With it come the headers Galley-Event (the type), Galley-Delivery (the same as id) and Galley-Signature. Answer with any 2xx status within 10 seconds; redirects aren't followed. Now and then a message can arrive twice, so use id to skip one you've already handled.