Tools

Getting started with Tools

Our Tools section includes several useful modules that can enhance your scenario.

Triggers

Basic trigger

Allows you to create a custom trigger and define its input bundles.


Bundle
Create custom bundles by adding array items.

The array consists of the name-value pairs.

You can use it, for example, for contacts or any other list that is scheduled to be sent to a specified email address (Email > Send an Email, Gmail > Send an Email modules), or as a simple reminder to be triggered whenever you want.

Increment function

Returns a value incremented by 1 after each module’s operation. It is possible to configure the module to reset the value:

  • After one cycle
  • After one scenario run
  • Never


Example

One of the module’s uses is to implement a so-called Round robin assignment of tasks/leads/emails/etc. to users in a group. The algorithm chooses the assignees from a group in some rational order, usually going from the top to the bottom of a list and then starting again at the top of the list and continuing until finished (like you would deal a deck of cards).

The following scenario sends an email to the first recipient after every odd scenario run, and to the second recipient after every even scenario run.

61d5a3c566611.gif

Configure the module to never reset the value:

61d5a3c8a027b.png

There are two conditions used after the router module:

1. Odd – set the condition using the modulus math function that equals 1:

61d5a3ca16a69.gif

Do not forget to change the Equal to operator from the default Text operator to the Numeric operator!

61d5a3cd33ade.gif

2. Even – set the condition using the modulus math function that equals 0:

61d5a3cf6a8cd.png

Sleep

Allows you to delay the scenario flow for up to 300 seconds (5 minutes).


Delay
Enter the number of seconds the scenario will be paused for.

This function can be useful, for example, if you want to lower the target service server load or to simulate more human behavior when sending bulk SMS or emails.

If you wish to pause the flow for longer periods of time, we suggest splitting your scenario into two scenarios:

  1. The first scenario would contain the part before the pause
  2. The second scenario would contain the part after it

The first scenario would end up storing all the necessary information in a Data store together with the current timestamp. The second scenario would periodically check the Data store for records with a timestamp older than the intended delay, retrieve the records, finalize the processing of the data, and remove the records from the Data store.

Set Variable

Creates a variable that can be mapped by other modules in the route or by the Get Variable module for every route in the scenario.


Variable name
Enter the variable name. This name will be displayed when mapping the variable in other modules.

Variable lifetime
One cycle

The variable is valid only for one cycle. Useful when multiple webhooks in one scenario run are received (more webhooks = more cycles).

One execution

The variable is valid for one execution. One execution can contain more cycles.


Variable value
Enter the value of the variable.

Set Multiple Variables

Creates multiple variables that can be mapped by other modules in the route or by the Get Multiple Variables module for every route in the scenario within a single operation.

The main benefits of the Set multiple variables module are:

  • one Set multiple variables module can replace a whole series of Set variable modules
  • one Set multiple variables module consumes just a single operation

Variables
Add multiple variables you want to set.


Variable name
Enter the variable name. This name will be displayed when mapping the variable in other modules.

Variable value
Enter the value of the variable.

Variable lifetime
One cycle

The variable is valid only for one cycle. Useful when multiple webhooks in one scenario run are received (more webhooks = more cycles).

One execution

The variable is valid for one execution. One execution can contain more cycles.

Possible uses of the Set/Get (multiple) variable(s) modules:

  • To store a calculated value for later use, even in a different route. Especially in cases when the value is used in multiple modules and the formula to calculate the value is overly complex.
  • To debug a formula. If a formula used in a module does not seemingly provide a correct result, copy the formula and paste it into a Set Variable module that you insert before the relevant module. Disconnect the module(s) after the Set Variable module and execute the scenario. Verify the Set Variable module’s output, adjust/simplify the formula, execute the scenario again, and continue to do so until the issue has been resolved.

Get Variable

Retrieves a value that was previously created by the Set Variable module.

Note that this module can read a variable that was set anywhere in the scenario. The only requirement is that the Tools > Set Variable is executed before (in time) the Tools > Get Variable module. See the documentation for the Router module for information about the order in which routes are processed.

61d5a3d0d93ce.png

Get Multiple Variables

Retrieves values that were previously created by the Set Multiple Variables module within a single operation.

The main benefits of the Set multiple variables module are:

  • one Get multiple variables module can replace a whole series of Get variable modules
  • one Get multiple variables module consumes just a single operation

Variables
Add multiple variables you want to get.


Variable name
Map the variable name of the variable you want to get.

Possible uses of the Set/Get (multiple) variable(s) modules:

  • To store a calculated value for later use, even in a different route. Especially in cases when the value is used in multiple modules and the formula to calculate the value is overly complex.
  • To debug a formula. If a formula used in a module does not seemingly provide a correct result, copy the formula and paste it into a Set Variable module that you insert before the relevant module. Disconnect the module(s) after the Set Variable module and execute the scenario. Verify the Set Variable module’s output, adjust/simplify the formula, execute the scenario again, and continue to do so until the issue has been resolved.

Aggregators

Table Aggregator

Merges values from the selected fields of received bundles into a single bundle using a specified column and row separator (which allows you to create a table).


Source module
Select the module you want to aggregate fields from.

Aggregated fields
Select the fields from the module selected above whose values you want to aggregate into one bundle.

Column separator
Select or enter the type of separator that will separate the field value columns in the resulting bundle.

Row separator
Select or enter the type of separator that will separate the field value rows in the resulting bundle.

Group by
Define an expression containing one or more mapped items. The aggregated data will then be separated into Groups with the same expression’s value. Each Group outputs a separate bundle containing a Key with the evaluated expression and the aggregated text. By doing this, you can use the Key as a filter in subsequent modules.

Text Aggregator

Merges values from the selected fields of received bundles into a single bundle.


Example

You can use the text aggregator tool to insert more values (e.g. customer names or notes) into a single bundle and send an email containing all the values in the email body or the email subject.

Numeric Aggregator

This module allows you to retrieve numerical values, then apply one of the selected functions (SUM, AVG, COUNT, MAX,…), and return the result in one bundle.


Example

The module sums up values under the number parameter.

61d5a3d2ad0fa.gif

Transformers

Compose a String

Converts any value to a string data type (text). It makes the mapping easier when mapping e.g. binary data.

Convert the Encoding of the Text

Converts entered input text (or binary data) to the selected encoding.


Input data
Enter the content you want to convert.

Input data codepage
Enter the input data encoding type. This is important for the binary form of data.

Output data codepage
Select the target encoding of your data.

Switch

Checks the input value for a match with the provided list of values. Returns output based on the result.


Input
Enter the expression you want to evaluate.

Cases
If the input contains a value entered to the Pattern field, then the value entered to the Output field is returned. If the condition is not met, then no output is returned OR the value from the Else field (below) is returned.

Else
Enter the value that is returned when the criteria set in the Cases field are not met.

Execute a Scenario

Status: PLANNED – see the Workaround section below.

Workaround

Employ the HTTP > Make a request module in the main scenario to call the other scenario. Employ the Webhooks > Custom webhook module in the other scenario to receive the call. Employ the Webhooks > Webhook response module in the other scenario to return the response.

Stop / Throw (an error)

In some cases, you may want to forcibly stop the scenario execution after the rollback or commit phase or to stop the processing of a route and optionally store it in the queue of incomplete executions.

Status: PLANNED – see the Throw module.