---
title: "Set up webhooks for your whole team, multiple projects, or single routes"
description: "Decide how broadly your webhooks apply, from a single route to your whole team. No more separate webhook for every route."
url: "https://lettermint.co/changelog/webhooks-for-team-projects-or-routes"
published: "2026-08-21"
last_updated: "2026-08-21"
---

# Set up webhooks for your whole team, multiple projects, or single routes

> Decide how broadly your webhooks apply, from a single route to your whole team. No more separate webhook for every route.

Webhooks notify your application the moment something happens to your
email. A [transactional email](https://lettermint.co/features/transactional-emails)
that bounces, an unsubscribe from your
[newsletter](https://lettermint.co/features/broadcast-emails), or an
[inbound email](https://lettermint.co/features/inbound-emails) that needs
processing. Your application reacts right away, without checking for
updates itself.

Until now, each webhook was tied to one place. To receive the same events
in multiple places, you created a separate webhook for each one. With a
handful of routes that's fine. But say you run an
[agency](https://lettermint.co/for/agencies) with a project per
client. Then you build the same integration over and over, once per client.

That changes today. When you create a webhook, you pick the scope: your
whole team, one or more projects, or one or more routes.

## How it works

Webhooks now have their own spot in the sidebar. The
[webhook overview](https://app.lettermint.co/webhooks) shows every webhook
in your team in one place, including its scope. On a project or route
itself, you still see the webhooks that belong there, same as before.

Every webhook now has one of three scopes:

- **Team**: the webhook receives events from all your projects and routes, including projects you create later.
- **Project**: pick one or more projects. The webhook receives events from every route in those projects, including routes you add later.
- **Route**: pick one or more routes. They can live in different projects.

As always, each webhook has one URL and one signing secret. Want to change
the scope after creating it and use the webhook more broadly? You can.

## See where events come from

When your webhook receives events from multiple projects or routes, you
want to know where each event belongs. That's why every payload now
includes a `context` with the webhook's scope and the IDs of your team,
project, and route:

```json
{
  "context": {
    "scope": "route",
    "team_id": "9f4e3d2c-1b0a-4987-9654-3210fedcba98",
    "project_id": "7d6c5b4a-3210-4987-9654-fedcba987654",
    "route_id": "1a2b3c4d-5678-4987-9654-abcdef123456"
  }
}
```

Process everything on one endpoint and filter by project or client in your
own code.

## Available now

Your existing webhooks keep working, with the scope they already had. Want
to use one more broadly? Change its scope in the dashboard.

We also extended the list of events. With `suppression.added` and
`suppression.removed`, you get notified whenever an address lands on your
suppression list or comes off it. Your own system always knows which
addresses we no longer send to.

And as you'd expect from us: your webhooks are delivered from European
servers too. As a [European email provider](https://lettermint.co/european-email),
we keep your event data, email addresses included, within the EU.

Learn more about webhooks, like verifying the signing secret and all
available events, in the
[webhook documentation](https://lettermint.co/docs/platform/webhooks/introduction).
