Actions are the steps in your workflow that perform tasks. You can connect multiple actions in sequence to build out your automation logic.

Common Action Properties

Many actions share a common property for error handling:
continue_on_error
boolean
default:"false"
If set to true, the workflow will not stop if this specific node fails. Instead, it will proceed down a special “error” path from the node, allowing you to build custom error-handling logic (e.g., sending a notification). If false, any failure will immediately stop the entire workflow run.

Available Actions

Webhook

Sends an HTTP request to an external URL. This is essential for integrating with third-party APIs.

Configuration

method
string
required
The HTTP method. Options: GET, POST, PUT, PATCH, DELETE.
url
string
required
The URL to send the request to. You can use variables from previous steps, like https://api.example.com/users/{{ node_1.user_id }}.
body
JSON
For POST, PUT, and PATCH requests, this is the JSON body of the request. Variables are supported.
headers
array of key/value pairs
A list of HTTP headers to include, such as Content-Type or Authorization. Values can be plain text or references to secrets in your Vault.
For security, requests to private or internal IP addresses are blocked to prevent Server-Side Request Forgery (SSRF) attacks.

Altostrat API

Makes an authenticated API call to the Altostrat platform on your behalf. It automatically uses the authorization linked to the workflow.

Configuration

method
string
required
The HTTP method. Options: GET, POST, PUT, PATCH, DELETE.
endpoint
string
required
The API endpoint path, starting with a /. Example: /users?filter[status]=new.
body
JSON
The JSON body for POST, PUT, and PATCH requests. Variables are supported.

Delay

Pauses the workflow for a specified amount of time before continuing to the next step.

Configuration

duration
integer
required
The amount of time to wait.
unit
string
required
The unit of time. Options: seconds, minutes, hours, days.
There is a maximum delay of 15 minutes for a single delay step. For longer delays, you may need to chain multiple steps or use a different architectural approach.

Iterator

Loops over an array of items from a previous step and runs a sub-workflow for each item. This is extremely powerful for processing lists of users, products, or any other data set.

Configuration

input_array
variable
required
A reference to an array from a previous step. Example: {{ node_1.data.users }}.
nodes & edges
sub-workflow
required
A complete, self-contained workflow that will be executed for each item in the input array.

Sub-Workflow Context

Inside the iterator’s sub-workflow, a special iterator variable is available with the following properties:
  • iterator.item: The current item being processed.
  • iterator.index: The zero-based index of the current item.
  • iterator.first: true if this is the first item in the array.
  • iterator.last: true if this is the last item in the array.
  • iterator.total: The total number of items in the array.
If any single iteration fails, the entire Iterator step (and the parent workflow) will fail. The results of each iteration are collected and made available as an array to the nodes following the Iterator.

Trigger Workflow

Calls another workflow that has a Workflow Trigger. This allows you to create modular, reusable workflows.

Configuration

target_workflow_id
string
required
The ID of the workflow you want to trigger.
payload
JSON
A JSON object to send as the initial data to the target workflow. Variables are supported.
To prevent infinite loops, the system will detect and block circular dependencies (e.g., Workflow A calls Workflow B, which then calls Workflow A).

Data Mapper

Construct a new JSON object from scratch using data from previous steps. This is perfect for reshaping data before sending it to an API.
For more advanced data manipulation using logic and filters, see our Liquid Templating documentation.

Configuration

mappings
array of key/value pairs
required
A list of mappings.
  • Key: The key in the new output object. You can use dot notation to create nested objects (e.g., user.profile.name).
  • Value: The value to assign. This can be a static value, a variable from a previous step, or even a mix of both.

JSON Parser

Takes a string of text that is in JSON format and converts it into a structured JSON object that can be used by subsequent steps.

Configuration

json_string
variable
required
A reference to a string from a previous step that contains valid JSON. Example: {{ node_1.body }}.
output_key
string
The key under which the parsed data will be stored. Defaults to data.

Text Transform

Generate or modify text using the powerful Liquid templating language. This allows for complex text formatting, loops, and conditional logic within your text.
Learn more about Liquid syntax and capabilities in our Liquid Templating documentation.

Configuration

template
string
required
The Liquid template string. You can use variables from previous steps, which will be processed by the Liquid engine. Example: Hello {{ node_1.user.name | upcase }}.
output_key
string
The key where the rendered text will be stored. Defaults to result.

Date Transform

Perform operations on date and time values, such as adding time, subtracting time, or reformatting.

Configuration

input_date
string or variable
required
The starting date/time string (e.g., “2025-01-01T12:00:00Z”) or a variable.
operation
string
required
The operation to perform. Options: add, subtract, format, start_of, end_of.
value
string
required
The value for the operation. For add/subtract, this is the amount. For format, it’s the format string (e.g., Y-m-d). For start_of/end_of, it’s the unit (e.g., day, week).
unit
string
Required for add and subtract. Options: days, weeks, months, years, hours, minutes, seconds.
output_key
string
The key where the transformed date will be stored. Defaults to result.

Terminate

Immediately stops the workflow execution. This is useful for exiting a workflow early based on certain conditions without it being considered a failure.

Configuration

status
string
required
The final status to set for the workflow run. Options: completed, failed.
reason
string
An optional message to record in the workflow run’s details, explaining why it was terminated.