---
title: "HTTP Webhook"
slug: "http-webhook"
description: "Learn how to send data to your destination quickly and securely via Dataddo's HTTP webhook connectors. No data extraction, you or your service will send data."
updated: 2024-02-28T11:10:51Z
published: 2024-02-28T11:10:51Z
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dataddo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# HTTP Webhook

**Webhooks** are HTTP callbacks that allow one system to automatically notify another system about specific events, facilitating real-time communication and automation between web services. They are commonly used for event notification, data synchronization, and third-party integrations in web development.

:::(Info) (**DATADDO TIP**)
The Dataddo HTTP webhooks connector **doesn't extract** data. Instead, you send data to Dataddo through an HTTP call.
:::

## How to Create a Webhook Data Source
:::(Internal) (Private notes)
Specific configuration
:::

1. On the **Sources** page, click on the [**Create Source**](https://app.dataddo.com/sources/new){target="_blank"} button and select HTTP Webhook.
2. Select the **Reaction Strategy**.
    1. **Write** immediately inserts data into your ***{{glossary.data destination}}***.
    2. **Store** keeps data in the ***data source*** which is used mainly when the ***data destination*** is a dashboarding tool.
3. Insert your **Example JSON webhook payload**, aka define the expected table schema. E.g.
    ```json
    {
        "order_number": "1234",
        "name": "Name Surname",
        "amount": 100
    }
    ```
4. [Optional] Write your [transformation pipeline](/docs/transformation-pipeline){target=`_blank`}. Add empty brackets if you wish to keep it blank.
5. **Name** your data source.
6. Click on the **Test Data** button in the top right corner to see the example table schema (not the actual data itself).
7. Click on **Save**.
8. A window with authorization details will pop up. Copy and keep the **Authorization Token** safe, you can display it **only once**.
9. Connect your newly created webhook ***source*** in a ***{{glossary.data flow}}***.

:::(Error) (Make sure you connect your ***source*** to a ***destination***, otherwise your data won't be sent anywhere.)
:::

## Authorize Connection to Dataddo in Your Service
To authorize the connection to Dataddo, include the **Authorization Token** in your HTTP calls. Here is an example `POST` request. 
```bash
curl --location -X POST https://webhook.dataddo.com
--header 'Authorization: Bearer MY_TOKEN'
--header 'Content-Type: application/json'
--data '{
    "order_number": "1234",
    "name": "Name Surname",
    "amount": 100
    }'
```

In this example, this JavaScript is using the Fetch API to make an HTTP POST request. The script would be embedded in an HTML `<script>` element:
```javascript
var headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('Authorization', 'Bearer token_value');
var body = {
    "order_number": "1234",
    "name": "Name Surname",
    "amount": 100
};
var options = {
    method: "POST",
    headers: headers,
    mode: "cors",
    body: JSON.stringify(body)
};
response = fetch("https://webhook.dataddo.com", options);
console.log("Response: ", response);
```
***
## Troubleshooting
**ERROR MESSAGE**
`No flow found for the source action`

This issue is caused by your data not being sent anywhere. Connect your ***source*** to a ***destination*** in a ***data flow***.

{{snippet.Troubleshooting RelatedArticles}}
