Set it up
1
Open the wizard
In the console, open Project → Observability and choose Broadcast Logs. You need to be an owner or admin of the workspace; everyone else sees the integration’s status but cannot change it.
2
Pick a tool
Choose one of the five tools. If the project already broadcasts somewhere, the new tool replaces it. The wizard asks you to confirm before it does, because the old tool’s settings, credentials and counts are deleted.
3
Fill in the tool's settings
Each tool asks for exactly what its own OTLP documentation asks for. See the sections below, and follow the docs link in the wizard. Secrets such as API keys and tokens are stored encrypted (AES-256-GCM). Hookie never shows them again, so to change one you type a new value. To keep a secret when you edit other settings, leave its field blank.
4
Send a test event, then save
Send test event posts one log record, and one span where the tool takes traces, with the settings you entered. The wizard shows what each endpoint answered. Save when the test is accepted. If it fails, you can still save, and the failure keeps showing on the Observability tab until the tool accepts the data.
What is sent
Every one of these produces a span (for/v1/traces) and a log record (for /v1/logs) carrying the same trace and span ids, so you can jump from a log line to its trace:
All spans for one event share its trace id: the submission id without dashes. The ingest, routing, delivery and AI-trigger spans for an event therefore show up as one trace. The resource carries
service.name = hookie, your workspace as service.namespace, and hookie.project.id, hookie.project.slug and hookie.project.name.
Payloads are not sent. Hookie forwards what happened to an event, never the event’s body. AI calls report the model, token counts, latency and outcome. They never include the prompt, the input or the output, which stay in Observability → AI calls.
INFO for success, WARN for a failure that will be retried (or an event that matched no rule), and ERROR for a final failure.
Delivery, retries and status
Forwarding never slows ingest. Spans are queued after the event is stored, and a queue consumer sends them in batches: one request per signal for all the spans of a project in a batch. Usually they arrive within seconds.- Retries. A
5xx, a404,408,409,425or429, or a network error is retried with backoff at 30 seconds, 2 minutes, 10 minutes, 30 minutes and 2 hours. Only the signal that failed is resent, so logs that were already accepted are not duplicated when traces fail. - Dropped. Data the tool refuses outright (for example
401or403) or that fails after the last retry is dropped and counted. - Redirects are not followed. A
3xxanswer is reported as an error. Point the integration at the final URL. - Status. The Observability tab shows the last success, the last error, how many log records and spans were exported, failed requests, dropped items and the last test.
Datadog
Datadog’s OTLP intake endpoint takes logs and traces directly, with no Agent or Collector.
Hookie posts to
https://otlp.<site>/v1/logs and https://otlp.<site>/v1/traces with the dd-api-key header. It also sends compute_stats: true on traces so that Datadog computes trace metrics, which this intake does not do by default. A 403 usually means the site does not match your organization.
Grafana Cloud
Grafana Cloud’s OTLP endpoint routes logs to Loki and traces to Tempo.
Hookie authenticates with
Authorization: Basic base64(<instance ID>:<token>), which is the header the OpenTelemetry tile generates.
OpenTelemetry Collector
Use this for your own Collector, Grafana Alloy, or any other backend with an OTLP/HTTP receiver.
The receiver must accept JSON-encoded OTLP (
Content-Type: application/json), which the standard otlp receiver’s HTTP protocol does.
PostHog
PostHog Logs accepts OTLP logs.
Hookie posts to
https://<region>.i.posthog.com/i/v1/logs with Authorization: Bearer <project token>.
Sentry
Sentry ingests OpenTelemetry logs and traces over OTLP directly. The feature is in open beta at Sentry.
Hookie sends traces to the traces endpoint and logs to the matching
…/v1/logs, with x-sentry-auth: sentry sentry_key=<public key>.
API
The integration is managed under/admin/api/projects/{pid}/telemetry. See the API reference under Broadcast Logs.
A connected agent with the
hookie:manage scope reaches the same routes with its OAuth access token:
https URLs: localhost, private and link-local addresses (the cloud metadata address included) and URLs with credentials in them are refused.