mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-02 18:55:25 -05:00
* improvement(response): removed nested response block output, add docs for webhook block, styling improvements for subblocks * remove outdated block docs * updated docs * remove outdated tests
88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
---
|
|
title: Webhook
|
|
---
|
|
|
|
import { Callout } from 'fumadocs-ui/components/callout'
|
|
import { Image } from '@/components/ui/image'
|
|
|
|
The Webhook block sends HTTP POST requests to external webhook endpoints with automatic webhook headers and optional HMAC signing.
|
|
|
|
<div className="flex justify-center">
|
|
<Image
|
|
src="/static/blocks/webhook.png"
|
|
alt="Webhook Block"
|
|
width={500}
|
|
height={400}
|
|
className="my-6"
|
|
/>
|
|
</div>
|
|
|
|
## Configuration
|
|
|
|
### Webhook URL
|
|
|
|
The destination endpoint for your webhook request. Supports both static URLs and dynamic values from other blocks.
|
|
|
|
### Payload
|
|
|
|
JSON data to send in the request body. Use the AI wand to generate payloads or reference workflow variables:
|
|
|
|
```json
|
|
{
|
|
"event": "workflow.completed",
|
|
"data": {
|
|
"result": "<agent.content>",
|
|
"timestamp": "<function.result>"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Signing Secret
|
|
|
|
Optional secret for HMAC-SHA256 payload signing. When provided, adds an `X-Webhook-Signature` header:
|
|
|
|
```
|
|
X-Webhook-Signature: t=1704067200000,v1=5d41402abc4b2a76b9719d911017c592...
|
|
```
|
|
|
|
To verify signatures, compute `HMAC-SHA256(secret, "${timestamp}.${body}")` and compare with the `v1` value.
|
|
|
|
### Additional Headers
|
|
|
|
Custom key-value headers to include with the request. These override any automatic headers with the same name.
|
|
|
|
## Automatic Headers
|
|
|
|
Every request includes these headers automatically:
|
|
|
|
| Header | Description |
|
|
|--------|-------------|
|
|
| `Content-Type` | `application/json` |
|
|
| `X-Webhook-Timestamp` | Unix timestamp in milliseconds |
|
|
| `X-Delivery-ID` | Unique UUID for this delivery |
|
|
| `Idempotency-Key` | Same as `X-Delivery-ID` for deduplication |
|
|
|
|
## Outputs
|
|
|
|
| Output | Type | Description |
|
|
|--------|------|-------------|
|
|
| `data` | json | Response body from the endpoint |
|
|
| `status` | number | HTTP status code |
|
|
| `headers` | object | Response headers |
|
|
|
|
## Example Use Cases
|
|
|
|
**Notify external services** - Send workflow results to Slack, Discord, or custom endpoints
|
|
```
|
|
Agent → Function (format) → Webhook (notify)
|
|
```
|
|
|
|
**Trigger external workflows** - Start processes in other systems when conditions are met
|
|
```
|
|
Condition (check) → Webhook (trigger) → Response
|
|
```
|
|
|
|
<Callout>
|
|
The Webhook block always uses POST. For other HTTP methods or more control, use the [API block](/blocks/api).
|
|
</Callout>
|