Action Reference for Saltbox Core Connector

Actions are used by a workflow to to download, upload or inspect data from a system.

Refer to the table below for action details.

Action Name Description Version
Add an Item to a List Add the selected input message as a new list item in the indicated list message. The message will be added to the end of the list. 11.13+
Add Content to a Message Add information to the specified message. Content is injected into a section called AdditionalInfo by default, or a specified section.

This action was renamed in version 11.13.0. Older versions still use the action name Add Content To Message.
10.1+
AppendMessage DEPRECATED. Append the output message to the RelatedInformation section of the selected input message and overwrite the output message with the result. 10.0+
Assert DEPRECATED. Assert that one or more conditions are true. 10.0+
Convert a Message into Another Format Convert the selected message data from one format into another. 11.14+
Convert an Array to an Object Convert an array of name & value pairs to an object.

This action was renamed in version 11.13.0. Older versions still use the action name Convert Array to Object.
10.1+
Create a List Create an empty message that will support other List object actions. 11.13+
Create a Raw Message Create a new message which contains a raw message section. 11.13+
Create a Variable Create a variable whose data does not originate from a message. ex: a counter. 11.13+
Delay the Workflow Without ending the workflow, delay the next workflow step by the specified time. 11.13+
Delay the Workflow Conditionally Without ending the workflow, delay the next workflow step by the specified time, but only if supplied conditions are met. 11.13+
End the Workflow Successfully end a workflow early.

This action was renamed in version 11.13.0. Older versions still use the action name End Workflow.
11.4+
End the Workflow Conditionally If the specified conditions are met, successfully end a workflow early.

This action was renamed in version 11.13.0. Older versions still use the action name End Workflow Conditionally.
11.4+
Evaluate Apply an evaluation to a given array 11.1+
Extract a Variable from a Message Use XPath to extract a variable from a message. This variable may be used in subsequent workflow steps.

This action was renamed in version 11.13.0. Older versions still use the action name Extract Variable from Message.
10.0+
Extract Content From a Message Extract data from the input message at the specified section.

This action was renamed in version 11.13.0. Older versions still use the action name Extract Content From Message.
10.1+
Fail the Workflow Fail the workflow immediately and skip retries.

This action was renamed in version 11.13.0. Older versions still use the action name Fail Workflow.
11.4+
Fail the Workflow Conditionally Fail the workflow only if specified conditions are met, and skip retries.

This action was renamed in version 11.13.0. Older versions still use the action name Fail Workflow Conditionally.
11.4+
Format DateTime Format the provided date, as defined in configuration. 11.0+
Generate a CSV Message Convert the provided input message from XML to CVS format. The Output message XML contains CSV data in the node /rawContent.

This action was renamed in version 11.13.0. Older versions still use the action name GenerateCSV.
10.0+
Generate an Empty Message Generate an empty XML or JSON message with a specified root node.

This action was renamed in version 11.13.0. Older versions still use the action name Generate Empty Message.
11.6+
Get a List's Item Count Get a count of how many messages are contained in the list. 11.13+
Get the Current DateTime Get the current date/time as provided by the Saltbox project host.

This action was renamed in version 11.13.0. Older versions still use the action name Get Current DateTime.
10.1+
Group and Process Message Contents Use the input message to group related data and process each group’s contents. 11.3+
Modify a Variable (RegEx) Apply a RegEx (regular expression) to the input string to extract the matching value.

This action was renamed in version 11.13.0. Older versions still use the action name ModifyVariable (RegEx).
10.0+
Parse a Delimited String Parse a delimited string and return output as XML, Json or CSV.

This action was renamed in version 11.13.0. Older versions still use the action name Parse Delimited String.
10.0+
Placeholder This action does not perform any work. It is a placeholder only. 10.1+
Replace a String in a Message Find and replace a string within the selected message. This action may be used to replace XML nodes. 11.10+
Retry the Workflow End the workflow and allow it to be retried at a later time.

