Skip to content

Introduction

Emithook is the event front door: infrastructure that receives webhooks and email, and sends webhooks — all on a single delivery engine. Its founding guarantee: every event is durably stored before it's acknowledged, so nothing downstream — configuration, workers, deploys — can lose an accepted event.

  • Receive & relay — give a provider a stable URL (or let them write to a queue, or send you email), and Emithook acknowledges in under 100 ms and durably buffers the event — so your service can be down for hours and lose nothing. It then verifies the signature in the processing plane and routes the event to your systems.
  • Send & broadcast — push your own events out as webhooks-as-a-service. One API call delivers to a URL or a queue, or fans out to every endpoint an application's customers have subscribed.

The same machinery — signing, retries, circuit-breaking, logs, archive, and one-click replay — is shared across both directions. Want to feel it before reading further? Get an instant endpoint — a webhook URL and an email address, no signup.

Four ways an event enters

IngressUse it when
HTTPS edgeA provider POSTs to your <ingest-domain>/<slug> URL.
Queue ingestionYou write to a broker (SQS/Pub/Sub/Kafka…) and Emithook consumes it.
Inbound email (MX)Mail to <alias>@in.<ingest-domain> is parsed into an event.
Send APIYou call POST /v1/send with a payload and a destination.

Webhooks and email share a dedicated, config-driven ingest domain (shown as <ingest-domain>), separate from the console/marketing site.

Three delivery patterns

  1. Fan-out — one event always goes to the same set of destinations.
  2. Per-tenant — register customers as applications; POST /v1/app/{tenant}/event resolves their endpoints.
  3. Direct send — ad-hoc POST /v1/send to a single URL or queue.

Why teams use it

  • Zero setup. You're live immediately on our domain for both webhooks and email — bringing your own domain is optional, and an instant endpoint needs no account at all.
  • Never-lose ingest. Stored before the 200, always — then backoff retries with jitter, dead-letter queue, circuit breaker, SSRF-guarded egress, and a 14-day replay window.
  • Simple by default, advanced on demand. The console asks three questions (who sends, the secret, where to deliver); one Advanced toggle reveals transforms, sync proxy, generic HMAC, rotation and per-route filters.
  • Agent-native. Console, CLI, the TypeScript SDK and an MCP server are all thin clients over one scoped API (Python/Go SDKs + a Terraform provider are on the roadmap).
  • Your region. Data resident where you choose (India / ap-south-1 today, multi-region by design); self-hosting with pluggable adapters is documented in Self-hosting.

Where to next

Emithook · a Finnoto product