The Run API request node turns the automated flow into an active integration point with external systems, letting you send data, sync platforms, and trigger custom processes at the exact moment an event happens.
It’s designed to extend marketing automation beyond magnews, while keeping control over the flow, the data being exchanged, and how responses are handled, without leaving the automated flow.
When to use it
This node works well when the automated flow needs to react to an event and notify an external system in real time. For example, you can use it to:
- Send data to a CRM when a contact enters a specific journey
- Update a ticketing system after a contact action
- Trigger custom processes on third-party platforms
- Sync statuses, scores, or attributes as the contact moves through the flow
Whenever an automated flow needs to communicate with systems outside magnews, this node is the natural integration point.
How it works
The node sends a REST API request to an external endpoint. Configuration requires the endpoint URL and the HTTP method to use. The main REST methods are supported:
- GET
- POST
- PUT
- DELETE
- HEAD
- PATCH
This way you can match the call to the requirements of the endpoint you’re contacting.
Node description
In the node, you can customize the description to document the purpose of the specific API call.
Once you save the node, the description shows directly on the automated flow board, inside the node itself. This makes the purpose of the call immediately visible without reopening the configuration.
This is especially useful when you use multiple nodes of this type in the same automated flow, because it makes the flow easier to read and maintain over time.
Request headers
You can add custom headers to provide extra information to the endpoint, such as authentication tokens or context parameters. Headers support flow variables and placeholders, so you can pass dynamic values tied to the contact or the flow.
Header examples:
Content-Type: application/textAuthorization: Bearer ${access_token}, where ${access_token} is the placeholder for the OAuth tokenX-Email: [contact:email], where email is the contact’s email addressX-Variable: [flow:myvariable], where myvariable is the name of a flow variableX-Flowname: [flowproperties:name], where name is the flow name
Request body
When required, the request body is always in JSON format. Here too, you can use variables and placeholders to insert dynamic values, such as contact data, flow variables, or information collected earlier.
Body example:
{
"email": "[contact:email]",
"score": "[flow:myvariable]",
"token": "${access_token}"
}OAuth authentication
If the endpoint requires an authentication token, you can associate a Server OAuth digital certificate with the node, or create a new one from Settings > Web service.
If the API requires the token to be placed in a specific part of the request, you can type the ${access_token} placeholder where needed, for example in a header or in the body.
If you don’t specify it explicitly, the Authorization: Bearer ${access_token} header is added automatically to the REST call based on the selected digital certificate.
If the endpoint doesn’t require authentication, you can leave this field empty.
Saving the call response
The node also lets you save the API call response into a flow variable, both on success and on error.
The response is stored as JSON in the variable you select in the configuration, with this structure:
{
"httpstatus": 200,
"body": "...raw response..."
}The httpstatus field contains the HTTP status code returned by the endpoint, while body contains the raw response, meaning the unprocessed data payload.
SSL and retry handling
The node also lets you contact endpoints with expired or unverifiable SSL certificates through a dedicated option. This option is meant only for test environments or controlled contexts.
In case of a 401 Unauthorized error, the call can be retried automatically with a new OAuth token. This second attempt is the only retry supported. If it fails as well, the request is treated as unsuccessful and the automated flow continues according to the logic you set.