This action was renamed in version 11.13.0. Older versions still use the action name Pause Workflow. “Retry” more accurately reflects the behavior of this action than “Pause”.
11.5+
Retry the Workflow Conditionally Conditionally end the workflow and allow it to be retried at a later time.

This action was renamed in version 11.13.0. Older versions still use the action name Pause Workflow Conditionally. “Retry” more accurately reflects the behavior of this action than “Pause”.
11.5+
Route a Message Route the configured In Message to another workflow. Continue through the workflow.

This action was renamed in version 11.13.0. Older versions still use the action name Route Message.
10.0+
Route a Message Synchronously Route the configured In Message to another workflow, and wait for a response before proceeding through this workflow.

This action was renamed in version 11.13.0. Older versions still use the action name Route Message Synchronously.
11.7+
Test that an XPath Exists Inspect the indicated XPath. If it exists, the result will be true. If an exception occurs or the XPath doesn’t exist, the result will be false. 11.9+
Transform a Message Apply a transform map to the selected input message. Enable Apply Map to configure transform details. Enable Save Action Output to Workflow Messages to configure output details.

This action was renamed in version 11.13.0. Older versions still use the action name Transform.
10.0+
Update a Variable Update the specified variable with data extracted from the input message. 11.13+
Wait DEPRECATED. Stop the workflow execution (with or without an exception, as configured) and re-queue the message for re-try. 11.1+

Action Names

Add an Item to a List

Action Name Description Version
Add an Item to a List Add the selected input message as a new list item in the indicated list message. The message will be added to the end of the list. 11.13+

Add Content to a Message

Action Name Description Version
Add Content to a Message Add information to the specified message. Content is injected into a section called AdditionalInfo by default, or a specified section.

This action was renamed in version 11.13.0. Older versions still use the action name Add Content To Message.
10.1+

AddContentToMessage Action

Add content to a message, at a specified location within that message. Configuration options allow for replacing or appending data.

Configuration

AddContentToMessage Action Details 1

This action requires both Input and Output messages. This action handles input/output messages differently from other actions, in that both are processed by the action itself (i.e. no mappings should be configured).

  • The specified input message (Input Message to Use, marker 1 above) is used to supply this action with data.

    Data to include is defined through advanced options (outlined below).

  • The specified output message (Message to Write To, marker 2 above) is the target of this action, i.e. this is where content is added.

    Advanced options are outlined below.

  • Section Name (marker 3 above) defines the path where the data will be added to the output message. Content is added to the node AdditionalInfo, in a sub-section as defined in settings outlined below.

  • XPath to Extract Data (marker 4 above) defines the XPath to the input message data that will be captured, based on settings outlined below.

  • XPath Action (marker 5 above) determines how data will be extracted from the input message.

    • ExtractSingle (Default option when None is selected) - Extract the first instance of the specified XPath.

    • ExtractAllSiblings - Extract all instances of the specified XPath.

  • Action Result When XPath Not Found (marker 6 above) indicates what to do if the input message (Input Message to Use) does not contain the specified XPath to Extract Data.

    • RaiseException (Default option when None is selected) - If the input message’s XPath to Extract Data isn’t found, the workflow will fail with an exception.

    • EmptyString - If the input message’s XPath to Extract Data isn’t found,

  • Add Content Action (marker 7 above) defines how content is injected into the output message. Options are:

    • AppendAsChild - Add the content as a child of the indicated section. This nests the content within the indicated section.

    • AppendAsSibling - Add the content, appending to any existing content in the same section. This adds a new section of the same name if one already exists.

    • Replace - Add the content, replacing any existing content in the same section.

    • SingleInstance - If the content doesn’t already exist, add it to the message. An exception will result if the indicated section already exists.

AppendMessage

Action Name Description Version
AppendMessage DEPRECATED. Append the output message to the RelatedInformation section of the selected input message and overwrite the output message with the result. 10.0+

Assert

Action Name Description Version
Assert DEPRECATED. Assert that one or more conditions are true. 10.0+

Convert a Message into Another Format

