# Webhooks Automations

## Overview

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2FmOisHngz7w7sHgAHBYVe%2Fimage.png?alt=media&#x26;token=609c27dc-3097-4fef-972e-84f74abf28aa" alt=""><figcaption></figcaption></figure>

**Webhooks Automations** in Tiledesk allow you to expose an automation flow as an HTTP endpoint that can be invoked by external systems.\
They work in a very similar way to **Make.com webhooks**, enabling event-driven integrations, backend-to-backend communication, and custom automation triggers.

A webhook automation acts as an **entry point** into a Tiledesk flow, receiving an HTTP request, processing it through the flow logic, and optionally returning a structured HTTP response.

## Create your webhook

Go in Flows > Automations anche choose "Webhook"

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2F66L6hXVOieX9TdC1HDEw%2Fimage.png?alt=media&#x26;token=3f3d0f42-dee1-4ab5-b86a-8c8335f92b59" alt=""><figcaption></figcaption></figure>

Choose a name for your Webhook

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2Fu6hd5gWPJhgGZiDkLevS%2Fimage.png?alt=media&#x26;token=5b25c9bb-c829-4d15-bf58-69c4de64c21d" alt=""><figcaption></figcaption></figure>

You are moved to the Webook Design Studio

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2Fez6RuT9k57sx5JzbqBhl%2Fimage.png?alt=media&#x26;token=7b5c2d3f-ff94-4638-8b0c-f6281c4fa502" alt=""><figcaption></figcaption></figure>

When you create a Webhook Automation, Tiledesk automatically generates **two distinct webhook URLs**:

* **Development Webhook URL**
* **Production Webhook URL**

Each URL is tied to the same automation flow but serves a different purpose.

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2Fo4aRCoSi3yZxuKlvU9jX%2Fimage.png?alt=media&#x26;token=f8bac290-c228-4101-afc0-b6b4d9cd676a" alt=""><figcaption></figcaption></figure>

#### Development Webhook

The **development webhook** is designed for testing and debugging.

Key features:

* Invoking this endpoint allows you to **observe the execution of the flow in real time**
* A **live debug panel** appears at the bottom of the flow editor

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2FbNeDcTM4VSAylbxXGEzU%2Fimage.png?alt=media&#x26;token=7432e4a0-8d86-44e1-a39c-4c0488fa44c2" alt=""><figcaption></figcaption></figure>

* You can inspect:
  * Incoming payload
  * Node execution order
  * Variables and intermediate data
  * Errors and exceptions

This makes it ideal for:

* Flow design and testing
* Payload inspection
* Debugging integration logic

#### Production Webhook

The **production webhook** is intended for live environments.

Characteristics:

* No real-time debug panel
* Optimized for performance and stability
* Should be used by production systems and external clients

Once your automation is tested via the development webhook, you can safely switch clients to the production URL.

### Incoming Payload Handling

All data sent to the webhook request is automatically made available inside the flow through the **`payload`** object.

#### Example

If an external system sends the following JSON body:

```json
{
  "name": "Andrea",
  "email": "andrea@example.com"
}
```

You can access these values anywhere in the flow using:

* `payload.name`
* `payload.email`

In the following example we are echoing the name provided in the post payload in the call

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2FqKNx6IDzpLv0rmfZiCGY%2Fimage.png?alt=media&#x26;token=631fb2a8-be37-4a8a-9e13-fc4b93bbb60a" alt=""><figcaption></figcaption></figure>

### Returning a Response

To return a response to the calling client, you must explicitly use the **Response** action inside the flow.

#### Response Action

The **Response** action allows you to define:

* HTTP status code (e.g. `200`, `201`, `400`, `500`)
* JSON response body

### Fire-and-Forget Webhooks

If **no Response action** is present in the flow:

* The webhook behaves as **fire-and-forget**
* Tiledesk immediately returns a default response to the caller
* The automation continues executing asynchronously in the background

This mode is useful when:

* The caller does not need a response
* You are triggering long-running or background processes
* You want maximum responsiveness on the client side

### Webhook Logs & Administration

Tiledesk provides a dedicated **Webhook Administration** section in the dashboard.

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2FM4YBHDzNgIk6OuTeINvH%2Fimage.png?alt=media&#x26;token=28afb486-f5f0-460e-9ccc-e2c0fcb341bd" alt=""><figcaption></figcaption></figure>

From this panel you can:

* Monitor **runtime webhook logs**
* Inspect request payloads and execution outcomes
* Temporarily **disable a webhook** if needed (e.g. for maintenance or security reasons)

<figure><img src="https://1328774413-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FVguk6y5OMn3pAaHZSiwU%2Fuploads%2F6m2jSaKxume9uqQQgqzI%2Fimage.png?alt=media&#x26;token=035e0f3f-e4d8-4419-90e7-9121c5ee6351" alt=""><figcaption></figcaption></figure>

This component is especially useful in production environments to ensure observability and operational control.

### Typical Use Cases

Webhook automations are ideal for:

* Integrating external systems (CRM, ERP, backend services)
* Triggering workflows from third-party platforms
* Receiving events from custom applications
* Building server-to-server automations
* Implementing asynchronous background processing

### Tiledesk Webhook Summary

* Webhooks automations expose Tiledesk flows as HTTP endpoints
* Two URLs are available: **Development** (with real-time debug) and **Production**
* Incoming request data is accessible via the `payload` object
* Use the **Response** action to return custom HTTP responses
* Without a Response action, the webhook runs in **fire-and-forget** mode
* The dashboard provides full monitoring and administrative control

This makes Tiledesk Webhooks a powerful and flexible foundation for event-driven automation and system integration.
