Sapilon becomes publicly available on 1 December 2026: 42 days to go. The core goes open source the same day →

Grafana Cloud integration

In short

Search dashboards, query data sources and read alerts. Connect it on the Integrations page; your app then calls Grafana Cloud through Sapilon without ever holding a Grafana Labs credential.

Lets your app search dashboards in a Grafana Cloud stack, query its data sources and read firing alerts.

Connecting

On the Integrations page choose Connect on Grafana Cloud and fill in:

  • Stack name — The part before .grafana.net in your Grafana address.
  • Service account token — Grafana → Administration → Users and access → Service accounts → Add, role Viewer → Add service account token.

Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.

  • Only Grafana Cloud stacks (….grafana.net) are supported, not self-hosted Grafana.

What your app can do

Only these requests are available; anything else is refused.

  • GET /api/org
  • GET /api/search
  • GET /api/dashboards/uid/*
  • GET /api/datasources
  • POST /api/ds/query
  • GET /api/alertmanager/grafana/api/v2/alerts

How the agent uses it

Use integrations.request('grafana', …); paths are relative to https://<stack>.grafana.net.

  • GET /api/search — query: { query: 'checkout', type: 'dash-db' }. GET /api/dashboards/uid/{uid} — panels and their queries.
  • GET /api/datasources — ids and uids.
  • POST /api/ds/query — Example: { method: 'POST', path: '/api/ds/query', body: { from: 'now-1h', to: 'now', queries: [{ refId: 'A', datasource: { uid: 'grafanacloud-prom' }, expr: 'sum(rate(http_requests_total[5m]))' }] } }.
  • GET /api/alertmanager/grafana/api/v2/alerts — firing alerts.
  • GET /api/org.

Read-only.

More from Grafana Labs: https://grafana.com/docs/grafana/latest/developers/http_api/

Last updated .

Was this page helpful?