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

# Webhooks

> Configure bot-triggered HTTP request actions

Webhooks let bots call external APIs during conversations — for example, checking order status, submitting a form, or syncing data.

All endpoints require authentication.

## Endpoints

Webhooks are managed per-bot. See [Bots — Bot Webhooks](/mahalaxmi/api/bots#bot-webhooks).

```http theme={null}
GET    /api/bots/:id/webhooks
POST   /api/bots/:id/webhooks
PATCH  /api/bots/:id/webhooks/:webhookId
```

***

## Create a Webhook

```http theme={null}
POST /api/bots/:id/webhooks
```

**Body**

| Field         | Type    | Required | Description                                              |
| ------------- | ------- | -------- | -------------------------------------------------------- |
| `name`        | string  | Yes      | Label (e.g., "Check Order Status")                       |
| `url`         | string  | Yes      | Full API endpoint URL                                    |
| `method`      | string  | Yes      | `GET`, `POST`, `PUT`, `PATCH`, `DELETE`                  |
| `description` | string  | Yes      | What it does — the AI reads this                         |
| `headers`     | object  | No       | HTTP headers as JSON `{"Authorization": "Bearer TOKEN"}` |
| `queryParams` | object  | No       | URL query parameters as JSON                             |
| `jsonData`    | object  | No       | Request body for POST/PUT                                |
| `active`      | boolean | No       | Default `true`                                           |
| `parameters`  | array   | No       | Dynamic parameters (see below)                           |

### Parameter object

| Field      | Type   | Description                              |
| ---------- | ------ | ---------------------------------------- |
| `name`     | string | Parameter name                           |
| `dataType` | string | `string`, `number`, `date`, `datetime`   |
| `type`     | string | `query_param`, `post_data`, `path_param` |
| `source`   | string | `by_ai` (bot fills it) or `fixed`        |
| `value`    | string | Fixed value (if source is `fixed`)       |

***

## Incoming Webhooks (platform webhooks)

These are system-level endpoints that receive events from external providers:

| Endpoint                                    | Provider                             |
| ------------------------------------------- | ------------------------------------ |
| `POST /api/webhooks/gupshup/incoming_msg`   | Gupshup — incoming WhatsApp messages |
| `POST /api/webhooks/gupshup/message-events` | Gupshup — delivery/read receipts     |
| `GET/POST /api/webhook/facebook`            | Facebook/Meta                        |
| `POST /api/webhook/wasimple`                | Wasimple                             |
| `POST /api/stripe-webhook`                  | Stripe billing events                |

<Info>These endpoints are called by external providers, not by your code. Configure the URLs in your respective provider dashboards.</Info>
