Skip to content

EmithookOne engine. Both doors.

The event front door — webhooks in, email in, delivery out. Every event is durably stored before it's acknowledged, then verified, delivered with retries, logged and replayable. Driven from a console, a CLI, SDKs, or your AI agent.

One engine, both directions

Most teams run two stacks: one to receive provider webhooks reliably, another to send their own. Emithook is a single delivery engine — the same signing, retry/backoff, circuit breaker, dead-letter queue, logs, archive and one-click replay — with four ways for an event to enter and three ways for it to resolve to a destination.

ReceiveSend
HTTPS edge, queue ingestion, or inbound emailDirect API call, static fan-out, or per-tenant applications
Edge acks + durably buffers in <100 ms; provider presets verify signatures in the processing plane and answer handshakes at the edgeStandard Webhooks signing so your customers verify with any library
Routes, filters and JS transforms fan one event to N destinationsAn embeddable, white-label portal lets your customers self-serve
Receive →Send →

Send your first webhook

bash
curl -X POST https://api.emithook.com/v1/send \
  -H "Authorization: Bearer $EK_KEY" \
  -H "Idempotency-Key: inv_001" \
  -d '{ "destination": "dst_01JX9", "event_type": "invoice.created",
        "payload": { "id": "INV-2026-001", "amount": 4999 } }'
# → 202 { "message_id": "msg_01JX9" }

Signed, queued, retried, logged. Follow the Quickstart end to end, or browse the API reference.

Built for agents

Everything the console can do is one scoped API — so the CLI and MCP server are thin clients over it, not afterthoughts. Point an agent at the docs (we publish /docs/llms.txt and /docs/llms-full.txt) and the Glossary, and it can read deliveries, replay a DLQ, or rotate a secret — read tools safe by default, writes gated by scope and confirmation.

The founding guarantee

Ingest is architecturally separate from processing: every event is written to a durable queue before the sender gets its 200. Configuration errors, worker failures — even our own deploys — can never lose an accepted event, and everything is replayable for 14 days. Data resident in your region (India / ap-south-1 today, multi-region by design). See Concepts and Self-hosting.

Emithook · a Finnoto product