# Google Workspace Status

> Know when Google Workspace is having a problem, from inside a workflow. Ask whether a service is up right now and get a plain yes or no, list what is going wrong at this moment, post a one line summary of everything to chat, watch for anything Google has posted since your last check, search the published incident history by service, dates, severity or wording, read one incident with the whole update timeline Google wrote as it went, and get a counted report of how a service has been doing over the last quarter. It covers every service on Google's own status dashboard, from Gmail, Drive, Meet, Chat and Calendar to the Admin console, and works out each one's current status from the open incidents, because Google publishes incidents rather than statuses. Every action reads: nothing here changes anything. No account or API key required.

App · Monitoring · 8 actions. Web page: https://docs.lodol.com/docs/integrations/google-workspace-status

## Actions

### Check whether a service is up

Check one service, such as Gmail or Google Drive, and get a flat answer the next step can read without digging into a list: is it available, what is wrong if it is not, when that started and what Google last said about it. Google publishes no such field, so it is worked out here from the incidents that are still open. Use it to gate a step on whether a service is working, or to tell a helpdesk it is Google rather than them.

**Inputs**

- Service (`service`, text, required): Which Google Workspace service to ask about. Pick it from the list, which is read from the dashboard itself and refreshes on the button beside the field. A name works too, so a value arriving from an earlier step can be 'Gmail', 'gmail' or just 'Drive'. A name that fits more than one service is refused with the candidates named rather than guessed at.

**Outputs**

- `active_incident_count` (number): How many open incidents name this service
- `checked_at` (text): When this was read from the dashboard, in UTC
- `dashboard_url` (text): The status dashboard page a person can open
- `incident_began_at` (text): When it started, in UTC
- `incident_count_in_published_window` (number): How many incidents name this service in the whole published window
- `incident_duration_minutes` (number): How long it has been running, in minutes
- `incident_id` (text): The worst open incident's id, empty when there is none
- `incident_latest_update` (text): The most recent thing Google said about it
- `incident_summary` (text): That incident's one line headline
- `incident_url` (text): Its page on the status dashboard
- `is_available` (true/false): True unless something is currently disrupting the service
- `last_resolved_incident_at` (text): When the most recent resolved incident ended, in UTC
- `last_resolved_incident_summary` (text): That incident's one line headline
- `service` (text): The service's name, as the dashboard spells it
- `service_id` (text): Google's stable id for the service
- `status` (text): available, information, disruption or outage
- `status_label` (text): The same thing written for a person to read
- `summary` (text): The answer in one sentence, ready to post

**Example output**

```json
{
  "active_incident_count": 1,
  "checked_at": "2026-03-11T12:00:00Z",
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "incident_began_at": "2026-03-11T09:15:00Z",
  "incident_count_in_published_window": 1,
  "incident_duration_minutes": 165,
  "incident_id": "5tQmCw8yLpNhKdRb3vAe",
  "incident_latest_update": "Our engineers have identified the cause and are working on a fix.",
  "incident_summary": "Customers may experience delays sending and receiving email.",
  "incident_url": "https://www.google.com/appsstatus/dashboard/incidents/5tQmCw8yLpNhKdRb3vAe",
  "is_available": false,
  "last_resolved_incident_at": "",
  "last_resolved_incident_summary": "",
  "service": "Gmail",
  "service_id": "prPt2Yra2CbGsbEm9cpC",
  "status": "outage",
  "status_label": "Outage",
  "summary": "Gmail has an ongoing outage."
}
```

### Get a service's recent incident history

How one service has actually been doing, counted rather than listed: how many incidents, how many were real outages, how long they added up to, which was the longest and how long it has been since the last one. The last ninety days unless you give it dates. Use it for a monthly reliability note, or to answer whether the problem someone is complaining about is a pattern.

**Inputs**

- Service (`service`, text, required): Which Google Workspace service to ask about. Pick it from the list, which is read from the dashboard itself and refreshes on the button beside the field. A name works too, so a value arriving from an earlier step can be 'Gmail', 'gmail' or just 'Drive'. A name that fits more than one service is refused with the candidates named rather than guessed at.
- From date (`start_date`, date): The first day to look at, counted in. Leave it empty to go back as far as the dashboard publishes.
- To date (`end_date`, date): The last day to look at, counted in whole. Leave it empty for today. It must be on or after the from date.
- How many to return (`limit`, number): How many incidents to return, newest first. Defaults to 25. The dashboard usually holds around fifty in all. From 1 to 100. Default: `25`.

