# Webhooks

> For the complete documentation index, see [llms.txt](https://developers.thoughtspot.com/docs/llms.txt)

Source: https://developers.thoughtspot.com/docs/webhooks-overview

# Webhooks

ThoughtSpot webhooks provide a way to deliver data and reports to a target application, URL endpoint, or storage destination, triggered by events such as scheduled Liveboard jobs.

## Overview

ThoughtSpot allows using webhooks for the following purposes:

Liveboard schedule notifications

ThoughtSpot supports using webhooks to deliver scheduled Liveboard notifications to external applications and communication channels. For more information, see [Webhook configuration for Liveboard scheduled events]({{navprefix}}/{{webhooks-lb-schedule}}).

Webhook delivery to Cloud Storage destinations

ThoughtSpot supports delivering webhook payloads to the following cloud storage destinations:

-   **Amazon S3**: Available on AWS-hosted and GCP-hosted ThoughtSpot Cloud instances. For configuration steps, see [AWS S3 storage configuration for webhooks]({{navprefix}}/{{webhooks-s3-storage}}).
    
-   **Google Cloud Storage (GCS)**: Available on GCP-hosted ThoughtSpot Cloud instances. For more information, see [GCS storage configuration for webhooks]({{navprefix}}/{{webhooks-gcs-storage}}).
    

KPI monitor alerts

You can use a webhook to trigger KPI monitor alerts to an external application when a KPI metric meets a threshold condition or changes value. For more information, see [Webhooks for KPI monitor alerts]({{navprefix}}/{{webhooks-kpi-alerts}}).

## Webhook configuration and management

ThoughtSpot supports creating and managing webhooks through the UI or REST APIs.

> **NOTE:** To set up a webhook for Liveboard schedule notifications, you must first configure the webhook communication channel using the communication-channel preferences API. Only one webhook per Org is allowed for the Liveboard Schedule event type. To configure and manage webhooks, ADMINISTRATION (Can administer ThoughtSpot) or Can manage webhooks (CAN\_MANAGE\_WEBHOOKS) privilege is required.

### Webhooks UI

For managing webhooks via UI, use the following options in the **Develop** page of the ThoughtSpot UI:

-   **Webhooks** :  
    The new **Webhooks** option in the **Develop** page provides a centralized view of webhooks configured in ThoughtSpot, including the options to create, monitor, and manage webhooks, and view delivery statistics and logs in your ThoughtSpot Org.
    
    > **IMPORTANT:** The new Webhooks UI experience is in Beta and is disabled by default. To enable this feature, contact ThoughtSpot Support. In the current version, the new experience allows creating and managing webhooks for Liveboard Schedule events only.
    
    For more information, see [Webhook configuration and management through the UI]({{navprefix}}/{{webhooks-ux}}).
    
-   **Legacy Webhooks**: The **Legacy webhooks** page displays a list of webhooks created for KPI alerts and the menu actions to create, view, and edit the webhooks created for KPI alerts. These webhooks are managed through the UI and can be selected as custom channels to send KPI alerts when a KPI metric meets the threshold. For more information, see [Webhook configuration and management through the UI]({{navprefix}}/{{webhooks-ux}}#webhook-configuration-and-management-legacy-experience) and [Webhooks for KPI monitor alerts]({{navprefix}}/{{webhooks-kpi-alerts}}).
    

### Webhook REST APIs

The REST API framework is intended for automation and integration scenarios, for example, creating webhooks programmatically or delivering Liveboard report attachments to a cloud storage destination. For REST API reference and examples, see [Deliver Liveboard reports to an external application]({{navprefix}}/{{webhooks-lb-schedule}}) and [Webhook REST APIs]({{navprefix}}/{{webhooks-api}}).

## Webhook delivery behavior

When ThoughtSpot attempts to deliver a webhook event, the destination endpoint must respond with an HTTP 2xx status code within 5 seconds to confirm successful receipt.

If the endpoint takes longer than 5 seconds to respond, returns a non-2xx status code, or times out, ThoughtSpot records the delivery status as `FAILED` and retries the request.

To ensure a timely response, process webhook payloads asynchronously. Your server can return a 2xx response immediately on receipt and handle the payload in the background, without blocking subsequent webhook deliveries.

For information about retry behavior and delivery logs, see [Manage webhooks]({{navprefix}}/{{webhooks-ux}}).

## Webhook payload

For information about the payload structure delivered to a destination, see [Webhook payload for Liveboard events]({{navprefix}}/{{webhooks-payload}}).

## Next steps

-   [Configure webhook communication channels]({{navprefix}}/{{webhooks-comm-channel}})
    
-   [Configure a webhook for Liveboard scheduled events]({{navprefix}}/{{webhooks-lb-schedule}})
    
-   [Configure AWS S3 storage destination for webhook delivery]({{navprefix}}/{{webhooks-s3-storage}})
    
-   [Configure a GCS destination for webhook delivery]({{navprefix}}/{{webhooks-gcs-storage}})