# Webhook

Trigger to start workflows through HTTP requests.

---

## Overview

The Webhook node acts as a trigger that starts workflow execution when it receives HTTP requests. It supports various HTTP methods and provides flexible response handling options.

## Configuration

### HTTP Method

Select the HTTP method to listen for:
- GET
- POST
- PUT
- PATCH
- DELETE
- HEAD

### Response Handling

Choose when and how to respond to incoming webhooks:

1. **Immediately**
   - Responds as soon as the webhook node executes
   - Configurable response code and data
   - Option to customize response body

2. **When Last Node Finishes**
   - Returns data from the last executed node
   - Response data options:
- All Entries: Returns all entries as an array
- First Entry JSON: Returns first entry as JSON object
- First Entry Binary: Returns binary data from first entry
- No Response Body: Returns without body
   - For binary responses, specify the binary property name

3. **Using 'Respond to Webhook' Node**
   - Response controlled by a separate node in the workflow
   - Allows complete control over response timing and content

### Advanced Options

#### General Settings
- **Ignore Bots**: Option to ignore requests from link previewers and web crawlers
- **CORS**: Configure allowed origins for cross-origin requests
- **Raw Body**: Option to receive raw body data
- **Binary Data**: Support for receiving binary data (for POST, PUT, PATCH)
  - Specify binary property name for received files

#### Response Configuration
- **Response Code**: HTTP status code (100-599)
- **Response Headers**: Custom headers for the response
  - Name-value pairs
  - Multiple headers supported
- **Response Content-Type**: Custom content type for JSON responses
- **Response Property Name**: Specify property to return instead of entire JSON
- **Custom Response Data**: Define specific response data to send

## Webhook Modes

The node operates in two modes:
1. **Test Mode**
   - Accessible via test URL
   - Used during workflow development, when "Active" option is not enabled

2. **Production Mode**
   - Accessible via production URL
   - Used when the "Active" option is enabled

![Enable Active](images/webhook.png)

## Notes

- Binary data handling is available for POST, PUT, and PATCH methods
- Response headers can be customized with multiple entries
- CORS support is built-in with configurable allowed origins
- Custom content types can be specified for JSON responses
