Skip to main content
Version: 1.28 (Current)

Execute Actions

Audience: Low-code Engineers

Skill Prerequisites: Actions, Tokens

Runs a list of actions as a single group, with its own On Error handler. It works like a try/catch block: if any action in the list fails, the remaining actions in the list are skipped and the On Error actions run instead.

The actions in the list share the same tokens as the actions around them. Tokens created inside the list are available to the actions that come after it.

Typical Use Cases​

  • Handle errors for a group of actions, for example log the error and show a friendly message when a web service call fails
  • Let a process carry on after a non-critical step fails, for example send the confirmation email even if a CRM update fails
  • Group related actions so a single condition controls all of them: put the condition on Execute Actions instead of on each action
  • Load a different user for a few actions only. Changes made by Load User inside the list are undone when the list finishes.

Don't use it to​

Action NameDescription
Execute Actions AsynchronouslyRuns a list of actions in the background without waiting for them.
RepeatRuns a list of actions a number of times, or while a condition is true.
Throw ExceptionRaises an error on purpose, which triggers On Error.
Log ErrorWrites the error details to the log, for example from On Error.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
ActionsThe list of actions to run, in order.NoemptyYes
On ErrorThe actions to run if an action in Actions fails. The error details are available in the tokens listed below.NoemptyNo

Error tokens​

When an error is handled, these tokens are available in the On Error actions and in the actions after Execute Actions:

TokenDescription
[Exception]The full error, including any inner errors.
[ExceptionType]The .NET type of the error, for example System.Net.WebException.
[ExceptionMessage]The error message.
[ExceptionStack]The stack trace.

How errors are handled​

SituationWhat happens
No errorAll actions in Actions run, then execution continues with the next action after Execute Actions.
An action fails and On Error has actionsThe remaining actions in Actions are skipped, the On Error actions run, and then execution continues with the next action after Execute Actions.
An action fails and On Error is emptyThe error is passed up, as if Execute Actions weren't there. The module's own error handling applies.
An On Error action ends execution, for example Display Message, a redirect or Stop ExecutionExecution ends there. The actions after Execute Actions don't run.

To stop the whole process after handling the error, end the On Error list with an action that ends execution, such as Display Error Message or Stop Execution.

Considerations​

  • Actions that end execution. If an action in Actions ends execution, for example a redirect, a message or Stop Execution, the actions after Execute Actions don't run either.
  • User context is restored. The current user, and the list of users loaded by Load User, are put back to what they were before Execute Actions when it finishes, whether it succeeded or failed.
  • Nesting. Execute Actions can be nested. An error is handled by the closest Execute Actions above it that has On Error actions.

Examples​

tip

To understand how to use the below examples, please see Running Examples.

1. Log a failed update and continue​

This action runs a non-critical stored procedure. If it fails, the error is logged and execution carries on with the next action, so the user still gets their confirmation.

{
"Title": "Execute Actions",
"ActionType": "ExecuteActions",
"Description": "Refresh the dashboard cache, but don't stop if it fails",
"Condition": null,
"Parameters": {
"ActionList": [
{
"Title": "Run SQL Query",
"ActionType": "RunSql",
"Parameters": {
"ConnectionString": "",
"QueryTimeout": "",
"SqlQuery": "EXEC dbo.RefreshDashboardCache",
"BindTokens": "",
"OutputTokenName": "",
"ExtractColumns": "",
"OnError": [],
"ShowErrors": false
}
}
],
"OnError": [
{
"Title": "Log Error",
"ActionType": "LogError",
"Parameters": {
"Message": "Dashboard cache refresh failed: [ExceptionMessage]"
}
}
]
}
}

2. Show a friendly message when something goes wrong​

This action checks the Stock field and uses Throw Exception to fail when it's 0. The On Error actions log the technical details ([ExceptionMessage] holds the Admin Message) and show the user a plain message. Because Display Message ends execution, nothing after Execute Actions runs when there's an error.

{
"Title": "Execute Actions",
"ActionType": "ExecuteActions",
"Description": "Check stock before placing the order",
"Condition": null,
"Parameters": {
"ActionList": [
{
"Title": "Throw Exception",
"ActionType": "ThrowException",
"Condition": "[Stock] == \"0\"",
"Parameters": {
"AdminMessage": "Order blocked: product [Product] is out of stock.",
"FriendlyMessage": "This product is out of stock."
}
}
],
"OnError": [
{
"Title": "Log Error",
"ActionType": "LogError",
"Parameters": {
"Message": "[ExceptionMessage]"
}
},
{
"Title": "Display Message",
"ActionType": "DisplayMessage",
"Parameters": {
"Message": "Sorry, this product is out of stock. Please choose another product."
}
}
]
}
}

Revised 09/25/2026