diff --git a/apps/docs/components/MetricsStackCards.data.ts b/apps/docs/components/MetricsStackCards.data.ts
index 1cbd0a4a15698..637af23172874 100644
--- a/apps/docs/components/MetricsStackCards.data.ts
+++ b/apps/docs/components/MetricsStackCards.data.ts
@@ -17,10 +17,7 @@ export const metricsStackOptions: MetricsStackOption[] = [
iconKind: 'grafana',
iconColor: '#F05A28',
iconBg: 'rgba(240,90,40,0.1)',
- badges: [
- { label: 'Supabase guide', variant: 'default' },
- { label: 'Community', variant: 'community' },
- ],
+ badges: [{ label: 'Supabase guide', variant: 'default' }],
},
{
title: 'Grafana + self-hosted Prometheus',
diff --git a/apps/docs/content/guides/telemetry/metrics/grafana-cloud.mdx b/apps/docs/content/guides/telemetry/metrics/grafana-cloud.mdx
index 39d96d066ba4d..42f894f2b8794 100644
--- a/apps/docs/content/guides/telemetry/metrics/grafana-cloud.mdx
+++ b/apps/docs/content/guides/telemetry/metrics/grafana-cloud.mdx
@@ -6,37 +6,55 @@ description: 'Use Grafana Cloud’s managed Prometheus to visualize Supabase met
Grafana Cloud gives you a fully managed Prometheus endpoint plus hosted Grafana dashboards, which makes it the fastest way to explore the Supabase Metrics API without operating your own infrastructure.
-
+## Installation
-Grafana maintains a [Supabase integration guide](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/integrations/integration-reference/integration-supabase/) for Grafana Cloud. It runs on the same Metrics API documented here, but is community-maintained by Grafana, so feature coverage might differ from what Supabase officially supports.
+The Grafana Cloud integration is available in the Supabase Dashboard. [Add the integration](/dashboard/project/_/integrations/grafana-cloud/overview?utm_source=metrics-api&utm_medium=docs&utm_campaign=supabase_grafana_cloud_one_click_integration) and select a project to get a fully-configured instance in one click: authentication, metric scraping, and a pre-built dashboard tracking 200+ metrics, set up automatically.
+
+By integrating Supabase with Grafana Cloud, users gain monitoring capabilities for Supabase performance and operations. The included dashboard offers a comprehensive overview of Supabase performance, supplemented with Postgres metrics.
+
+## Manual setup
+
+The [Grafana Cloud integration](/dashboard/project/_/integrations/grafana-cloud/overview?utm_source=metrics-api&utm_medium=docs&utm_campaign=supabase_grafana_cloud_one_click_integration) available in the Supabase Dashboard is the recommended path. You can still configure and run the setup manually by following the steps below.
+
+
+
+Use this guide only if you need full manual control (custom scrape topology, self-hosted
+Prometheus or non-standard auth).
-## Prerequisites
+### Prerequisites
- A Supabase project with access to the Metrics API (Secret API key `sb_secret_...`).
- A Grafana Cloud account with Prometheus metrics enabled (Free or Pro tier).
- A Grafana API token with the `metrics:write` and `metrics:read` scopes if you plan to push data manually.
-<$Partial path="metrics_access.mdx" />
-
-## 1. Create a Grafana Cloud stack
+### 1. Create a Grafana Cloud stack
1. Sign in to [Grafana Cloud](https://grafana.com/auth/sign-in).
-2. Create (or select) a stack that has **Prometheus Metrics** enabled (Free and Pro tiers both work for this guide).
+2. Create or select a stack that has **Prometheus Metrics** enabled.
+
+### 2. Install the Supabase integration for Grafana Cloud
+
+1. In your Grafana Cloud stack, click **Connections** in the left-hand menu.
+2. Select the **Supabase** integration and follow the steps outlined on the **Configuration** page:
+3. Give your scrape job a descriptive name like `production-eu-central-1`.
+4. Set your Project ID and enter the service account API key.
+5. Test the connection and save the scrape job.
+6. Once scrape jobs are configured, click Install to add the prebuilt dashboards to your Grafana Cloud instance.
-## 2. Configure the Supabase integration
+### 3. Configure the Supabase integration
1. Navigate to **Connections → Add new connection → Supabase** inside Grafana Cloud.
2. Provide:
- Your Supabase project ref (e.g. `abcd1234`).
- - The Metrics API endpoint: `https://.supabase.co/customer/v1/privileged/metrics`.
+ - The Metrics API endpoint (e.g. `https://.supabase.co/customer/v1/privileged/metrics`).
- HTTP Basic Auth credentials (`sb_secret_...`).
-3. Choose the scrape interval (1 minute recommended) and test the connection. Grafana Cloud will deploy an agent in the background that scrapes the Metrics API and forwards the data to Prometheus.
+3. Choose the scrape interval. 1 minute is recommended, and test the connection. Grafana Cloud will deploy an agent in the background that scrapes the Metrics API and forwards the data to Prometheus.
If you prefer to reuse an existing Grafana Agent deployment, configure an [integration pipeline](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/integrations/integration-reference/integration-supabase/) with the same URL and credentials.
-## 3. Import the Supabase dashboard
+### 4. Import the Supabase dashboard
1. Open your Grafana Cloud dashboard list and click **New → Import**.
2. Paste the raw contents of [`supabase-grafana/dashboard.json`](https://raw.githubusercontent.com/supabase/supabase-grafana/refs/heads/main/grafana/dashboard.json).
@@ -51,11 +69,11 @@ This dashboard includes 200+ charts grouped by CPU, IO, connections, replication
height="1509"
/>
-## 4. Configure alerts (optional)
+### 5. Configure alerts (optional)
The [`docs/example-alerts.md`](https://github.com/supabase/supabase-grafana/blob/main/docs/example-alerts.md) file contains suggested alert rules (disk saturation, long-running queries, replication lag, etc.). Import the alert rules into Grafana Cloud’s Alerting UI or translate them into Grafana Cloud’s managed alert rule format.
-## 5. Troubleshooting
+### 6. Troubleshooting
- Metrics missing? Ensure the Grafana Cloud agent can reach `https://.supabase.co` and that the selected Secret API key is still valid.
- 401 errors? Create/rotate a Secret API key in [Project Settings → API Keys](/dashboard/project/_/settings/api-keys) and update the Grafana Cloud credentials.
diff --git a/apps/docs/content/guides/telemetry/metrics/grafana-self-hosted.mdx b/apps/docs/content/guides/telemetry/metrics/grafana-self-hosted.mdx
index 917ecfbc9e89c..868e095ea6c83 100644
--- a/apps/docs/content/guides/telemetry/metrics/grafana-self-hosted.mdx
+++ b/apps/docs/content/guides/telemetry/metrics/grafana-self-hosted.mdx
@@ -6,11 +6,11 @@ description: 'Deploy Prometheus and Grafana yourself to monitor Supabase metrics
Self-hosting [Prometheus](https://prometheus.io/docs/prometheus/latest/installation/) and Grafana gives you full control over retention, alert routing, and dashboards. The Supabase Metrics API slots into any standard Prometheus scrape job, so you can run everything locally, on a VM, or inside Kubernetes.
-<$Partial path="metrics_access.mdx" />
+
-
+Use this guide only if you need full manual control (custom scrape topology, self-hosted Prometheus or non-standard auth).
-Grafana also documents a [Supabase integration reference](https://grafana.com/docs/grafana-cloud/monitor-infrastructure/integrations/integration-reference/integration-supabase/). While it targets Grafana Cloud, the scrape and agent settings apply equally to self-hosted clusters and offer a community-maintained companion to this guide.
+Otherwise, use the [Grafana Cloud integration](/docs/guides/telemetry/metrics/grafana-cloud#installation) available in the Supabase Dashboard.
@@ -18,7 +18,7 @@ Grafana also documents a [Supabase integration reference](https://grafana.com/do
1. **Prometheus** scrapes `https://.supabase.co/customer/v1/privileged/metrics` every minute using HTTP Basic Auth.
2. **Grafana** reads from Prometheus and renders dashboards/alerts.
-3. (Optional) **Alertmanager** or your preferred system sends notifications when Prometheus rules fire.
+3. **Prometheus Alertmanager** or your preferred system sends notifications when Prometheus rules fire (optional) .
## 1. Deploy Prometheus
diff --git a/apps/studio/components/interfaces/Account/TOTPFactors/index.tsx b/apps/studio/components/interfaces/Account/TOTPFactors/index.tsx
index ea9a8a4df6060..28d2a728ee3ca 100644
--- a/apps/studio/components/interfaces/Account/TOTPFactors/index.tsx
+++ b/apps/studio/components/interfaces/Account/TOTPFactors/index.tsx
@@ -37,7 +37,7 @@ export const TOTPFactors = () => {
- Added on {dayjs(factor.updated_at).format(DATETIME_FORMAT)}
+ Added on {dayjs(factor.created_at).format(DATETIME_FORMAT)}