> ## 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.

# Twingate Webhook Setup Guide

> Configure Twingate to deliver events to StackOne.

## Prerequisites

The connector should already be set up, with a Connector Profile and a Linked Account. See [Getting Started](https://docs.stackone.com/connectors/twingate.md#getting-started) on the Twingate connector page.

## Sending Twingate notifications to StackOne

Twingate sends admin notifications, such as access requests and Connector status changes, to any webhook you add in the Admin Console. Add the StackOne Native Webhook URL as a webhook and select the notifications to send.

**1. Retrieve StackOne Native Webhook URL**

The **Native Webhook URL** is generated once an account has been linked.

<ul>
  <li>Open the Linked Account in StackOne.</li>
  <li>Copy the value from **Native Webhook URL**.</li>
  <li>The URL contains an access token, so keep it private and paste it only into Twingate.</li>
</ul>

**2. Sign in to Twingate**

Sign in to your Twingate Admin Console at `https://{network}.twingate.com` as an Admin.

<ul>
  <li>Click **Settings** in the top navigation.</li>
</ul>

![The Twingate Admin Console with the Settings tab highlighted in the top navigation](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-settings-tab.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=2bca76a537e2777f320bc1c81d74d939)

**3. Open Notification Channels**

Click **Notification Channels** in the Settings menu on the left.

![The Settings menu with Notification Channels highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-notification-channels.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=80cd20de76b148e2ad940ab823c7aae9)

**4. Open the Webhooks tab**

On the **Notification Channels** page, click the **Webhooks** tab.

![The Notification Channels page with the Webhooks tab highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-webhooks-tab.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=7335da786952d7504ffb8f5651c8cd19)

**5. Start a new webhook**

Click **Configure Webhook**.

<ul>
  <li>When the network already has a webhook, the button is labeled **Add Webhook** instead.</li>
</ul>

![The empty Webhooks tab with the Configure Webhook button highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-configure-webhook.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=189f0689800a43ada3dd7d448e1daf10)

**6. Enter the webhook details**

The **Configure Webhook** dialog opens.

<ul>
  <li>Enter Name: `StackOne`</li>
  <li>Paste the Native Webhook URL into **Paste your Webhook URL**.</li>
</ul>

![The Configure Webhook dialog with the Enter Name and Paste your Webhook URL fields highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-webhook-details.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=9adec513a2cfe5b5ba26325c379ce6d3)

**7. Select the notifications**

Under **Enable Notification Triggers**, tick each notification you want StackOne to receive.

<ul>
  <li>Tick the same notifications you enable for this account in StackOne. Twingate sends only the ones ticked here.</li>
</ul>

![The Enable Notification Triggers list with the first notifications ticked and highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-notification-triggers.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=3b6eab5237048ea31cd7e0351efab2c4)

**8. Save the webhook**

Click **Configure Webhook** at the bottom of the dialog.

![The Configure Webhook dialog with the Configure Webhook button highlighted](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-save-webhook.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=b17326fd98987af573eb62fb1ca47f2d)

**9. Check the webhook is listed**

The **Webhooks** tab lists the **StackOne** webhook with the number of notifications enabled.

![The Webhooks tab listing the StackOne webhook with 15 notifications enabled](https://mintcdn.com/stackone-60/phTSONkQddhoTyuP/connectors/twingate/images/events-webhook-listed.png?fit=max\&auto=format\&n=phTSONkQddhoTyuP\&q=85\&s=f44a9fbf8e802f0ca400ab73dee1c6ec)

## Available webhook events

The following Twingate notifications can be enabled. Only events selected in StackOne are delivered, and Twingate sends only the notifications ticked on its webhook.

**1. Access and credential events**

Events about access requests and credentials that are about to expire.

<ul>
  <li>**Access request** (`ACCESS_REQUEST`) — Fired when an access request has been submitted or processed. Covers JIT access requests and usage-based auto-lock requests; `request_type` tells them apart</li>
  <li>**Service Account keys expiration** (`SERVICE_ACCOUNT_KEYS_EXPIRATION`) — Fired when service account keys are expiring soon</li>
  <li>**Device integration API token expiration** (`DEVICE_INTEGRATION_API_TOKEN_EXPIRATION`) — Fired when the API token for a device integration is expiring</li>
</ul>

**2. Connector and Client events**

Events about Connectors and the Twingate Client app.

<ul>
  <li>**Connectors offline** (`CONNECTOR_STATUS_OFFLINE`) — Fired when Connectors are offline</li>
  <li>**Connectors online** (`CONNECTOR_STATUS_ONLINE`) — Fired when Connectors are back online</li>
  <li>**Connector update** (`CONNECTOR_UPGRADE_AVAILABLE`) — Fired when Connector updates are needed</li>
  <li>**Client updates recommended** (`CLIENT_UPDATE_RECOMMENDED`) — Fired when Twingate Client updates are recommended for users' devices</li>
  <li>**Client updates required** (`CLIENT_UPDATE_REQUIRED`) — Fired when Twingate Client updates are needed for users' devices</li>
</ul>

**3. Integration and event sync events**

Events about identity provider and device integrations, and the sync of network events to external storage.

<ul>
  <li>**Integration errors** (`INTEGRATION_ERRORS`) — Fired when a configured integration is experiencing errors</li>
  <li>**Integration error resolved** (`INTEGRATION_ERROR_RESOLVED`) — Fired when the integration errors have been resolved</li>
  <li>**Identity provider integration error** (`IDENTITY_PROVIDER_INTEGRATION_ERROR`) — Fired when a configured identity provider integration is experiencing errors</li>
  <li>**Google Workspace sync error** (`GOOGLE_WORKSPACE_SYNC_ERROR`) — Fired when Google Workspace is experiencing errors</li>
  <li>**Event sync errors** (`EVENTS_SYNC_ERRORS`) — Fired when the configured event sync is retrying due to recent failures</li>
  <li>**Event sync errors resolved** (`EVENTS_SYNC_ERROR_RESOLVED`) — Fired when the event sync errors have been resolved</li>
  <li>**Events sync requires attention** (`EVENTS_SYNC_REQUIRES_ATTENTION`) — Fired when the configured event sync is not operational and requires attention</li>
</ul>

## Delivery format

Details of how Twingate delivers notifications to StackOne.

<ul>
  <li>Twingate sends one POST request with a JSON body per notification. The `type` field names the notification, and StackOne routes each request by it.</li>
  <li>Every payload carries `timestamp`, `tenant` (the network host), `version` and `type`.</li>
  <li>Connector, Client and service account key notifications carry a `table` array with one row per affected item, so a single notification can cover several Connectors or keys.</li>
  <li>Twingate does not sign webhook requests.</li>
</ul>

## 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.