Action Name Description Version
Convert a Message into Another Format Convert the selected message data from one format into another. 11.14+

The Input Message to Use setting indicates which message will be transformed. A copy of this message will be transformed, then saved to a new message using the option Save Action Output to Workflow Messages. See a walkthrough of this setting for more details.

Convert an Array to an Object

Action Name Description Version
Convert an Array to an Object Convert an array of name & value pairs to an object.

This action was renamed in version 11.13.0. Older versions still use the action name Convert Array to Object.
10.1+

Create a List

Action Name Description Version
Create a List Create an empty message that will support other List object actions. 11.13+

Create a Raw Message

Action Name Description Version
Create a Raw Message Create a new message which contains a raw message section. 11.13+

Create a Variable

Action Name Description Version
Create a Variable Create a variable whose data does not originate from a message. ex: a counter. 11.13+

Delay the Workflow

Action Name Description Version
Delay the Workflow Without ending the workflow, delay the next workflow step by the specified time. 11.13+

Delay the Workflow Conditionally

Action Name Description Version
Delay the Workflow Conditionally Without ending the workflow, delay the next workflow step by the specified time, but only if supplied conditions are met. 11.13+

End the Workflow

Action Name Description Version
End the Workflow Successfully end a workflow early.

This action was renamed in version 11.13.0. Older versions still use the action name End Workflow.
11.4+

End Action

Use this action to end a workflow early. This action is not required during normal workflow execution, and is instead a way to successfully end a workflow without performing any further actions.

For example, this action may be useful at the end of an if/else branch whose other execution path has further actions to perform.

Configuration

End Action Details 1

  • Log Comments (marker 1 above) are added to the workflow execution log when this action is executed.

End the Workflow Conditionally

Action Name Description Version
End the Workflow Conditionally If the specified conditions are met, successfully end a workflow early.

This action was renamed in version 11.13.0. Older versions still use the action name End Workflow Conditionally.
11.4+

EndConditionally Action

Use this action to end a workflow early, but only when specified conditions are met. This action is not required during normal workflow execution, and is instead a way to successfully end a workflow without performing any further actions.

For example, this action may be useful at the end of an if/else branch whose other execution path has further actions to perform.

Configuration

EndConditionally Action Details 1

