# Quickstart

> Create an ingest key, point your OpenTelemetry Collector or SDK at Pulse, and see your logs and metrics in Explore.

Pulse is in an invite-only beta. You need an invite to an org; open the link in the email to create your account.

## 1. Create an ingest key

In the app, open **Ingest keys** (org owners and admins) and press **Create**. The key is shown once and starts with `pulse_ik_`. It belongs to the org, not to you, so it keeps working if you leave; revoke it there when you're done with it.

## 2. Send data

With the [OpenTelemetry Collector](https://opentelemetry.io/docs/collector/), add an `otlphttp` exporter and use it in your metrics and logs pipelines:

```yaml
exporters:
  otlphttp/pulse:
    endpoint: https://pulse.nightroll.app
    compression: gzip
    headers: { Authorization: "Bearer ${env:PULSE_INGEST_KEY}" }
processors:
  batch: { send_batch_size: 8192, timeout: 10s }
service:
  pipelines:
    metrics: { receivers: [otlp], processors: [batch], exporters: [otlphttp/pulse] }
    logs:    { receivers: [otlp], processors: [batch], exporters: [otlphttp/pulse] }
```

Without a collector, set these environment variables for any OpenTelemetry SDK:

```sh
OTEL_EXPORTER_OTLP_ENDPOINT=https://pulse.nightroll.app
OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer%20pulse_ik_..."
OTEL_TRACES_EXPORTER=none
OTEL_BLRP_SCHEDULE_DELAY=10000      # batch logs every 10 s; each request is billed as at least 128 KB
```

Pulse doesn't take traces yet, so turn the trace exporter off (`OTEL_TRACES_EXPORTER=none`) or leave traces out of the collector pipeline.

## 3. Look at it

Open **Explore** in the app. Data shows up within seconds: pick **Logs** to search by service, severity and text, or **Metrics** to graph a metric by name. **Live tail** streams new rows as they arrive. See [Explore and the query API](/docs/explore-and-query-api/).

## 4. Watch a cron job

Open **Checks**, create a heartbeat with your job's schedule, and add the ping URL to the end of the job:

```sh
0 3 * * *  /usr/local/bin/backup.sh; curl -fsS -m 10 --retry 5 https://pulse.nightroll.app/p/<token>/$?
```

See [Checks](/docs/checks/). To get alerted, add a Shift routing key under **Alerts** ([Alerts and Shift](/docs/alerts-and-shift/)).

## 5. Set up your bucket

On day 7 Pulse hands your data to your own bucket. Set one in **Settings → Storage** before then, or the data goes on a paid [grace hold](/docs/archive-and-grace/).

## 6. Connect your agent

Pulse has an MCP server, so Claude or any other agent can query your logs, create checks and set up monitors. See [MCP](/docs/mcp/) and the [QuickStart](/quickstart).
