Skip to content

HTTP Request (REST)

This service task sends an HTTP request to any URL and returns the response. It acts as a universal REST connector within a BPMN process – ideal for calling external APIs, triggering webhooks, or fetching data from third-party services.

Benefit: External systems can be integrated directly into automated workflows without custom code.


Input Parameters

Parameter Type Required Description
url String Yes The target URL (must start with http:// or https://).
method String No HTTP method: GET, POST, PUT, PATCH, DELETE. Default: GET.
headers Object No Key-value pairs sent as HTTP request headers (e.g. Authorization, Content-Type).
body Object / String No Request body. Objects are automatically serialized to JSON. Ignored for GET.
queryParams Object No Key-value pairs appended to the URL as query parameters.
timeout Number No Request timeout in milliseconds. Default: 30 000. Maximum: 60 000.

Example Input

{
  "url": "https://api.example.com/orders",
  "method": "POST",
  "headers": {
    "Authorization": "Bearer {{token}}",
    "Content-Type": "application/json"
  },
  "body": {
    "orderId": "2024-001",
    "status": "confirmed"
  },
  "timeout": 10000
}

Output

Field Type Description
statusCode Number The HTTP status code of the response (e.g. 200, 404, 500).
body Object / String Response body. Automatically parsed as JSON when possible; otherwise returned as plain text.
headers Object Response headers as key-value pairs.

Example Output

{
  "statusCode": 200,
  "body": {
    "success": true,
    "message": "Order confirmed"
  },
  "headers": {
    "content-type": "application/json"
  }
}

Behaviour & Limitations

  • Only http and https protocols are supported.
  • The maximum response size is 5 MB. Larger responses cause an error.
  • If the body is an object and no Content-Type header is set, application/json is added automatically.
  • The response body is parsed as JSON when possible; otherwise it is returned as a raw string.
  • Network errors or timeouts result in a process error – they are not silently swallowed.

Use Cases

  • Trigger a webhook when a process step completes.
  • Create or update records in an external CRM or ERP system.
  • Fetch real-time data (e.g. exchange rates, weather, stock levels) for downstream decisions.
  • Notify external tools (Slack, Teams, email APIs) about process events.
  • Chain microservices together within a BPMN workflow.