**Outputs**

- `active_incident_count` (number): How many of them are still running
- `checked_at` (text): When this was read from the dashboard, in UTC
- `clamped_to_published_window` (true/false): True when the dates reached further back than the dashboard publishes and were trimmed to it
- `dashboard_url` (text): The status dashboard page a person can open
- `days_since_last_incident` (number): Days since it began, or -1 when there were none
- `disruption_count` (number): How many were disruptions
- `from_date` (text): The first moment actually searched, after any trimming, in UTC
- `incident_count` (number): How many incidents fell in the period
- `incidents` (list): The incidents themselves, newest first
- `information_count` (number): How many were notices that did not affect the service
- `is_available` (true/false): True unless something is currently disrupting it
- `last_incident_at` (text): When the most recent incident began, in UTC
- `last_incident_summary` (text): That incident's one line headline
- `longest_incident_id` (text): That incident's id
- `longest_incident_minutes` (number): How long the longest one lasted, in minutes
- `longest_incident_summary` (text): That incident's one line headline
- `outage_count` (number): How many of those were outages
- `published_from` (text): The oldest incident the dashboard is currently showing, in UTC
- `published_to` (text): The most recent thing Google has posted, in UTC
- `requested_from_date` (text): The first moment that was asked for, in UTC
- `requested_to_date` (text): The last moment that was asked for, in UTC
- `service` (text): The service's name, as the dashboard spells it
- `service_id` (text): Google's stable id for the service
- `status` (text): Its status right now: available, information, disruption or outage
- `status_label` (text): The same thing written for a person to read
- `summary` (text): The whole report in one sentence, ready to post
- `to_date` (text): The last moment actually searched, in UTC
- `total_disruption` (text): The same total written out, such as 5h 42m
- `total_disruption_minutes` (number): Minutes of outage and disruption added up, notices excluded
- `window_days` (number): How many days the period covers

**Example output**

```json
{
  "active_incident_count": 0,
  "checked_at": "2026-03-11T12:00:00Z",
  "clamped_to_published_window": true,
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "days_since_last_incident": 5,
  "disruption_count": 1,
  "from_date": "2026-02-20T08:00:00Z",
  "incident_count": 1,
  "incidents": [
    {
      "began_at": "2026-03-05T14:00:00Z",
      "description": "**Summary:**\nSome Google Meet users were unable to join scheduled meetings.\n**Description:**\nThe issue has been resolved for all affected users.",
      "duration_minutes": 192,
      "ended_at": "2026-03-05T17:12:00Z",
      "id": "9hPzRt4xVnGdWsQa7mLf",
      "impact": "disruption",
      "impact_label": "Disruption",
      "is_active": false,
      "latest_update_at": "2026-03-05T17:20:00Z",
      "latest_update_status": "available",
      "latest_update_text": "The problem has been resolved for all affected users.",
      "raw_impact": "SERVICE_DISRUPTION",
      "service_names": [
        "Google Meet"
      ],
      "services": [
        {
          "id": "sUH4BQXzYXma7NiS94Hi",
          "name": "Google Meet"
        }
      ],
      "severity": "medium",
      "severity_label": "Medium",
      "summary": "Some Google Meet users were unable to join scheduled meetings.",
      "update_count": 2,
      "updated_at": "2026-03-05T17:20:00Z",
      "url": "https://www.google.com/appsstatus/dashboard/incidents/9hPzRt4xVnGdWsQa7mLf"
    }
  ],
  "information_count": 0,
  "is_available": true,
  "last_incident_at": "2026-03-05T14:00:00Z",
  "last_incident_summary": "Some Google Meet users were unable to join scheduled meetings.",
  "longest_incident_id": "9hPzRt4xVnGdWsQa7mLf",
  "longest_incident_minutes": 192,
  "longest_incident_summary": "Some Google Meet users were unable to join scheduled meetings.",
  "outage_count": 0,
  "published_from": "2026-02-20T08:00:00Z",
  "published_to": "2026-03-11T11:40:00Z",
  "requested_from_date": "2025-12-11T12:00:00Z",
  "requested_to_date": "2026-03-11T12:00:00Z",
  "service": "Google Meet",
  "service_id": "sUH4BQXzYXma7NiS94Hi",
  "status": "available",
  "status_label": "Available",
  "summary": "Google Meet had 1 incident in the 19 days to 2026-03-11. 1 of them affected the service, totalling 3h 12m.",
  "to_date": "2026-03-11T12:00:00Z",
  "total_disruption": "3h 12m",
  "total_disruption_minutes": 192,
  "window_days": 19
}
```

