# How to Share a Datadog Dashboard — Public URLs, Embeds and Scheduled Digests

Canonical: https://commareports.com/share-datadog-dashboard
Published: 2026-09-04

> Datadog's public dashboard sharing puts your metrics on an unauthenticated URL, and every other route costs a seat. What each option exposes, plus the scheduled HTML digest that keeps one commentable link.

# How to share a Datadog dashboard

Datadog gives you two ways to show a dashboard to someone who is not in your
organization, and both of them work by removing authentication. That is the
trade to understand before you click anything.

## The options

**Invite them.** A user in your Datadog org sees the dashboard live, with all
the drill-downs. Correct for engineers. Billed per user, and it grants access
to considerably more than the one dashboard.

**Share publicly.** The dashboard gets a URL that opens without a login. You
can restrict it to an allowlist of email addresses, which is meaningfully
better than fully open, or leave it unrestricted, which means anyone with the
link sees live production metrics. Worth being blunt about what a metrics
dashboard leaks even without a single business number on it: service names,
host counts, deploy cadence, traffic shape, and when you are busiest. That is
a reconnaissance document.

**Embed a graph.** The narrower version — an iframe snippet for one
visualization. Same property: an unauthenticated URL rendering live data.

**Screenshot it into Slack.** What most people actually do, and it produces an
image nobody can quote a number from, with the discussion scattered across a
channel that scrolls away.

## The gap

The recurring need is a specific audience — an account manager, a customer's
technical contact, a compliance reviewer, an exec — who needs last week's
reliability numbers, as text, at a link that opens, with somewhere to ask
whether a spike was expected.

Public sharing gives the link and drops the access control. Inviting them
gives the access control and costs a seat plus far too much scope. Neither
leaves a record anyone can read back through.

## The digest pattern

Query the metrics, render one self-contained HTML page, publish it at a stable
URL, and put anchored comments on top.

Datadog's API returns timeseries as JSON, so nothing has to be scraped:

```bash
curl -fsS -G "https://api.datadoghq.com/api/v1/query" \
  -H "DD-API-KEY: $DD_API_KEY" -H "DD-APPLICATION-KEY: $DD_APP_KEY" \
  --data-urlencode "from=$(date -d '7 days ago' +%s)" \
  --data-urlencode "to=$(date +%s)" \
  --data-urlencode 'query=avg:trace.http.request.duration.by.service{env:prod} by {service}' \
  > latency.json
```

Turn that into an HTML table of p50/p95/p99 per service plus a couple of
inlined sparklines, keep the file self-contained — no CDN, nothing fetched at
view time — and publish it:

```bash
python3 scripts/datadog_digest.py latency.json > digest.html

curl -fsS -X PATCH "https://commareports.com/api/v1/reports/$REPORT_ID" \
  -H "Authorization: Bearer $COMMA_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile html digest.html \
        --arg title "SLO review — week of $(date +%F)" '{title: $title, html: $html}')"
```

A [routine](/features/routines) runs the same job on a schedule if you would
rather not add another cron.

## Why this beats both Datadog options for this audience

**You choose what leaves.** A digest contains the three SLOs you meant to
report, not every service name in the org. That is a smaller disclosure than a
public dashboard by an enormous margin.

**Access is real.** Visibility is a setting on the report — [private, team,
domain-gated or link](/docs/sharing) — so "anyone at customer-co.com" is
enforced rather than hoped for.

**There is a record.** Each week is a revision at the same URL. "Did we breach
in March" is a question with an answer, instead of a re-query against a
retention window.

**The conversation attaches.** Someone highlights the Tuesday p99 and pins
"deploy 4.2 rollback, INC-2214, expected." That thread persists across
revisions, so the next reader inherits the explanation.

An agent connected through [Comma's MCP server](/mcp) can read those threads
too, which puts the accumulated incident context where the next triage can use
it.

## When to just use Datadog

Engineers who will drill into a trace should be in Datadog. Nothing static
replaces a live APM view for someone doing an investigation. The digest is for
the readers who should never have that access, and for the weeks you want a
dated, quotable, commentable record of what reliability actually was.

## Try it

Comma is free — unlimited reports, unlimited commenters, unlimited revision
history.

**[Create your first report →](https://commareports.com/)**

### Related

- [Share a Grafana dashboard](/share-grafana-dashboard)
- [Share a Kibana dashboard](/share-kibana-dashboard)
- [Monthly compliance digest](/features/routines/monthly-compliance-digest)
