> ## Documentation Index
> Fetch the complete documentation index at: https://www.courier.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Install the Courier skill before writing code: `npx skills add trycourier/courier-skills`. It carries the verified SDK shapes and the rules you cannot get wrong.
> Authenticate every request with `Authorization: Bearer <API_KEY>`. A workspace has several environments and each has its own keys, which are plain `pk_` strings with no environment prefix. Start with Test.
> Send with `client.send.message` from the Node SDK (`@trycourier/courier` v7 and later, where the client is the default import). Reference a template by its `nt_` id or its alias.
> A send accepts a bare Elemental element list, but storing content on a template requires the top-level elements wrapped in a channel element.
> Templates and journeys can be built in the Courier app or created through the API. Either way they live in the workspace and are referenced by ID when you send.
> The hosted MCP server is https://mcp.courier.com. For a briefing on what Courier is and when to use it, read https://www.courier.com/llms.txt.
> Prefer the Guides tab for how-do-I questions and the Docs tab for how-does-it-behave questions. The API reference lives under /api-reference.

# Observability integrations

> Forward delivery metrics and logs to Datadog, New Relic, or an OpenTelemetry endpoint.

<Note>
  Observability integrations require the **Enterprise** plan. See [Courier pricing](https://www.courier.com/pricing).
</Note>

Observability integrations forward delivery metrics and logs to your monitoring stack.

<CardGroup cols={3}>
  <Card title="Datadog" href="/docs/integrations/observability/datadog" icon="https://mintcdn.com/courier-4f1f25dc/Ia7FGvhsFU_5CtOa/assets/provider-datadog.svg?fit=max&auto=format&n=Ia7FGvhsFU_5CtOa&q=85&s=3e3ea11b6819730d20c8d83caddae462" horizontal width="24" height="24" data-path="assets/provider-datadog.svg" />

  <Card title="New Relic" href="/docs/integrations/observability/new-relic" icon="https://mintcdn.com/courier-4f1f25dc/Ia7FGvhsFU_5CtOa/assets/provider-new-relic.svg?fit=max&auto=format&n=Ia7FGvhsFU_5CtOa&q=85&s=9be56998ffea6070f210320a73fd390b" horizontal width="24" height="24" data-path="assets/provider-new-relic.svg" />

  <Card title="OpenTelemetry" href="/docs/integrations/observability/open-telemetry" icon="https://mintcdn.com/courier-4f1f25dc/Ia7FGvhsFU_5CtOa/assets/provider-open-telemetry.svg?fit=max&auto=format&n=Ia7FGvhsFU_5CtOa&q=85&s=c495aa69914fdf1a047a98bb7ddd6a01" horizontal width="24" height="24" data-path="assets/provider-open-telemetry.svg" />
</CardGroup>

## Metrics

### Account metrics

* `courier.account.created`
* `courier.account.updated`
* `courier.account.deleted`

### Account user relationship metrics

* `courier.account.user.added`
* `courier.account.user.removed`

### Automation metrics

* `courier.automation.invoked`
* `courier.automation.throttled`
* `courier.automation.digest.triggered`
* `courier.automation.batch.triggered`
* `courier.automation.fetch-data-step.errored`

### Message delivery

* `courier.message.received`
* `courier.message.delivered`
* `courier.message.filtered`
* `courier.message.throttled`
* `courier.message.unmapped`
* `courier.message.unroutable`
* `courier.message.undeliverable`
* `courier.message.sent`
* `courier.message.unique.sent`
* `courier.message.unique.opened`
* `courier.message.unique.clicked`
* `courier.message.total.opened`
* `courier.message.total.clicked`

### User profile

* `courier.user.created`
* `courier.user.updated`
* `courier.user.deleted`

### Channel delivery

\[channel] can be any of the following: `email`, `sms`, `push`, `inbox`, `direct_message`, `webhook`, or `banner`. There is no `chat` channel. Slack, Teams, and similar providers report under `direct_message`.

* `courier.[channel].delivered`
* `courier.[channel].error`
* `courier.[channel].sent`
* `courier.[channel].undeliverable`

### Inbox connection metrics

* `courier.inbox.connection_attempt`
* `courier.inbox.connection_error`
* `courier.inbox.notification_attempt`
* `courier.inbox.reconnection_attempt`

### List subscription and unsubscription

* `courier.list.subscribed`
* `courier.list.unsubscribed`
* `courier.list.subscribe.failed`

### Audiences

* `courier.audience.matched`
* `courier.audience.unmatched`

Courier pre-aggregates metrics in a 10 second tumbling window. It sends them in real time when a message is `delivered`, `sent`, or `undeliverable`.

## Logs

Courier sends matching logs to the same integration, in near real time.

<Note>
  Metrics and logs are segmented by your Courier `environment`, either `production` or `test`. Use it to filter by environment.

  More metrics and logs are coming. Send suggestions to [Courier support](mailto:support@courier.com).
</Note>