### Get an incident with its updates

Get one incident in full, including every update Google posted as it went, oldest first. Use it after a search or an alert to write up what happened, or to see how the story changed. The dashboard keeps only roughly the last year, so an incident older than that is reported as gone rather than as never having happened.

**Inputs**

- Incident (`incident_id`, text, required): The incident's id, which every other action here returns as 'id'. Usually filled in from an earlier step rather than typed.

**Outputs**

- `began_at` (text): When the incident started, in UTC
- `checked_at` (text): When this was read from the dashboard, in UTC
- `dashboard_url` (text): The status dashboard page a person can open
- `description` (text): Google's full write up, including its description and symptoms
- `duration` (text): How long it lasted, written out, such as 3h 12m
- `duration_minutes` (number): How long it lasted, or has been running so far, in minutes
- `ended_at` (text): When it was resolved, in UTC. Empty while it is still running
- `id` (text): Google's stable id for the incident. Hand it to 'Get an incident with its updates'.
- `impact` (text): How bad it was: information, disruption or outage
- `impact_label` (text): The same thing written for a person to read, such as Outage
- `is_active` (true/false): True while the incident is still running
- `latest_update_at` (text): When the most recent update was posted, in UTC
- `latest_update_status` (text): The service status as of that update
- `latest_update_text` (text): What that update said
- `raw_impact` (text): Google's own constant for it, such as SERVICE_OUTAGE
- `service_count` (number): How many services the incident affected
- `service_names` (list): Just the names of those services, ready for a message
- `services` (list): The Google Workspace services the incident affected
- `severity` (text): Google's severity for it: low, medium or high
- `severity_label` (text): The same thing capitalised
- `summary` (text): Google's own one line headline for the incident
- `update_count` (number): How many updates Google posted about it
- `updated_at` (text): When Google last posted about it, in UTC
- `updates` (list): Every update Google posted, oldest first
- `url` (text): The incident's page on the status dashboard

**Example output**

```json
{
  "began_at": "2026-03-05T14:00:00Z",
  "checked_at": "2026-03-11T12:00:00Z",
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "description": "**Summary:**\nSome Google Meet users were unable to join scheduled meetings.\n**Description:**\nThe issue has been resolved for all affected users.",
  "duration": "3h 12m",
  "duration_minutes": 192,
  "ended_at": "2026-03-05T17:12:00Z",
  "id": "9hPzRt4xVnGdWsQa7mLf",
  "impact": "disruption",
  "impact_label": "Disruption",
  "is_active": false,
  "latest_update_at": "2026-03-05T17:20:00Z",
  "latest_update_status": "available",
  "latest_update_text": "The problem has been resolved for all affected users.",
  "raw_impact": "SERVICE_DISRUPTION",
  "service_count": 1,
  "service_names": [
    "Google Meet"
  ],
  "services": [
    {
      "id": "sUH4BQXzYXma7NiS94Hi",
      "name": "Google Meet"
    }
  ],
  "severity": "medium",
  "severity_label": "Medium",
  "summary": "Some Google Meet users were unable to join scheduled meetings.",
  "update_count": 2,
  "updated_at": "2026-03-05T17:20:00Z",
  "updates": [
    {
      "is_resolution": false,
      "posted_at": "2026-03-05T14:18:00Z",
      "status": "disruption",
      "status_label": "Disruption",
      "text": "We are investigating reports of join failures."
    },
    {
      "is_resolution": true,
      "posted_at": "2026-03-05T17:20:00Z",
      "status": "available",
      "status_label": "Available",
      "text": "The problem has been resolved for all affected users."
    }
  ],
  "url": "https://www.google.com/appsstatus/dashboard/incidents/9hPzRt4xVnGdWsQa7mLf"
}
```

