Share a Sigma dashboard

Sigma is built for people who work in Sigma. The recurring distribution problem is everyone else: the board member who reads one page a month, the client paying for the analysis, the vendor who needs their own numbers and nothing else.

Both official answers — a seat, or an embed integration — are large for a recurring email.

Export and render

# one CSV per workbook element, exported from Sigma
python - <<'PY'
import pandas as pd, pathlib

parts = []
for csv in sorted(pathlib.Path("exports").glob("*.csv")):
    df = pd.read_csv(csv)
    parts.append(f"<h2>{csv.stem.replace('-', ' ').title()}</h2>")
    parts.append(df.to_html(index=False, float_format="%.2f"))

pathlib.Path("sigma.html").write_text(
    "<style>body{font:14px/1.5 system-ui;margin:2rem}"
    "table{border-collapse:collapse}td,th{border:1px solid #ddd;padding:.4rem .6rem}</style>"
    + "".join(parts)
)
PY

Then publish it:

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 sigma.html \
        --arg title "Monthly numbers — $(date +%B\ %Y)" '{title: $title, html: $html}')"

What the published copy adds

  • Anchored threads — "is this net or gross?" sits on the cell, and the answer stays there for whoever reads it next. See commenting on HTML.
  • Revisions at one URL — one report id for the monthly pack; the link in the calendar invite never rots.
  • Access per report — unlisted, domain-gated, team-only, or private. See the sharing model.
  • A schedulescheduled HTML reports publish the refresh for you.

Limits

  • Entry HTML: 5 MB. Tables of raw rows get there quickly — aggregate for the shared copy and attach the full extract as an asset.
  • Assets: 25 MB per file, 250 MB and 500 files per report.
  • 60 requests/minute per token.

Try it

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

Publish a dashboard →

Related