---
schema_version: "1"
id: 4927e3a2747c9c454cba93b02407bdf756af88439189086bd27a874ef76491a5
title: Get Started with Tableau Webhooks
collection: tableau
version: current
locale: en-us
portal_url: https://docs.salesforce.com/tableau/current/en-us/developer/webhooks/docs/webhooks-get-started.md
canonical_url: https://help.tableau.com/current/developer/webhooks/en-us/docs/webhooks-get-started.html
source_site: help.tableau.com
content_type: documentation
content_hash: 51593d2f02722c390a654f8ed4fc602c49d798145af5869c3b25427b2420b1f1
description: Documentation for the Tableau Webhooks Docs
---
# Get Started with Tableau Webhooks

  

In this topic:

## Overview

Webhooks let you build custom applications or workflows that react to events that happen in Tableau. For example, you could use webhooks to send an SMS or Slack notification any time a datasource refresh fails, or fire off a confetti cannon when a new workbook is created.  For the initial release, webhooks are supported for a selected set of [datasource and workbook events](/current/developer/webhooks/en-us/docs/webhooks-events-payload.html).  

You configure each webhook to subscribe to an event in Tableau. Then, when the event occurs, an HTTP POST request will be sent to the public URL you specified. This POST request includes a JSON payload that includes information about the event. The payload includes the ID of the object in question so that the Tableau REST API can be used to get additional information or take further action. 

## Prerequisites  

To use Tableau webhooks, you must be authenticated as a site administrator for the Tableau Cloud or Server instance where the webhooks feature is enabled, for example, [https://10ax.online.tableau.com](https://10ax.online.tableau.com/). 

You can set up your own Tableau Cloud instance and get many other benefits at no cost by joining the [Tableau Developer Program](https://developer.tableau.com).

## Set Up a Webhook Using Postman

Here is an example of setting up a webhook with the REST API using Postman.

1. Download the following files (follow the link and save from your browser or IDE: [https://github.com/tableau/rest-api-samples/tree/master/postman](https://github.com/tableau/rest-api-samples/tree/master/postman)
2. Download and install Postman from [https://www.getpostman.com/](https://www.getpostman.com/).
3. Launch Postman and click **File** > **Import**  and choose the Postman collection and environment files you downloaded and then select **Import**.
4. Choose the **Tableau Webhooks Requests** collection on the left, and then select **Tableau Webhooks** from the environment dropdown menu on the top right.
5. To configure environment variables for webhooks, click the sliders icon near the environment dropdown. In the **MANAGE ENVIRONMENTS** dialog, select **Tableau Webhooks**. Replace the placeholder URL for the `server` variable in the **CURRENT VARIABLE** column with your server URL (like `https://10ax.online.tableau.com`). Fill in the `content-url` environment variable for your site (content-url value would be `my_site` if your site url looks like this - `https://10ax.online.tableau.com/site/my_site/projects`). Add either your username and password or your Personal Access Token name and secret. Click **Update** and close the dialog.
6. In the **Tableau Webhooks Requests** collection, choose the **Sign-in** request. You can choose either the username/password method or the personal access token method. Click **Send**. The response body contains the site id and a token.
7. Open the **MANAGE ENVIRONMENTS** dialog from the sliders icon, open **Tableau Webhooks** variables, and use the site id and token to set **CURRENT VALUE** of the `site_id` and `tableau_auth_token` variables.
8. In the list of requests, click **Create a webhook**. In the request body, enter a webhook `name`, a Tableau trigger event name from the [Trigger Events](/current/developer/webhooks/en-us/docs/webhooks-events-payload.html) table, and a destination `url`. The destination URL must be https and have a valid certificate.
9. Click **Send**, and then use the ID of your new webhook from the response body to set the `webhook-id` environment variable in the **MANAGE ENVIRONMENTS** dialog.
10. In the list of requests, choose **Test a webhook** and click **Send**. Testing the webhook sends an empty payload to the configured destination URL of the webhook and returns the response from the server. This is useful for testing, to ensure that webhooks POSTs are being sent from Tableau and a response is returned from the destination as expected.

## Set Up a Webhook Using cURL

Here is an example of setting up a webhook with the REST API using cURL.

### Sign In

`curl "http://<server>/api/3.1/auth/signin" -X POST -d @signin.xml`

Content of signin.xml:

```
<tsRequest>

  <credentials name="<username>" password="<password>" >

    <site contentUrl="" />

  </credentials>

</tsRequest>
```

### Create a Webhook

`curl "http://<server>/api/3.6/sites/<site-id>/webhooks" -X POST -H "X-Tableau-Auth:<token>" -d @details.xml`

Replace token with the token from the sign in response body.

Content of details.xml:

```
<tsRequest>

  <webhook name="my_first_webhook"
    event="DatasourceRefreshStarted" >

      <webhook-destination>

        <webhook-destination-http method="POST" url="<URL>" />

      </webhook-destination>

  </webhook>

</tsRequest>
```

Replace URL with the destination URL for the webhook. The webhook destination URL must be https and have a valid certificate.

### Test the Webhook

Testing the webhook sends an empty payload to the configured destination URL of the webhook and returns the response from the server. This is useful for testing, to ensure that things are being sent from Tableau and received back as expected.

`curl "http://<server>/api/3.6/sites/<site-id>/webhooks/<webhook-id>/test" -X GET -H "X-Tableau-Auth:<token>"`

Replace `webhook-id` with the webhook id from the create webhook response body.

See the [Test a Webhook](#testawebhook) endpoint for more information.

### List Webhooks

`curl "http://<server>/api/3.6/sites/<site-id>/webhooks" -X GET -H "X-Tableau-Auth:<token>"`

## Webhooks Tutorials

### Set up a Tableau Webhook Using Glitch and If This Then That

In this tutorial, you can learn how to set up a [Glitch](http://glitch.com) project with [If This Then That](https://ifttt.com/) (IFTTT) as the service that processes your webhook message.

- [Send a message when a workbook is created](https://github.com/tableau/datadev-hackathon/wiki/Send-a-notification-when-a-workbook-is-created)

### Integrate Tableau Webhooks with Slack Using Glitch

In this tutorial, you can learn how to use a [Glitch](http://glitch.com) project to integrate your webhook message into [Slack](https://slack.com). Using these techniques can help you avoid commonly seen HTTP 400 errors.

- [Send a Slack notification when a workbook is created](https://github.com/tableau/datadev-hackathon/wiki/Send-a-Slack-notification-when-a-workbook-is-updated)