### Get the overall Google Workspace status

Answer 'is Google Workspace working' in one step, as one sentence a workflow can post straight to chat. It comes back with a plain yes or no, the worst status across every service, and the names of any services currently affected. Use it for a morning status post, or to hold a workflow back while Google is having a bad day.

**Inputs**: None.

**Outputs**

- `active_incident_count` (number): How many incidents are open right now
- `affected_service_count` (number): How many services those incidents are disrupting
- `affected_services` (list): Which services they are, and how badly
- `all_available` (true/false): True when nothing is currently disrupting any service
- `checked_at` (text): When this was read from the dashboard, in UTC
- `dashboard_url` (text): The status dashboard page a person can open
- `published_from` (text): The oldest incident the dashboard is currently showing, in UTC
- `published_to` (text): The most recent thing Google has posted, in UTC
- `service_count` (number): How many services the dashboard covers in all
- `status` (text): The worst status across every service right now
- `status_label` (text): The same thing written for a person to read
- `summary` (text): The whole answer in one sentence, ready to post

**Example output**

```json
{
  "active_incident_count": 1,
  "affected_service_count": 2,
  "affected_services": [
    {
      "id": "prPt2Yra2CbGsbEm9cpC",
      "name": "Gmail",
      "status": "outage",
      "status_label": "Outage"
    },
    {
      "id": "VHNA7p3Z5p3iakj5sA8V",
      "name": "Google Drive",
      "status": "outage",
      "status_label": "Outage"
    }
  ],
  "all_available": false,
  "checked_at": "2026-03-11T12:00:00Z",
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "published_from": "2026-02-20T08:00:00Z",
  "published_to": "2026-03-11T11:40:00Z",
  "service_count": 5,
  "status": "outage",
  "status_label": "Outage",
  "summary": "2 Google Workspace services are affected: Gmail and Google Drive."
}
```

### List incidents happening now

List only what is going wrong right now, worst first, with the services each incident affects and the latest thing Google said about it. This is the one an alerting workflow runs on a schedule: narrow it to the services your team depends on, and to outages only if a notice is not worth waking anyone for. It says so plainly when there is nothing to report.

**Inputs**

- Only these services (`services`, list): Narrow the answer to the services you care about. Leave it empty for all of them. One incident often names several services at once, and it is included when it names any of these.
- How bad it has to be (`minimum_impact`, text): Google posts notices as well as real problems, and a notice usually means the service is working. Leave this unset for everything, or raise the bar so only the ones that actually affect people come back. One of: `information` (Anything Google has posted), `disruption` (Only disruptions and outages), `outage` (Only outages).
- How many to return (`limit`, number): How many incidents to return, newest first. Defaults to 25. The dashboard usually holds around fifty in all. From 1 to 100. Default: `25`.

**Outputs**

- `affected_service_count` (number): How many services they affect between them
- `affected_service_names` (list): Which services those are
- `all_clear` (true/false): True when nothing matched, which is the good news case
- `checked_at` (text): When this was read from the dashboard, in UTC
- `count` (number): How many are in this result
- `dashboard_url` (text): The status dashboard page a person can open
- `incidents` (list): The open incidents, worst first
- `matched_count` (number): How many matched before the limit was applied
- `most_severe_status` (text): The worst impact among them
- `most_severe_status_label` (text): The same thing written for a person to read
- `summary` (text): The answer in one sentence, ready to post

**Example output**

