- Documentation
- Activities
- API
- HTTP Request
Send a request to a website or API and get a response
Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
Method httpMethod | enum | Optional | GET | —GETPOSTPUTDELETEPATCH |
URL apiUrl | string | Required | — | — |
Authentication authType | enum | Optional | none | —nonebasicbearerapikey |
Request Body apiBody | text | Optional | — | — Shown when httpMethod = POST / PUT / PATCH |
Headers apiHeadersList | keyvalue | Optional | [{"key":"Content-Type","value":"application/json"}] | — |
Timeout (seconds) timeout | number | Optional | 30 | — |
Output
StatusCodeNumberHTTP response status code
Compatibility
WindowsLinuxAttendedUnattended
When to use
Use HTTP Request to call any REST or web API from a workflow: fetch data from a system that has no dedicated activity, post records to a SaaS product, trigger a webhook, or integrate with an internal service.
- Look up a record in a CRM or ticketing system
- Push a payload to a webhook or message queue
- Enrich a workflow with data from a third-party API
- Call an internal microservice
When not to use
- When a dedicated activity exists for the system (Email, Database, FTP), prefer it — you get typed inputs and better error messages.
- For long-running downloads of large files, a streaming/download activity is a better fit than buffering the whole body in memory.
Best practices
- Store API keys and tokens as credentials/assets, never inline in the request — that keeps secrets out of the workflow definition and logs.
- Set an explicit timeout and handle non-2xx responses deliberately rather than assuming success.
- Parse the response with Parse JSON and validate the fields you depend on before using them downstream.
Common mistakes
- Wrong content type — sending a JSON body without the
Content-Type: application/jsonheader, so the server rejects it. - Unhandled error status — treating a
4xx/5xxas success because the request "completed". Check the status code. - Hard-coded secrets — putting a bearer token directly in the headers instead of referencing a credential.
FAQs
Can it send custom headers? Yes — add any headers the API requires, including authorization.
Does it support form-encoded bodies? Yes, in addition to JSON and raw bodies; set the matching content type.
How do I authenticate? Reference a stored credential/asset for the token or key and add it to the request headers.