A **Webhook** stage sends event data to another system — Zapier, [Make.com](http://Make.com), a CRM, or your own API — at the moment a guest reaches it.

**Important -** A webhook makes an event **Premium**.

### **Add one**

1. Open your event and click the **Flow** tab.

2. Click **+** and choose **Webhook**.

3. Place it **after** the stages whose data you want to send.

**Important -** Position decides what you can send. A webhook placed before the guest has done anything has nothing to report. Pictor tells you: *"No payload sources available yet — add Run Experience, Survey or Share Output stages before this webhook to send their data."*

### **Request**

| **Setting**        | **What it does**                                                  |
| ------------------ | ----------------------------------------------------------------- |
| **Request URL**    | Where to send it. Must start with `**http://**` or `**https://**` |
| **Request type**   | **GET** sends data as URL parameters; **POST** sends JSON         |
| **Custom headers** | Switch on to add **Headers** — for an API key or token            |

### **Payload**

Choose what to include:

| **Switch**           | **Sends**                                     |
| -------------------- | --------------------------------------------- |
| **Send output**      | The generated photo or video                  |
| **Send survey data** | Survey answers                                |
| **Send email**       | The guest's email address                     |
| **Send SMS**         | The guest's phone number                      |
| **Custom payload**   | Your own **Custom fields** as key/value pairs |

![Where it goes, how it is sent, and what is in it.](https://app.chatwoot.com/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBCQ0Q0d1FZPSIsImV4cCI6bnVsbCwicHVyIjoiYmxvYl9pZCJ9fQ==--c2ec5f7ad7da77d6175a8bf59bc2b552dfa51fb0/76-webhook-settings.png?cw_image_width=657px)

*Where it goes, how it is sent, and what is in it.*

### **Notifications**

**Notify on failure** emails a **Notification email** address when a request fails.

**Tip -** Always set this. A webhook failing silently means you find out when the client asks where their data is.

### **Several webhooks**

Add as many as you need. Each has its own URL and settings, so you can send different data to different systems at different points in the flow.

### **Test it**

Run a **Simulation test** and check the request arrives. Use a free request-inspection service as the URL first, before pointing it at anything real.