```json
{
  "affected_service_count": 2,
  "affected_service_names": [
    "Gmail",
    "Google Drive"
  ],
  "all_clear": false,
  "checked_at": "2026-03-11T12:00:00Z",
  "count": 1,
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "incidents": [
    {
      "began_at": "2026-03-11T09:15:00Z",
      "description": "**Summary:**\nCustomers may experience delays sending and receiving email.\n**Description:**\nWe are investigating reports of delayed delivery affecting a subset of Gmail and Google Drive users.\n**Symptoms:**\nMessages take longer than usual to arrive.",
      "duration_minutes": 165,
      "ended_at": "",
      "id": "5tQmCw8yLpNhKdRb3vAe",
      "impact": "outage",
      "impact_label": "Outage",
      "is_active": true,
      "latest_update_at": "2026-03-11T11:40:00Z",
      "latest_update_status": "outage",
      "latest_update_text": "Our engineers have identified the cause and are working on a fix.",
      "raw_impact": "SERVICE_OUTAGE",
      "service_names": [
        "Gmail",
        "Google Drive"
      ],
      "services": [
        {
          "id": "prPt2Yra2CbGsbEm9cpC",
          "name": "Gmail"
        },
        {
          "id": "VHNA7p3Z5p3iakj5sA8V",
          "name": "Google Drive"
        }
      ],
      "severity": "high",
      "severity_label": "High",
      "summary": "Customers may experience delays sending and receiving email.",
      "update_count": 2,
      "updated_at": "2026-03-11T11:40:00Z",
      "url": "https://www.google.com/appsstatus/dashboard/incidents/5tQmCw8yLpNhKdRb3vAe"
    }
  ],
  "matched_count": 1,
  "most_severe_status": "outage",
  "most_severe_status_label": "Outage",
  "summary": "1 open incident affecting Gmail and Google Drive."
}
```

### List new and updated incidents

List everything Google has posted since a moment you give it, so a workflow running every few minutes can alert on what is new instead of re-reporting the same incident. Each one says whether the incident itself is new or was already running, and carries only the updates posted since. This is not the same question as searching past incidents: that asks when an incident was happening, this asks when Google last wrote about it.

**Inputs**

- Since (`since`, date and time, required): The moment to look for activity after. Times are UTC, which is what the dashboard publishes. A scheduled workflow usually passes the time it last ran.
- Only these services (`services`, list): Narrow the answer to the services you care about. Leave it empty for all of them. One incident often names several services at once, and it is included when it names any of these.
- How many to return (`limit`, number): How many incidents to return, newest first. Defaults to 25. The dashboard usually holds around fifty in all. From 1 to 100. Default: `25`.

**Outputs**

- `checked_at` (text): When this was read from the dashboard, in UTC
- `count` (number): How many are in this result
- `dashboard_url` (text): The status dashboard page a person can open
- `has_activity` (true/false): False when Google has posted nothing since that moment
- `incidents` (list): The incidents with activity, most recently updated first
- `matched_count` (number): How many matched before the limit was applied
- `new_count` (number): How many of them started after that moment
- `published_from` (text): The oldest incident the dashboard is currently showing, in UTC
- `published_to` (text): The most recent thing Google has posted, in UTC
- `service_filter` (list): The services that were asked for, empty when all were
- `since` (text): The moment that was asked about, in UTC
- `since_reaches_past_published_window` (true/false): True when that moment is older than the dashboard's own window, so anything older cannot be seen
- `summary` (text): The answer in one sentence, ready to post
- `updated_count` (number): How many were already running and have been updated since

**Example output**

