> ## Documentation Index
> Fetch the complete documentation index at: https://learn.workflow.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# URL

> Start a workflow from a general-purpose HTTP endpoint.

The **URL** trigger gives the workflow a unique endpoint that accepts common
HTTP methods and arbitrary text or binary request bodies. Use it when you need
more control than the JSON-only **Webhook** trigger provides.

## Set up the endpoint

<Steps>
  <Step title="Select the URL trigger">
    Copy the endpoint shown in the trigger configuration.
  </Step>

  <Step title="Send a request">
    Call the URL with `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`. Add query
    parameters and headers as needed.
  </Step>

  <Step title="Return a response">
    End the workflow with an HTTP response action such as **Respond Text**,
    **Respond JSON**, **Respond File**, or **Redirect**.
  </Step>
</Steps>

## Trigger outputs

| Output      | Type              | Description                                                                             |
| ----------- | ----------------- | --------------------------------------------------------------------------------------- |
| **Path**    | String            | The path that was called.                                                               |
| **Method**  | Enum              | `GET`, `POST`, `PUT`, `PATCH`, or `DELETE`.                                             |
| **Headers** | Object            | Request headers with lowercase names. Cookie and forwarded-address headers are omitted. |
| **Query**   | Object of strings | Query parameters.                                                                       |
| **Body**    | String            | Text request content, or a base64 string for binary content.                            |

Requests are limited to 10 MB.

<Warning>
  If no response action runs, the caller receives a generic workflow-status
  response rather than a custom body.
</Warning>
