Webhooks
Inbox Drop ingress - inbound email payload from provider adapter
Inbox Drop ingress that receives a parsed inbound email payload from a provider-specific adapter (today: the sendgrid-inbound service). The api evaluates which workflows' InboxDropTrigger nodes match the email's subject/from filters and enqueues one BullMQ job per match. Auth is the shared INTERNAL_SERVICE_TOKEN via the X-Internal-Token header - NOT user auth. Adapter services hold this token; external callers must not hit this endpoint directly. Returns 202 with matchedCount so the caller can decide whether to fall back to a non-workflow path when no workflow matched.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Internal-service request body sent by inbound-email adapters (SendGrid, etc.) to fan out to matching workflows.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/webhook/inbox-drop" \ -H "Content-Type: application/json" \ -d '{ "organizationId": "64a1b2c3d4e5f60012345678", "userId": "64a1b2c3d4e5f60012345679", "emailData": { "from": "alex.nguyen@example.com", "to": [ "inbound+org-64a1b@inbound.tetherai.ca" ], "subject": "Maple Court availability", "body": "Hi - could you confirm the corner unit is still listed?" }, "metadata": { "receivedAt": "2026-05-20T15:04:01.135Z", "source": "sendgrid_inbound" } }'{ "success": true, "matchedCount": 1}