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

# HTTP Request

> Call an external API or webhook with custom HTTP requests

Sends custom HTTP requests to external APIs or webhooks. Use it to integrate with third-party services, trigger external workflows, or push data to systems without a dedicated BonData integration.

## Configuration

| Setting     | Description                                                                                                       |
| ----------- | ----------------------------------------------------------------------------------------------------------------- |
| **URL**     | Target URL - supports **Mentions** for dynamic values (e.g., `https://api.example.com/{{Salesforce.Account.Id}}`) |
| **Method**  | HTTP method: **POST** (default), GET, PUT, DELETE, or PATCH                                                       |
| **Body**    | Request body as key-value pairs, sent as JSON - values support **Mentions**                                       |
| **Headers** | Custom HTTP headers (e.g., Authorization, Content-Type)                                                           |
| **Title**   | A human-readable description of the action                                                                        |

## How It Works

<Steps>
  <Step title="Set the URL">
    Enter the target endpoint. Use **Mentions** to include record values in the URL.
  </Step>

  <Step title="Choose the HTTP method">
    Select the appropriate method for your API (POST for creating, PUT for updating, etc.).
  </Step>

  <Step title="Configure body and headers">
    Add key-value pairs for the request body and any required headers (e.g., API keys).
  </Step>
</Steps>

## Output

The HTTP request is sent when the Agent runs. The response is logged in the task log.

<Note>
  By default, all matching records are batched into a single request. To send one request per record, add a [Group By](/guide/nodes/transform/group-by-node) node before this node, grouped by the primary key field.
</Note>

## Example

Trigger a webhook when new leads are created:

1. Filter for new leads
2. Add an HTTP Request node
3. URL: `https://hooks.example.com/new-lead`
4. Method: POST
5. Body: `name` → `{{Salesforce.Lead.Name}}`, `email` → `{{Salesforce.Lead.Email}}`

## Best Practices

* Use **Group By** before this node for per-record requests
* Store API keys in headers rather than in the URL
* Test with a single record before enabling automatic execution
* Use POST for creating resources, PUT/PATCH for updating, DELETE for removing

## Related Nodes

* **[Web Search](/guide/nodes/enrichment/web-search-node)** - searches the web rather than calling a specific API
* **[Create Record](/guide/nodes/actions/create-record-node)** - creates records using a native integration (no custom HTTP needed)
