What is Nevo?

One inbound layer for your backend — webhooks, emails, and more, handled in one place.

Nevo is an inbound events layer for your backend. Accept webhooks, inbound email, and more from any provider; Nevo verifies, rate-limits, persists, and hands each one to your service as the same event shape.

Why it exists

Handling inbound from the world is the quiet time-sink of any backend: verify Stripe signatures, thread retries, integrate a separate email provider, translate each vendor’s payload shape, surface a dashboard so someone can see what’s happening. Every team writes that layer. Nobody ships product until they’re done.

Nevo is that layer, pre-built:

  • One receiver. Point every provider — Stripe, GitHub, Resend, whatever — at one place. You get one stream to listen on and one shape to code against.
  • One shape. Every event arrives as the same object: webhook.received or email.received today, more later. Branch on event.type and move on.
  • Built-in durability. Signature verification, per-provider rate limits, replay from the dashboard, and a full delivery log out of the box.

What you get

  • Streaming delivery to your service — persistent connection via the SDK, or plain HTTP POST to your own URLs.
  • Replies. Call event.reply(text="…") inside a handler and we route the response back on the channel the event arrived on. Email threading works automatically.
  • Dashboard. Live events feed, delivery log, channels, endpoints, API keys, billing — everything operable without touching code.
  • Replay. Re-deliver any historical event to your service from the dashboard.

Who it’s for

Anyone with a service that needs to react to inbound events. A backend draining Stripe webhooks, a support tool ingesting forwarded email, an AI agent reading alerts and replying — same integration either way. The handler on the other side doesn’t change.

How it fits together

  ┌────────────────────┐
  │  Webhook / email   │  ←  Stripe, GitHub, Resend, anything
  └─────────┬──────────┘
            │ verify, rate-limit, persist

  ┌────────────────────┐
  │       Nevo         │  ←  normalises, records, fans out
  └─────────┬──────────┘


  ┌────────────────────┐
  │   Your service     │  ←  one handler, branch on event.type
  └────────────────────┘

Next

Create a project and an API key in Create a project, then wire up your first event in Your first event.