|
| 1 | +--- |
| 2 | +title: Webhook Trigger |
| 3 | +description: Trigger workflow execution from external webhooks |
| 4 | +--- |
| 5 | + |
| 6 | +import { Callout } from 'fumadocs-ui/components/callout' |
| 7 | +import { Step, Steps } from 'fumadocs-ui/components/steps' |
| 8 | +import { Tab, Tabs } from 'fumadocs-ui/components/tabs' |
| 9 | +import { Card, Cards } from 'fumadocs-ui/components/card' |
| 10 | +import { ThemeImage } from '@/components/ui/theme-image' |
| 11 | + |
| 12 | +The Webhook Trigger block allows external services to trigger your workflow execution through HTTP webhooks. Unlike starter blocks, webhook triggers are pure input sources that start workflows without requiring manual intervention. |
| 13 | + |
| 14 | +<ThemeImage |
| 15 | + lightSrc="/static/light/webhooktrigger-light.png" |
| 16 | + darkSrc="/static/dark/webhooktrigger-dark.png" |
| 17 | + alt="Webhook Trigger Block" |
| 18 | + width={350} |
| 19 | + height={175} |
| 20 | +/> |
| 21 | + |
| 22 | +<Callout> |
| 23 | + Webhook triggers cannot receive incoming connections and do not expose webhook data to the workflow. They serve as pure execution triggers. |
| 24 | +</Callout> |
| 25 | + |
| 26 | +## Overview |
| 27 | + |
| 28 | +The Webhook Trigger block enables you to: |
| 29 | + |
| 30 | +<Steps> |
| 31 | + <Step> |
| 32 | + <strong>Receive external triggers</strong>: Accept HTTP requests from external services |
| 33 | + </Step> |
| 34 | + <Step> |
| 35 | + <strong>Support multiple providers</strong>: Handle webhooks from Slack, Gmail, GitHub, and more |
| 36 | + </Step> |
| 37 | + <Step> |
| 38 | + <strong>Start workflows automatically</strong>: Execute workflows without manual intervention |
| 39 | + </Step> |
| 40 | + <Step> |
| 41 | + <strong>Provide secure endpoints</strong>: Generate unique webhook URLs for each trigger |
| 42 | + </Step> |
| 43 | +</Steps> |
| 44 | + |
| 45 | +## How It Works |
| 46 | + |
| 47 | +The Webhook Trigger block operates as a pure input source: |
| 48 | + |
| 49 | +1. **Generate Endpoint** - Creates a unique webhook URL when configured |
| 50 | +2. **Receive Request** - Accepts HTTP POST requests from external services |
| 51 | +3. **Trigger Execution** - Starts the workflow when a valid request is received |
| 52 | + |
| 53 | +## Configuration Options |
| 54 | + |
| 55 | +### Webhook Provider |
| 56 | + |
| 57 | +Choose from supported service providers: |
| 58 | + |
| 59 | +<Cards> |
| 60 | + <Card title="Slack" href="#"> |
| 61 | + Receive events from Slack apps and bots |
| 62 | + </Card> |
| 63 | + <Card title="Gmail" href="#"> |
| 64 | + Handle email-based triggers and notifications |
| 65 | + </Card> |
| 66 | + <Card title="Airtable" href="#"> |
| 67 | + Respond to database changes |
| 68 | + </Card> |
| 69 | + <Card title="Telegram" href="#"> |
| 70 | + Process bot messages and updates |
| 71 | + </Card> |
| 72 | + <Card title="WhatsApp" href="#"> |
| 73 | + Handle messaging events |
| 74 | + </Card> |
| 75 | + <Card title="GitHub" href="#"> |
| 76 | + Process repository events and pull requests |
| 77 | + </Card> |
| 78 | + <Card title="Discord" href="#"> |
| 79 | + Respond to Discord server events |
| 80 | + </Card> |
| 81 | + <Card title="Stripe" href="#"> |
| 82 | + Handle payment and subscription events |
| 83 | + </Card> |
| 84 | +</Cards> |
| 85 | + |
| 86 | +### Generic Webhooks |
| 87 | + |
| 88 | +For custom integrations or services not listed above, use the **Generic** provider. This option accepts HTTP POST requests from any client and provides flexible authentication options: |
| 89 | + |
| 90 | +- **Optional Authentication** - Configure Bearer token or custom header authentication |
| 91 | +- **IP Restrictions** - Limit access to specific IP addresses |
| 92 | +- **Request Deduplication** - Automatic duplicate request detection using content hashing |
| 93 | +- **Flexible Headers** - Support for custom authentication header names |
| 94 | + |
| 95 | +The Generic provider is ideal for internal services, custom applications, or third-party tools that need to trigger workflows via standard HTTP requests. |
| 96 | + |
| 97 | +### Webhook Configuration |
| 98 | + |
| 99 | +Configure provider-specific settings: |
| 100 | + |
| 101 | +- **Webhook URL** - Automatically generated unique endpoint |
| 102 | +- **Provider Settings** - Authentication and validation options |
| 103 | +- **Security** - Built-in rate limiting and provider-specific authentication |
| 104 | + |
| 105 | +## Best Practices |
| 106 | + |
| 107 | +- **Use unique webhook URLs** for each integration to maintain security |
| 108 | +- **Configure proper authentication** when supported by the provider |
| 109 | +- **Keep workflows independent** of webhook payload structure |
| 110 | +- **Test webhook endpoints** before deploying to production |
| 111 | +- **Monitor webhook delivery** through provider dashboards |
| 112 | + |
| 113 | + |
0 commit comments