> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Google Cloud Observability Webhook Setup Guide

> Configure Google Cloud Observability to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](/connectors/googlecloudobservability#getting-started) on the Google Cloud Observability connector page.

<section data-guide-section data-guide-scopes="">
  <h2>How Google Cloud Observability webhooks work</h2>

  <p>StackOne creates and manages the webhook automatically when the account is connected — it creates a webhook notification channel named <strong>StackOne</strong> in the connected Google Cloud project, and deletes it when events are disabled or the account is disconnected. Cloud Monitoring sends an incident to the channel only for alerting policies that list it, so you choose which policies StackOne receives.</p>

  <Steps>
    <Step title="Grant the channel permissions">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Creating and deleting the channel uses the connected account's OAuth token, so the account needs the Cloud Monitoring write scope and permission to manage notification channels in the project.</p>

        <ul>
          <li><strong>Scope</strong> — `https://www.googleapis.com/auth/monitoring` (included in the default scopes) or `https://www.googleapis.com/auth/cloud-platform`.</li>
          <li><strong>IAM role</strong> — Monitoring Editor (`roles/monitoring.editor`) or Monitoring NotificationChannel Editor (`roles/monitoring.notificationChannelEditor`) on the project.</li>
        </ul>
      </div>
    </Step>

    <Step title="Open the notification channels">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the <a href="https://console.cloud.google.com/monitoring/alerting" target="_blank" rel="noopener noreferrer">Google Cloud console</a>, select the connected project, open the <strong>Alerting</strong> page, and click <strong>Edit notification channels</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-edit-notification-channels.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=fe40073d1e1ab6cd19a228c66d846e96" alt="Alerting page in the Google Cloud console with the Edit notification channels button highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-edit-notification-channels.png" />
      </div>
    </Step>

    <Step title="Check the StackOne channel">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After you enable events, the <strong>StackOne</strong> channel appears in the <strong>Webhooks</strong> section. Leave it unchanged — StackOne manages it, and deleting it stops all deliveries.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-stackone-channel.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=d09360b15c0ca2f689f51e7a32e6e984" alt="Notification channels page with the StackOne row highlighted in the Webhooks section and its Endpoint value hidden." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-stackone-channel.png" />
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Add the StackOne channel to your alerting policies</h2>

  <p>Repeat these steps for each alerting policy whose incidents StackOne should receive. A new policy created with `create_alert_policy` can instead list the channel's resource name (shown by `list_notification_channels`) in `notificationChannels`.</p>

  <Steps>
    <Step title="Open the policy list">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On the <strong>Alerting</strong> page, click <strong>See all policies</strong> in the <strong>Policies</strong> pane.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-see-all-policies.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=abe81519dbc0f823771a880fd3c5a120" alt="Alerting page with the See all policies link highlighted below the Policies table." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-see-all-policies.png" />
      </div>
    </Step>

    <Step title="Open the policy actions">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>On the <strong>Policies</strong> page, click <strong>View actions</strong> (the three-dot menu) at the end of the policy's row.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-policy-actions.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=19950ba3b7b7b3b72801c9c7b4099bd9" alt="Policies page with the View actions three-dot button highlighted at the end of a policy row." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-policy-actions.png" />
      </div>
    </Step>

    <Step title="Edit the policy">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Select <strong>Edit</strong> from the menu.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-policy-edit.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=5672f58a22914d0e495d50d32588731b" alt="Policy actions menu open with the Edit item highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-policy-edit.png" />
      </div>
    </Step>

    <Step title="Open Notifications and name">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>In the <strong>Edit alerting policy</strong> page, click <strong>Notifications and name</strong> under <strong>ALERT DETAILS</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-notifications-and-name.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=a1c09cbd978852cb46a53f0613c98522" alt="Edit alerting policy page with the Notifications and name step highlighted in the left-hand list." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-notifications-and-name.png" />
      </div>
    </Step>

    <Step title="Turn on notification channels">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Under <strong>Configure notifications and finalize alert</strong>, turn on <strong>Use notification channel</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-use-notification-channel.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=2b7d3371d7b3a0729b101c64f9087ed1" alt="Configure notifications section with the Use notification channel switch highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-use-notification-channel.png" />
      </div>
    </Step>

    <Step title="Select the StackOne channel">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Open <strong>Notification Channels</strong>, select <strong>StackOne</strong> under <strong>Webhook with Token Authentication</strong>, and click <strong>OK</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-select-stackone-channel.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=88de479b1fcdd630e7ab44d62b5195c5" alt="Notification Channels dialog with the StackOne option selected and the OK button highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-select-stackone-channel.png" />
      </div>
    </Step>

    <Step title="Notify on alert closure">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Keep <strong>Notify on alert closure</strong> selected so StackOne also receives <strong>Incident Closed</strong> events.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-notify-on-closure.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=b90adbe4eea209a62d9abb9e173b8714" alt="Notification settings with StackOne shown in Notification Channels and the Notify on alert closure checkbox highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-notify-on-closure.png" />
      </div>
    </Step>

    <Step title="Save the policy">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Save Policy</strong>.</p>

        <img src="https://mintcdn.com/stackone-60/_JfUXOJgIx3b4Upw/connectors/googlecloudobservability/images/events-save-policy.png?fit=max&auto=format&n=_JfUXOJgIx3b4Upw&q=85&s=3f19bb3645af552f0a4d866dc6f04074" alt="Bottom of the Edit alerting policy page with the Save Policy button highlighted." width="1440" height="900" data-path="connectors/googlecloudobservability/images/events-save-policy.png" />
      </div>
    </Step>

    <Step title="Turn on reminders (optional)">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p><strong>Incident Renotify</strong> events are sent only when a policy sets a renotify interval for the StackOne channel — `alertStrategy.notificationChannelStrategy` with the channel's resource name and a `renotifyInterval` between 30 minutes and 24 hours. Set it on the policy with the <a href="https://docs.cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.alertPolicies/patch" target="_blank" rel="noopener noreferrer">Cloud Monitoring API</a>, the gcloud CLI, or Terraform.</p>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Available webhook events</h2>

  <p>The following Google Cloud Observability events can be enabled. Only events selected in StackOne are delivered, and only for alerting policies that list the <strong>StackOne</strong> notification channel.</p>

  <Steps>
    <Step title="Incident events">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Events fired when an alerting policy opens or closes an incident, plus the reminders Cloud Monitoring re-sends while an incident stays open. The incident id is the event ID for all of them.</p>

        <ul>
          <li><strong>Incident Opened</strong> (`incident.opened`) — Fired when an alerting policy's condition is met and an incident opens (`state` is `open`). Log-based policies send only this event.</li>
          <li><strong>Incident Closed</strong> (`incident.closed`) — Fired when the incident closes because the condition is no longer met, the autoclose duration elapsed, or a user closed it (`state` is `closed`). Requires <strong>Notify on alert closure</strong> on the policy.</li>
          <li><strong>Incident Renotify</strong> (`incident.renotify`) — Fired when Cloud Monitoring re-sends a reminder for an incident that is still open (`renotify` is `true`). Requires a renotify interval on the policy.</li>
        </ul>
      </div>
    </Step>

    <Step title="Other notifications">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>A catch-all so no delivery is lost.</p>

        <ul>
          <li><strong>Other Notification</strong> (`notification.other`) — Fired for an incident notification whose state is neither open nor closed.</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

<section data-guide-section data-guide-scopes="">
  <h2>Delivery format</h2>

  <p>Details of how Cloud Monitoring delivers events to StackOne.</p>

  <Steps>
    <Step title="JSON payloads">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Each delivery is an HTTP POST with one incident in Cloud Monitoring's webhook schema version 1.2 (`{"version": "1.2", "incident": {...}}`). `incident.incident_id` is the event ID and is shared by the opened, renotify and closed notifications of one incident; `started_at` and `ended_at` are epoch seconds. Generated text such as `summary` and `documentation.content` can change format without notice, so don't parse it.</p>
      </div>
    </Step>

    <Step title="No signature">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Cloud Monitoring does not sign webhook deliveries. The account-specific callback URL StackOne registers on the channel identifies the connected account.</p>
      </div>
    </Step>
  </Steps>
</section>

## Verify

Your Connector should now be able to receive and process events. Try triggering an event and you should see an Event appear in the Connector logs.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.