```json
{
  "checked_at": "2026-03-11T12:00:00Z",
  "count": 2,
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "has_activity": true,
  "incidents": [
    {
      "began_at": "2026-03-11T09:15:00Z",
      "description": "**Summary:**\nCustomers may experience delays sending and receiving email.\n**Description:**\nWe are investigating reports of delayed delivery affecting a subset of Gmail and Google Drive users.\n**Symptoms:**\nMessages take longer than usual to arrive.",
      "duration_minutes": 165,
      "ended_at": "",
      "id": "5tQmCw8yLpNhKdRb3vAe",
      "impact": "outage",
      "impact_label": "Outage",
      "is_active": true,
      "is_new": true,
      "latest_update_at": "2026-03-11T11:40:00Z",
      "latest_update_status": "outage",
      "latest_update_text": "Our engineers have identified the cause and are working on a fix.",
      "raw_impact": "SERVICE_OUTAGE",
      "service_names": [
        "Gmail",
        "Google Drive"
      ],
      "services": [
        {
          "id": "prPt2Yra2CbGsbEm9cpC",
          "name": "Gmail"
        },
        {
          "id": "VHNA7p3Z5p3iakj5sA8V",
          "name": "Google Drive"
        }
      ],
      "severity": "high",
      "severity_label": "High",
      "summary": "Customers may experience delays sending and receiving email.",
      "update_count": 2,
      "updated_at": "2026-03-11T11:40:00Z",
      "updates_since": [
        {
          "is_resolution": false,
          "posted_at": "2026-03-11T09:32:00Z",
          "status": "outage",
          "status_label": "Outage",
          "text": "We are aware of a problem and are investigating."
        },
        {
          "is_resolution": false,
          "posted_at": "2026-03-11T11:40:00Z",
          "status": "outage",
          "status_label": "Outage",
          "text": "Our engineers have identified the cause and are working on a fix."
        }
      ],
      "updates_since_count": 2,
      "url": "https://www.google.com/appsstatus/dashboard/incidents/5tQmCw8yLpNhKdRb3vAe"
    },
    {
      "began_at": "2026-03-05T14:00:00Z",
      "description": "**Summary:**\nSome Google Meet users were unable to join scheduled meetings.\n**Description:**\nThe issue has been resolved for all affected users.",
      "duration_minutes": 192,
      "ended_at": "2026-03-05T17:12:00Z",
      "id": "9hPzRt4xVnGdWsQa7mLf",
      "impact": "disruption",
      "impact_label": "Disruption",
      "is_active": false,
      "is_new": true,
      "latest_update_at": "2026-03-05T17:20:00Z",
      "latest_update_status": "available",
      "latest_update_text": "The problem has been resolved for all affected users.",
      "raw_impact": "SERVICE_DISRUPTION",
      "service_names": [
        "Google Meet"
      ],
      "services": [
        {
          "id": "sUH4BQXzYXma7NiS94Hi",
          "name": "Google Meet"
        }
      ],
      "severity": "medium",
      "severity_label": "Medium",
      "summary": "Some Google Meet users were unable to join scheduled meetings.",
      "update_count": 2,
      "updated_at": "2026-03-05T17:20:00Z",
      "updates_since": [
        {
          "is_resolution": false,
          "posted_at": "2026-03-05T14:18:00Z",
          "status": "disruption",
          "status_label": "Disruption",
          "text": "We are investigating reports of join failures."
        },
        {
          "is_resolution": true,
          "posted_at": "2026-03-05T17:20:00Z",
          "status": "available",
          "status_label": "Available",
          "text": "The problem has been resolved for all affected users."
        }
      ],
      "updates_since_count": 2,
      "url": "https://www.google.com/appsstatus/dashboard/incidents/9hPzRt4xVnGdWsQa7mLf"
    }
  ],
  "matched_count": 2,
  "new_count": 2,
  "published_from": "2026-02-20T08:00:00Z",
  "published_to": "2026-03-11T11:40:00Z",
  "service_filter": [],
  "since": "2026-03-05T00:00:00Z",
  "since_reaches_past_published_window": false,
  "summary": "2 incidents with activity: 2 new and 0 updated.",
  "updated_count": 0
}
```

### List services and their status

List every Google Workspace service the dashboard covers, each with its status right now, how many open incidents name it and when it last had one. Narrow it to the statuses you care about to get just the services in trouble. It is also the one step way to see what this integration can be asked about, and to check the connection works.

**Inputs**

- Only these statuses (`status`, list): Leave it empty for every service. Choose Disruption and Outage to get only the ones currently in trouble. One or more of: `available`, `information` (Information (a notice, but working)), `disruption` (Disruption (working, but badly)), `outage` (Outage (down)).

**Outputs**

- `affected_count` (number): How many of these are currently disrupted
- `all_available` (true/false): True when nothing is disrupting any service at all
- `available_count` (number): How many of these have nothing disrupting them
- `checked_at` (text): When this was read from the dashboard, in UTC
- `count` (number): How many are in this result
- `published_from` (text): The oldest incident the dashboard is currently showing, in UTC
- `published_to` (text): The most recent thing Google has posted, in UTC
- `services` (list): The services that matched, in alphabetical order
- `status_filter` (list): The statuses that were asked for, empty when all were
- `total_count` (number): How many services the dashboard covers in all

**Example output**

