> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.meetgail.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server.

# Triggers & Webhooks

> Let another system start a published workflow by sending it a request.

A trigger is anything that starts a workflow. One of the most useful triggers is
a webhook: a private URL for your workflow that another system can call to start
a run. When your website form, your CRM, or a partner's system needs to kick off
a workflow, it sends a request to that URL and the run begins.

## How a webhook works

Each published workflow has its own webhook URL. When another system sends a
request to it, whatever information that request carries becomes the starting
information for the run, exactly as if you had started it yourself. The run then
proceeds through its steps on its own.

A typical use: Chen Insurance Group has a "New quote request" form on their
website. When Sarah Chen submits it, the website calls the workflow's webhook
with her details, and the workflow starts scoring the request and routing it to
an agent, with no one having to press a button.

## What the caller gets back

A webhook responds right away to confirm the run was accepted, and it returns a
run identifier. It does not wait for the workflow to finish. If the caller needs
the final result in the same request, there is a separate way to start a
workflow that waits for it to complete. Otherwise, use the run identifier to
follow along later. See
[Testing & Debugging](/platform/workflows/core-concepts/testing-debugging) for how run
history works.

## Validation and files

A webhook respects everything you set up on the Start node:

* If the workflow defines required fields, the incoming information is checked
  against them, and a request that is missing a required field is turned away
  with a clear message. See
  [Starting a Workflow](/platform/workflows/core-concepts/starting-a-workflow).
* If the workflow accepts file uploads, a caller can attach files too.

A webhook URL is not a public, open endpoint. The system calling it must be
authorized to act for your organization, so only trusted systems you have set
up can start your workflows. A request from an unknown workflow or another
organization is simply not found, so the existence of your workflows is never
revealed.

Only published workflows can be triggered by a webhook. While you are still
building, use [Testing & Debugging](/platform/workflows/core-concepts/testing-debugging)
to start runs by hand.

## Related

#### [Starting a Workflow](/platform/workflows/core-concepts/starting-a-workflow)

Define the information a run needs before it can begin.

#### [Testing & Debugging](/platform/workflows/core-concepts/testing-debugging)

Follow a run's progress after it has been triggered.