For each condition that will be assessed, configure the Actual Value, Condition, and if comparing two values, the Expected Value.

  • Actual Value (marker 1 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Condition (marker 2 above) may compare two values or inspect the Actual Value only.

  • Expected Value (marker 3 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Log Comments (marker 4 above) are added to the workflow execution log when the condition is met.

  • Add Conditions (marker 5 above) may be used to add more than one condition. At least one condition is required.

  • Condition Operation (marker 6 above) specifies whether to match any condition (logical “or”) or all conditions (logical “and”).

Evaluate

Action Name Description Version
Evaluate Apply an evaluation to a given array 11.1+

Extract a Variable from a Message

Action Name Description Version
Extract a Variable from a Message Use XPath to extract a variable from a message. This variable may be used in subsequent workflow steps.

This action was renamed in version 11.13.0. Older versions still use the action name Extract Variable from Message.
10.0+

AddOutPutVariable Action

This action creates a variable whose value is extracted from a message. Use XPath to define which data to extract. Data must be a terminating node, as opposed to data with child elements.

In the sample data below two valid XPaths that can be extracted are //course/reg_num and /course/subj. An example that yields an invalid result is /course/time as there are child elements within time.

<course>
  <reg_num>20557</reg_num>
  <subj>CHEM</subj>
  <crse>212</crse>
  <sect>S</sect>
  <title>Intro Inorganic Chemistry</title>
  <units>1.0</units>
  <instructor>Geselbracht</instructor>
  <days>M-W-F</days>
  <time>
    <start_time>11:00AM</start_time>
    <end_time>11:50</end_time>
  </time>
  <place>
    <building>CHEM</building>
    <room>301</room>
  </place>
</course>

Configuration

AddOutPutVariable Action Details 1

  • Select the desired message (1). See Select the Input Message to Use for details.

  • Set the desired XPath (2). The format of the actions’ input message can be determined by running the workflow and using message trace to inspect the action’s InMessage.xml data.

Usage

Once the AddOutPutVariable action has been added to the workflow, subsequent actions and visual data mappings can consume the variable’s value.

  • When editing an action, use the plus button next to most text fields to add a variable.

    AddOutPutVariable Action Details 2

  • In the “Actions” section, select the Action ID for your variable. In the screenshot below, this is Action_extractVar1

    AddOutPutVariable Action Details 3

    AddOutPutVariable Action Details 4

  • Press the Insert button to add the variable to the field (with proper syntax for that field). Some XPath fields exclude the wrapping double-pipe syntax, so in some cases the XPath will be added as raw string instead of a formatted variable. This is done automatically depending on the action’s requirements.

    AddOutPutVariable Action Details 5

Extract Content From a Message

Action Name Description Version
Extract Content From a Message Extract data from the input message at the specified section.

This action was renamed in version 11.13.0. Older versions still use the action name Extract Content From Message.
10.1+

Fail the Workflow

Action Name Description Version
Fail the Workflow Fail the workflow immediately and skip retries.

This action was renamed in version 11.13.0. Older versions still use the action name Fail Workflow.
11.4+

Fail Action

Use this action to fail a workflow at a specific point. Retry logic (if enabled) will not be applied.

For example, this action may be useful at the end of an if/else branch.

Configuration

Fail Action Details 1

  • Log Comments (marker 1 above) are added to the workflow execution log when this action is executed.

Fail the Workflow Conditionally

Action Name Description Version
Fail the Workflow Conditionally Fail the workflow only if specified conditions are met, and skip retries.

This action was renamed in version 11.13.0. Older versions still use the action name Fail Workflow Conditionally.
11.4+

FailConditionally Action

Use this action to fail a workflow at a specific point, but only when specified conditions are met. Retry logic (if enabled) will not be applied.

For example, this action may be useful if following actions depend on certain data (or other conditions).

Configuration

FailConditionally Action Details 1

For each condition that will be assessed, configure the Actual Value, Condition, and if comparing two values, the Expected Value.

  • Actual Value (marker 1 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Condition (marker 2 above) may compare two values or inspect the Actual Value only.

  • Expected Value (marker 3 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Log Comments (marker 4 above) are added to the workflow execution log when the condition is met.

  • Add Conditions (marker 5 above) may be used to add more than one condition. At least one condition is required.

  • Condition Operation (marker 6 above) specifies whether to match any condition (logical “or”) or all conditions (logical “and”).

Format DateTime

Action Name Description Version
Format DateTime Format the provided date, as defined in configuration. 11.0+

FormatDateTime Action

Create a variable or output message in the target date/time format.

Configuration

FormatDateTime Action Details 1

When formatting a date, datetime or time string, the following settings and defaults are used:

  • DateTime - (required) This value may be supplied by a variable or XPath (extracted from the action’s input message), or a string. See marker 3 above.
  • Source Format - (required) This string defines the structure of the source DateTime. See format options below. See marker 4 above.
  • Source Culture - This is an optional setting. If not supplied, this value uses the “Culture Invariant” option. See marker 5 above.
  • Target DateTime Format - (required) This string defines how the end result will be formatted. See format options below. See marker 6 above.
  • Target DateTime Culture - This is an optional setting. If not supplied, this value uses the “Culture Invariant” option. See marker 7 above.

The output of this action is available as an action variable. If configured, this value may also be saved to the action’s output message (markers 1 and 2 above).

Format Options

In general, format options follow the Microsoft date standards defined here: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

Format strings in Saltbox functions don’t require quotes. Single-character formats (such as s sortable, M month-day pattern, etc.) are supported, as well as long formats (such as yyyy-MM-dd or MM/dd/yyyy).

Some common examples include:

  • s - Sortable date (used by Shopify). For example: 2009-06-15T13:45:30
  • yyyyMMdd - year, month, day with no spaces (used by SAP Business One). For example: 20200224
  • F - Full (long) date/time pattern. For example: 2009-06-15T13:45:30 -> Monday, June 15, 2009 1:45:30 PM

Shown below, a DateTime (2009-06-15T13:45:30) is given to the function in the short format (Source DateTime Format = s) will be formatted into yyyyMMdd format (Target DateTime Format = yyyyMMdd):

FormatDateTime Action Details 2

Using the same formatting, the date can be supplied from a source data field. Shown below, the source field $created_at is mapped from the source to the target, then dragged to the field from the top into the DateTime parameter.

FormatDateTime Action Details 3

Culture Options

Culture may be specified by providing a locale short code, such as en-US, en-GB, fr-FR, etc. If not provided, or if the provided culture can’t be resolved, “Culture Invariant” will be used instead.

Generate a CSV Message

Action Name Description Version
Generate a CSV Message Convert the provided input message from XML to CVS format. The Output message XML contains CSV data in the node /rawContent.

This action was renamed in version 11.13.0. Older versions still use the action name GenerateCSV.
10.0+

Generate an Empty Message

Action Name Description Version
Generate an Empty Message Generate an empty XML or JSON message with a specified root node.

This action was renamed in version 11.13.0. Older versions still use the action name Generate Empty Message.
11.6+

GenerateEmptyMessage Action

Create an empty message, which may be appended to in future actions. Set the root node name through configuration.

Configuration

GenerateEmptyMessage Action Details 1

  • Enable the option “Save Action Output to Workflow Message” (marker 1 above).

  • Add or select a “Message to Write To” (marker 2 above).

    Note: If an existing message is selected, the message’s contents will be replaced with this new empty message.

  • Define the “Root Node Name” (marker 3 above), which will set the root node.

  • Set the “output response type” to JSON or XML (by default XML). See marker 4 above.

Troubleshooting

  • If the workflow generates no message, ensure the option Save Action Output to Workflow Message is configured.

Get a List’s Item Count

Action Name Description Version
Get a List's Item Count Get a count of how many messages are contained in the list. 11.13+

Get the Current DateTime

Action Name Description Version
Get the Current DateTime Get the current date/time as provided by the Saltbox project host.

This action was renamed in version 11.13.0. Older versions still use the action name Get Current DateTime.
10.1+

GetCurrentDateTime Action

Create a variable or output message with the current date/time.

Date/time values are provided by the Cloud Container in UTC or by the Application Server which hosts the Saltbox project. In the case of an Application Server host, the time zone is as configured on the server. Values can be standardized to UTC by setting TimezoneOffset to +0.

Configuration

GetCurrentDateTime Action Details 1

When formatting a date, datetime or time string, the following settings and defaults are used:

  • Format - This is an optional setting. This string defines the structure of the source DateTime. See format options [in the “Format DateTime” action description above]. See marker 2 above.
  • Culture - This is an optional setting. If not supplied, this value uses the “Culture Invariant” option. See marker 3 above.
  • TimezoneOffset - This is an optional setting. Specify a time zone offset relative to Coordinated Universal Time (UTC). See marker 4 above.

    When using a Cloud Container to host this Saltbox project, default values are in UTC. Use Convert DateTime to Given Offset to display in a different time zone, as specified by this TimezoneOffset.

    When using an Application Server to host this Saltbox project, default values depend on the host server. Set this TimezoneOffset to +0 to standardize to UTC, or omit this setting to use the time zone specified by the server.

    • Examples include:

      • +0 - UTC

      • -3 - EDT

      • -8 - PT

      • -2:30 - NDT

  • Convert DateTime to Given Offset - When checked, this option will apply the provided time zone offset to all variables. When disabled, the provided TimezoneOffset will be applied to only the CustomDateTime variable.

Usage

The output of this action is available in several formats:

  • As an action variable:

    • GetCurrentDateTime Action Details 2

    • CustomDateTime applies the provided format to the generated date/time. Using the short code o, a time zone offset of 2:30 would be displayed as: 2021-04-08T06:50:06.2046513-02:30

      This variable is shown above in context as ||VAR:Action_GetDateTime.CustomDateTime||, or more generally ||VAR:Action_ID.CustomDateTime|| where Action_ID is defined in the workflow.

    • Other date/time variables are listed below. Examples use the following date/time as a point of reference: 2021-04-08T09:02:47

      • Date - ex: 04/08/2021
      • FullDate - ex: Thursday, 08 April 2021
      • FullDateTime - ex: Thursday, 08 April 2021 09:02:47
      • FullTime - ex: 09:02:47
      • ShortDateTime - ex: 04/08/2021 09:02
      • SortableDateTime - ex: 2021-04-08T09:02:47
      • Time - ex: 09:02
  • If configured, this value may also be saved to the action’s output message, which can be used as an input message for other actions.

Culture Options

Culture may be specified by providing a locale short code, such as en-US, en-GB, fr-FR, etc. If not provided, or if the provided culture can’t be resolved, “Culture Invariant” will be used instead.

Group and Process Message Contents

Action Name Description Version
Group and Process Message Contents Use the input message to group related data and process each group’s contents. 11.3+

Modify a Variable (RegEx)

Action Name Description Version
Modify a Variable (RegEx) Apply a RegEx (regular expression) to the input string to extract the matching value.

This action was renamed in version 11.13.0. Older versions still use the action name ModifyVariable (RegEx).
10.0+

Parse a Delimited String

Action Name Description Version
Parse a Delimited String Parse a delimited string and return output as XML, Json or CSV.

This action was renamed in version 11.13.0. Older versions still use the action name Parse Delimited String.
10.0+

ParseDelimitedString Action

Parse the provided string into a collection of the specified type.

Configuration

ParseDelimitedString Action

  • Save results to the action output message (markers 1 and 2 above). This will be saved as a collection that can be iterated through in ForEach loops. Use the action variable XPathSplitter to iterate over a collection using ForEach loops.

  • Input String - this can be a string value (as shown) or may be provided by a project/workflow variable (for example, as a project-level configuration variable), or provided by other variables generated within the workflow.

  • Delimiter - the characters used to split the data, for example CSV uses , (comma).

  • Output Type - set the output type of the resulting data, for example, CSV, JSON or XML.

Usage

Results are available in the action’s output message. Metadata about the data is found in action variables Count and XPathSplitter.

Placeholder

Action Name Description Version
Placeholder This action does not perform any work. It is a placeholder only. 10.1+

XXX_ACTION_XXX Action

No configuration is necessary to use this action.

Add this action to empty branches or in place of unknown steps in a workflow.

No work is performed by this action, but when this action is executed in a workflow, a warning-level log entry will be added to the workflow message log. This action’s logging is suppressed when the workflow’s log level is set to Error.

Replace a String in a Message

Action Name Description Version
Replace a String in a Message Find and replace a string within the selected message. This action may be used to replace XML nodes. 11.10+

Retry the Workflow

Action Name Description Version
Retry the Workflow End the workflow and allow it to be retried at a later time.

This action was renamed in version 11.13.0. Older versions still use the action name Pause Workflow. “Retry” more accurately reflects the behavior of this action than “Pause”.
11.5+

Pause Action

Use this action to end a workflow early, and flag the workflow for retry (as per configured workflow retry settings).

For example, this action may be useful at the end of an if/else branch where certain data has not been found.

Configuration

Pause Action Details 1

  • Log Comments (marker 1 above) are added to the workflow execution log when this action is executed.

Requirement

Note: This action will only function if retries are enabled for the workflow. To confirm this setting is enabled:

  • On the Workflow Settings page, expand the Message Processing Settings section.

  • Scroll down to the option “Enable Retry settings for failed messages” and ensure this is checked.

  • Set the “Max Retries” to a value greater than 0 (3 or 4 is typical, depending on the system).

  • Set the “Retry Interval (minutes)” to a reasonable value. In some systems this can be as little as 1 minute, in other systems with high volume transactions it may make more sense to wait 5-10 minutes between retries.

Retry the Workflow Conditionally

Action Name Description Version
Retry the Workflow Conditionally Conditionally end the workflow and allow it to be retried at a later time.

This action was renamed in version 11.13.0. Older versions still use the action name Pause Workflow Conditionally. “Retry” more accurately reflects the behavior of this action than “Pause”.
11.5+

PauseConditionally Action

Use this action to end a workflow early, and flag the workflow for retry (as per configured workflow retry settings).

For example, this action may be useful if following actions depend on certain data (or other conditions), which would be available after a delay (for example, an order whose payment is pending approval, or an inventory update for an item which hasn’t been added to the system yet).

Configuration

PauseConditionally Action Details 1

For each condition that will be assessed, configure the Actual Value, Condition, and if comparing two values, the Expected Value.

  • Actual Value (marker 1 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Condition (marker 2 above) may compare two values or inspect the Actual Value only.

  • Expected Value (marker 3 above) may be pulled from the input message (using XPath), from a variable, or a text value.

  • Log Comments (marker 4 above) are added to the workflow execution log when the condition is met.

  • Add Conditions (marker 5 above) may be used to add more than one condition. At least one condition is required.

  • Condition Operation (marker 6 above) specifies whether to match any condition (logical “or”) or all conditions (logical “and”).

Requirement

Note: This action will only function if retries are enabled for the workflow. To confirm this setting is enabled:

  • On the Workflow Settings page, expand the Message Processing Settings section.

  • Scroll down to the option “Enable Retry settings for failed messages” and ensure this is checked.

  • Set the “Max Retries” to a value greater than 0 (3 or 4 is typical, depending on the system).

  • Set the “Retry Interval (minutes)” to a reasonable value. In some systems this can be as little as 1 minute, in other systems with high volume transactions it may make more sense to wait 5-10 minutes between retries.

Route a Message

Action Name Description Version
Route a Message Route the configured In Message to another workflow. Continue through the workflow.

This action was renamed in version 11.13.0. Older versions still use the action name Route Message.
10.0+

Trigger another event-based workflow using this action, and continue through this workflow. The routed message will be processed separately.

Route a Message Synchronously

Action Name Description Version
Route a Message Synchronously Route the configured In Message to another workflow, and wait for a response before proceeding through this workflow.

This action was renamed in version 11.13.0. Older versions still use the action name Route Message Synchronously.
11.7+

Trigger another event-based workflow using this action. This workflow will wait for a response before continuing.

Test that an XPath Exists

Action Name Description Version
Test that an XPath Exists Inspect the indicated XPath. If it exists, the result will be true. If an exception occurs or the XPath doesn’t exist, the result will be false. 11.9+

Transform a Message

Action Name Description Version
Transform a Message Apply a transform map to the selected input message. Enable Apply Map to configure transform details. Enable Save Action Output to Workflow Messages to configure output details.

This action was renamed in version 11.13.0. Older versions still use the action name Transform.
10.0+

Update a Variable

Action Name Description Version
Update a Variable Update the specified variable with data extracted from the input message. 11.13+

Wait

Action Name Description Version
Wait DEPRECATED. Stop the workflow execution (with or without an exception, as configured) and re-queue the message for re-try. 11.1+

Configuration Options

When configuring workflow actions, some configuration options can be added to multiple actions. Common options are detailed below.

Set Retry Save Point

When enabled, Set Retry Save Point allows a workflow to retry from a save point instead of retrying from the beginning. A retry save point is only used if the action was successful.

For example, if the workflow below is executed but fails on action E, the workflow will retry from action B - the last successful retry save point. This is because although action E is marked as a retry save point, it was not successfully completed, so is not counted as a retry point.

Select the Input Message to Use

This option indicates which message will be used by the action.

  • All Messages selects all message data that has been fetched during this workflow execution. The format of this message wraps around other data.

    Basic format:

    <WFMessage>
      <Current>
        <!-- Triggered data, plus any modifications -->
      </Current>
      <RelatedMessages>
        <!-- Messages generated by workflow actions and mappings, grouped by output message name -->
      </RelatedMessages>
    </WFMessage>
    

    For example:

    <WFMessage>
      <Current>
        <course>
          <reg_num>20557</reg_num>
          <subj>CHEM</subj>
          <crse>212</crse>
          <sect>S</sect>
          <title>Intro Inorganic Chemistry</title>
          <units>1.0</units>
          <instructor>Geselbracht</instructor>
          <days>M-W-F</days>
          <time>
            <start_time>11:00AM</start_time>
            <end_time>11:50</end_time>
          </time>
          <place>
            <building>CHEM</building>
            <room>301</room>
          </place>
        </course>
      </Current>
      <RelatedMessages>
        <AddContentOutput>
          <custom_data>
            <AdditionalInfo>
              <reg_num>20557</reg_num>
            </AdditionalInfo>
          </custom_data>
        </AddContentOutput>
      </RelatedMessages>
    </WFMessage>
    

    XPath to “Current Message” content includes the prefix /WFMessage/Current (for example /WFMessage/Current/course/reg_num).

  • Current Iteration selects this iteration of a for-each loop. This option is only enabled within loops.

  • Current Message indicates the workflow’s triggered message, including any changes to that data (for example, appended content). XPaths depend on the data contained within the message, for example /course/reg_num.

    In the above example, Current Message would contain the following data:

    <course>
      <reg_num>20557</reg_num>
      <subj>CHEM</subj>
      <crse>212</crse>
      <sect>S</sect>
      <title>Intro Inorganic Chemistry</title>
      <units>1.0</units>
      <instructor>Geselbracht</instructor>
      <days>M-W-F</days>
      <time>
        <start_time>11:00AM</start_time>
        <end_time>11:50</end_time>
      </time>
      <place>
        <building>CHEM</building>
        <room>301</room>
      </place>
    </course>
    
  • Named messages may also be selected. These are generated by other workflow actions.

    In the above example, the named message AddContentOutput would contain the following data:

    <custom_data>
      <AdditionalInfo>
        <reg_num>20557</reg_num>
      </AdditionalInfo>
    </custom_data>
    

Apply Map

If enabled, the input message will be mapped or transformed, as per advanced options (outlined below).

Select the Type of Map

This option is only available if Apply Map has been enabled.

  • Map - choose this option to map data from one format to another. For example, to map order, customer or inventory data between two different systems. Advanced configuration of the map is applied using Visual Data Mapper. See Visual Data Mapper Overview for walkthroughs and tutorials.

  • XSLT - choose this option if an XSLT file will be used to format the action’s message data. For best results, use this option to generate HTML content.

Select the Map to Use

This option is only available if Apply Map has been enabled.

Map Output

This option is only available if Apply Map has been enabled.

This option is used to help interact with mapping results within Saltbox. Each connector communicates with its supported vendor in that vendor’s natively supported language. The results of the mapping (regardless of format) are translated into the format required by each vendor.

Save Action Output to Workflow Messages

This option saves the output of an action (such as data mapping results) as part of the workflow execution. This is useful when an action’s mapping data is required further in the workflow. This option also aids in troubleshooting, provided data retention settings allow it.

Note that some actions don’t support saving an output message, such as when no message data is handled.

Select the Message to Write To

This option is only available if Save Action Output to Workflow Messages has been enabled.

This dictates where message data is saved. Most actions overwrite the selected message, so in most cases, a new output message is used. However, some actions augment the selected message (such as the Saltbox Core Connector action Add Content to Message).

Add Comment

Use this option to add context or help other users maintain this workflow. Inclusion of a comment has no impact on workflow execution.

When supplied, comments are displayed in both workflow designer and message trace.

Display Customized Error Message upon Failure

When enabled, a customized error message is displayed when a workflow fails at this action. Optionally append the original error message. This option can be used to provide likely causes of issues, such as recurring issues or pointers to personalized troubleshooting reminders.