| title | Webhook |
|---|---|
| description | Webhook protocol schemas |
{/*
Webhook Trigger Event
When should this webhook fire?
**Source:** `packages/spec/src/automation/webhook.zod.ts`import { Webhook, WebhookReceiver, WebhookTriggerType } from '@objectstack/spec/automation';
import type { Webhook, WebhookReceiver, WebhookTriggerType } from '@objectstack/spec/automation';
// Validate data
const result = Webhook.parse(data);| Property | Type | Required | Description |
|---|---|---|---|
| name | string |
✅ | Webhook unique name (lowercase snake_case) |
| label | string |
optional | Human-readable webhook label |
| object | string |
optional | Object to listen to (optional for manual webhooks) |
| triggers | Enum<'create' | 'update' | 'delete' | 'undelete' | 'api'>[] |
optional | Events that trigger execution |
| url | string |
✅ | External webhook endpoint URL |
| method | Enum<'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE'> |
✅ | HTTP method |
| headers | Record<string, string> |
optional | Custom HTTP headers |
| body | any |
optional | Request body payload (if not using default record data) |
| payloadFields | string[] |
optional | Fields to include. Empty = All |
| includeSession | boolean |
✅ | Include user session info |
| authentication | { type: Enum<'none' | 'bearer' | 'basic' | 'api-key'>; credentials?: Record<string, string> } |
optional | Authentication configuration |
| retryPolicy | { maxRetries: integer; backoffStrategy: Enum<'exponential' | 'linear' | 'fixed'>; initialDelayMs: integer; maxDelayMs: integer } |
optional | Retry policy configuration |
| timeoutMs | integer |
✅ | Request timeout in milliseconds |
| secret | string |
optional | Signing secret for HMAC signature verification |
| isActive | boolean |
✅ | Whether webhook is active |
| description | string |
optional | Webhook description |
| tags | string[] |
optional | Tags for organization |
| Property | Type | Required | Description |
|---|---|---|---|
| name | string |
✅ | Webhook receiver unique name (lowercase snake_case) |
| path | string |
✅ | URL Path (e.g. /webhooks/stripe) |
| verificationType | Enum<'none' | 'header_token' | 'hmac' | 'ip_whitelist'> |
✅ | |
| verificationParams | { header?: string; secret?: string; ips?: string[] } |
optional | |
| action | Enum<'trigger_flow' | 'script' | 'upsert_record'> |
✅ | |
| target | string |
✅ | Flow ID or Script name |
createupdatedeleteundeleteapi