```json
{
  "affected_count": 2,
  "all_available": false,
  "available_count": 3,
  "checked_at": "2026-03-11T12:00:00Z",
  "count": 5,
  "published_from": "2026-02-20T08:00:00Z",
  "published_to": "2026-03-11T11:40:00Z",
  "services": [
    {
      "active_incident_count": 0,
      "id": "xrkLpNMHAvPQczcU2uSb",
      "incident_count": 0,
      "is_available": true,
      "last_incident_at": "",
      "last_incident_summary": "",
      "name": "Admin Console",
      "status": "available",
      "status_label": "Available"
    },
    {
      "active_incident_count": 1,
      "id": "prPt2Yra2CbGsbEm9cpC",
      "incident_count": 1,
      "is_available": false,
      "last_incident_at": "2026-03-11T09:15:00Z",
      "last_incident_summary": "Customers may experience delays sending and receiving email.",
      "name": "Gmail",
      "status": "outage",
      "status_label": "Outage"
    },
    {
      "active_incident_count": 0,
      "id": "Ht9Vx5PFzDPHYvrnrvSk",
      "incident_count": 1,
      "is_available": true,
      "last_incident_at": "2026-02-20T08:00:00Z",
      "last_incident_summary": "Google Chat message notifications were delayed for some users.",
      "name": "Google Chat",
      "status": "available",
      "status_label": "Available"
    },
    {
      "active_incident_count": 1,
      "id": "VHNA7p3Z5p3iakj5sA8V",
      "incident_count": 1,
      "is_available": false,
      "last_incident_at": "2026-03-11T09:15:00Z",
      "last_incident_summary": "Customers may experience delays sending and receiving email.",
      "name": "Google Drive",
      "status": "outage",
      "status_label": "Outage"
    },
    {
      "active_incident_count": 0,
      "id": "sUH4BQXzYXma7NiS94Hi",
      "incident_count": 1,
      "is_available": true,
      "last_incident_at": "2026-03-05T14:00:00Z",
      "last_incident_summary": "Some Google Meet users were unable to join scheduled meetings.",
      "name": "Google Meet",
      "status": "available",
      "status_label": "Available"
    }
  ],
  "status_filter": [],
  "total_count": 5
}
```

### Search past incidents

Search the incidents Google is still publishing, narrowed however the question needs: by service, by dates, by how bad it was, by whether it is resolved, or by words in what Google wrote. An incident counts as in the dates if it was running at any point in them. The dashboard keeps only roughly the last year, so a search reaching further back is trimmed to what exists and the result says it was, rather than coming back quietly short.

**Inputs**

- Only these services (`services`, list): Narrow the answer to the services you care about. Leave it empty for all of them. One incident often names several services at once, and it is included when it names any of these.
- From date (`start_date`, date): The first day to look at, counted in. Leave it empty to go back as far as the dashboard publishes.
- To date (`end_date`, date): The last day to look at, counted in whole. Leave it empty for today. It must be on or after the from date.
- How bad it was (`impact`, list): Leave it empty for everything Google posted. Choose Outage and Disruption to leave out the notices that did not stop anyone working. One or more of: `outage` (Outage (the service was down)), `disruption` (Disruption (the service worked, but badly)), `information` (Information (a notice, the service kept working)).
- Severity (`severity`, list): Google's own severity rating, which is published separately from the impact. Leave it empty for all three. One or more of: `high`, `medium`, `low`.
- Resolved or not (`state`, text): Both by default. Choose one to see only what is still running, or only what is over. One of: `any` (Both), `active` (Still happening), `resolved`.
- Text contains (`search`, text): Only incidents whose summary, full description or service names contain this text. Case and punctuation are ignored. Leave it empty for all of them.
- How many to return (`limit`, number): How many incidents to return, newest first. Defaults to 25. The dashboard usually holds around fifty in all. From 1 to 100. Default: `25`.

**Outputs**

