> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetgail.com/platform/workflows/guides-and-recipes/recipes/trigger-from-a-webhook/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server. # Trigger from a Webhook > Configure the Start node as a webhook so another system can start your workflow, then test it. When you want another system, such as a website form or your CRM, to start a workflow the moment something happens, you use a webhook. It gives your workflow a private URL that the other system calls, and the details it sends come into the run so later steps can use them. ## Nodes involved * The Start node, configured as a webhook trigger. ## How to build it ### Configure the Start node as a webhook On the Start node, set it up as a webhook trigger and define the fields you expect the caller to send. See [Triggers & Webhooks](/platform/workflows/core-concepts/triggers-webhooks) for the full detail. ### Get the URL Publish the workflow to get its webhook URL. Only published workflows have a working URL. The URL is the credential: anyone who has it can start this one workflow, so give it only to the system that needs it and keep it out of anywhere public. ### Require a shared secret (optional) If you want a value you can change later without recreating the workflow, add a shared secret to the Start node's webhook settings and have the caller send it with every request. Put it in a request header if the calling system lets you set one. Editing the secret and publishing cuts off anyone still sending the old value, on the very next request. See [Triggers & Webhooks](/platform/workflows/core-concepts/triggers-webhooks) for what a shared secret does and does not protect you from. ### Reference the incoming data downstream The information the caller sends is available to later steps through the Start node. Point a field at an incoming value like this: ``` start.body.email ``` Use whichever field names the caller actually sends. ### Test it Send a sample request to the URL and watch the run in [Testing & Debugging](/platform/workflows/core-concepts/testing-debugging) to confirm the incoming data arrived where you expect. While you are still building, you can also start runs by hand from there. > **Note** > > Treat the webhook URL like a password. Anyone holding it can start this > workflow, and adding a shared secret does not change that, because you have to > give the caller the secret too. When a caller needs to genuinely prove who it > is, start the workflow the way that requires real credentials instead. See > [Triggers & Webhooks](/platform/workflows/core-concepts/triggers-webhooks). ## Related #### [Triggers & Webhooks](/platform/workflows/core-concepts/triggers-webhooks) The full picture of how webhooks start a workflow. #### [Testing & Debugging](/platform/workflows/core-concepts/testing-debugging) Send a test request and follow the run. > Documentation for Gail, the AI platform for financial services. Learn how to set up GailGPT and Gail Agent to automate customer communications for insurance, banking, and finance.