- `active_count` (number): How many of the matches are still running
- `checked_at` (text): When this was read from the dashboard, in UTC
- `clamped_to_published_window` (true/false): True when the dates reached further back than the dashboard publishes and were trimmed to it
- `count` (number): How many are in this result
- `dashboard_url` (text): The status dashboard page a person can open
- `from_date` (text): The first moment actually searched, after any trimming, in UTC
- `incidents` (list): The incidents that matched, newest first
- `matched_count` (number): How many matched before the limit was applied
- `published_from` (text): The oldest incident the dashboard is currently showing, in UTC
- `published_to` (text): The most recent thing Google has posted, in UTC
- `requested_from_date` (text): The first moment that was asked for, in UTC
- `requested_to_date` (text): The last moment that was asked for, in UTC
- `service_filter` (list): The services that were asked for, empty when all were
- `summary` (text): The answer in one sentence, ready to post
- `to_date` (text): The last moment actually searched, in UTC
- `total_count` (number): How many incidents the dashboard publishes in all

**Example output**

```json
{
  "active_count": 1,
  "checked_at": "2026-03-11T12:00:00Z",
  "clamped_to_published_window": true,
  "count": 2,
  "dashboard_url": "https://www.google.com/appsstatus/dashboard/",
  "from_date": "2026-02-20T08:00:00Z",
  "incidents": [
    {
      "began_at": "2026-03-11T09:15:00Z",
      "description": "**Summary:**\nCustomers may experience delays sending and receiving email.\n**Description:**\nWe are investigating reports of delayed delivery affecting a subset of Gmail and Google Drive users.\n**Symptoms:**\nMessages take longer than usual to arrive.",
      "duration_minutes": 165,
      "ended_at": "",
      "id": "5tQmCw8yLpNhKdRb3vAe",
      "impact": "outage",
      "impact_label": "Outage",
      "is_active": true,
      "latest_update_at": "2026-03-11T11:40:00Z",
      "latest_update_status": "outage",
      "latest_update_text": "Our engineers have identified the cause and are working on a fix.",
      "raw_impact": "SERVICE_OUTAGE",
      "service_names": [
        "Gmail",
        "Google Drive"
      ],
      "services": [
        {
          "id": "prPt2Yra2CbGsbEm9cpC",
          "name": "Gmail"
        },
        {
          "id": "VHNA7p3Z5p3iakj5sA8V",
          "name": "Google Drive"
        }
      ],
      "severity": "high",
      "severity_label": "High",
      "summary": "Customers may experience delays sending and receiving email.",
      "update_count": 2,
      "updated_at": "2026-03-11T11:40:00Z",
      "url": "https://www.google.com/appsstatus/dashboard/incidents/5tQmCw8yLpNhKdRb3vAe"
    },
    {
      "began_at": "2026-03-05T14:00:00Z",
      "description": "**Summary:**\nSome Google Meet users were unable to join scheduled meetings.\n**Description:**\nThe issue has been resolved for all affected users.",
      "duration_minutes": 192,
      "ended_at": "2026-03-05T17:12:00Z",
      "id": "9hPzRt4xVnGdWsQa7mLf",
      "impact": "disruption",
      "impact_label": "Disruption",
      "is_active": false,
      "latest_update_at": "2026-03-05T17:20:00Z",
      "latest_update_status": "available",
      "latest_update_text": "The problem has been resolved for all affected users.",
      "raw_impact": "SERVICE_DISRUPTION",
      "service_names": [
        "Google Meet"
      ],
      "services": [
        {
          "id": "sUH4BQXzYXma7NiS94Hi",
          "name": "Google Meet"
        }
      ],
      "severity": "medium",
      "severity_label": "Medium",
      "summary": "Some Google Meet users were unable to join scheduled meetings.",
      "update_count": 2,
      "updated_at": "2026-03-05T17:20:00Z",
      "url": "https://www.google.com/appsstatus/dashboard/incidents/9hPzRt4xVnGdWsQa7mLf"
    }
  ],
  "matched_count": 3,
  "published_from": "2026-02-20T08:00:00Z",
  "published_to": "2026-03-11T11:40:00Z",
  "requested_from_date": "2026-02-01T00:00:00Z",
  "requested_to_date": "2026-03-11T12:00:00Z",
  "service_filter": [],
  "summary": "3 Google Workspace incidents between 2026-02-20 and 2026-03-11.",
  "to_date": "2026-03-11T12:00:00Z",
  "total_count": 3
}
```
