0% found this document useful (0 votes)
24 views255 pages

Ilovepdf Merged Compressed

Uploaded by

gsilva.fabio2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views255 pages

Ilovepdf Merged Compressed

Uploaded by

gsilva.fabio2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 255

20/11/2024, 09:01 Array functions

Array functions 

You can use array functions to transform array data[../mapping/item-data-types.html#array]. Array


functions can, for example, search and sort the items in an array, perform mathematical
operations, convert arrays to collections, reorder the items in an array, and more. Below is a
list of supported array functions and a description what of each function does.

add (array; value1; value2; ...)


Adds values specified in parameters to an array and returns that array.

contains (array; value)


Verifies if an array contains the value.

deduplicate (array)
Removes duplicates from an array.

distinct (array; [key])


Removes duplicates inside an array. Use the key argument to access properties inside
complex objects. To access nested properties, use dot notation. The first item in an array is
index 1.

distinct( Contacts[] ; name )

= Removes duplicates inside an array of contacts by comparing the name property.

https://www.make.com/en/help/functions/array-functions 1/6
20/11/2024, 09:01 Array functions

first (array)
Returns the first element of an array.

flatten (array)
Creates a new array with all sub-array elements concatenated into it recursively up to the
specified depth.

More details about flatten function can be found at


the Array.prototype.flat[https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat] documentation.

join (array; separator)


Concatenates all the items of an array into a string, using a specified separator between each
item.

keys (object)
Returns an array of a given object's or array's properties.

last (array)
Returns the last element of an array.

length (array)
Returns the number of items in an array.

https://www.make.com/en/help/functions/array-functions 2/6
20/11/2024, 09:01 Array functions

map (complex array; key;[key for


filtering];[possible values for filtering
separated by a comma])
Returns a primitive array containing values of a complex array. Allows filtering values. Use raw
variable names for keys.

map( Emails[] ; email )

= Returns a primitive array with emails.

map( Emails[] ; email ; label ; work,home )

= Returns a primitive array with emails that have a label equal to work or home.

See also Mapping: Accessing array's elements by a key[../mapping/mapping-arrays.html#mapping-


an-array-s-element-with-a-given-key] and our Extract an item and/or its value from an array of
collections[https://www.youtube.com/watch?v=W9CgDTeppmE] video tutorial.

merge (array1; array2; ...)


Merges two or more arrays into one array.

remove (array; value1; value2; ...)


Removes values specified in the parameters of an array. Effective only in case of primitive
arrays of text or numbers.

reverse (array)
The first element of the array becomes the last element and vice versa.

https://www.make.com/en/help/functions/array-functions 3/6
20/11/2024, 09:01 Array functions

shuffle (array)
Shuffles (randomly reorders) elements of an array.

slice (array; start; [end])


Returns a new array containing only selected items. The first item in the array has an index of
0.

sort (array; [order]; [key])


Sorts values of an array. The valid values of the order parameter are:

asc (default) - ascending order: 1, 2, 3, ... for type Number. A, B, C, a, b, c, ... for type
Text.
desc - descending order: ..., 3, 2, 1 for type Number. ..., c, b, a, C, B, A for type Text.
asc ci - case insensitive ascending order: A, a, B, b, C, c, ... for type Text.
desc ci - case insensitive descending order: ..., C, c, B, b, A, a for type Text.

Use the key parameter to access properties inside complex objects. Use raw variable names
for keys. To access nested properties, use dot notation. The first item in an array is index 1.

Example 2. sort( Contacts[] ; name )


Sorts an array of contacts by the name property in default ascending order.

Example 3. sort( Contacts[] ; desc ; name )


Sorts an array of contacts by the name property in descending order.

Example 4. sort( Contacts[] ; asc ci ; name )


Sorts an array of contacts by the name property in case insensitive ascending order.

https://www.make.com/en/help/functions/array-functions 4/6
20/11/2024, 09:01 Array functions

Example 5. sort( Emails[] ; sender.name )


Sorts an array of emails by the sender.name property.

toArray (collection)
Converts a collection into an array of key-value collections.

toCollection (array; key; value)


Converts an array containing objects with key-value pairs into a collection.

In this section
add (array; value1; value2; ...)[../functions/array-functions.html#add--array--value1--value2------]

contains (array; value)[../functions/array-functions.html#contains-array--value-]

deduplicate (array)[../functions/array-functions.html#deduplicate--array-]

distinct (array; [key])[../functions/array-functions.html#distinct-array---key--]

first (array)[../functions/array-functions.html#first--array-]

flatten (array)[../functions/array-functions.html#flatten--array-]

join (array; separator)[../functions/array-functions.html#join-array--separator-]

keys (object)[../functions/array-functions.html#keys-object-]

last (array)[../functions/array-functions.html#last--array-]

length (array)[../functions/array-functions.html#length-array-]

map (complex array; key;[key for filtering];[possible values for filtering separated by a comma])
[../functions/array-functions.html#map-complex-array--key--key-for-filtering---possible-values-for-filtering-
separated-by-a-comma--]

merge (array1; array2; ...)[../functions/array-functions.html#merge--array1--array2------]

remove (array; value1; value2; ...)[../functions/array-functions.html#remove--array--value1--value2------]

reverse (array)[../functions/array-functions.html#reverse--array-]

shuffle (array)[../functions/array-functions.html#shuffle--array-]

https://www.make.com/en/help/functions/array-functions 5/6
20/11/2024, 09:01 Array functions

slice (array; start; [end])[../functions/array-functions.html#slice--array--start---end--]

sort (array; [order]; [key])[../functions/array-functions.html#sort--array---order----key--]

toArray (collection)[../functions/array-functions.html#toarray--collection-]

toCollection (array; key; value)[../functions/array-functions.html#tocollection--array--key--value-]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/array-functions 6/6
20/11/2024, 09:04 Certificates and keys

Certificates and keys 

There are two ways of inserting a key or certificate.

1. Direct inserting
2. Extracting from the file (P12, PFX or PEM)

+ Direct inserting
[#direct-inserting_body]

+ Extracting from the file


[#extracting-from-the-file_body]

In this section
Direct inserting[../functions/certificates-and-keys.html#direct-inserting]

Extracting from the file[../functions/certificates-and-keys.html#extracting-from-the-file]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/certificates-and-keys 1/1
20/11/2024, 09:03 Custom functions

Custom functions

 Note

Custom functions are available only on Enterprise plans.

 Note

Make supports the infrastructure and system behavior that takes care of
managing and using custom functions. However, our customer care team
cannot provide support on how to write and debug your own custom
functions.

Functions in Make allow you to transform data. You use functions when mapping data from
one module to another. Make offers a variety of built-in functions. On top of that, you can
create your own custom functions.

Custom functions allow you to enhance the built-in data transformation capabilities available in
the scenario designer.

Custom functions are created using JavaScript.

Create and manage custom


functions
You create and manage custom functions in the Functions section, which is accessible from
the left menu.

Custom functions belong to a team. All users with the role Team Member can view and use
custom functions. To create and edit custom functions, you need to have the Team Admin role.

https://www.make.com/en/help/functions/custom-functions 1/8
20/11/2024, 09:03 Custom functions

To create a new custom function:

1. In the left menu, click Functions.


2. Click Add a function.
3. Enter a name and description. The name and description will appear in the list of
functions available in the scenario designer.

 Important

Requirements for the name:

Must contain only letters and digits.


Cannot start with a digit.
Cannot contain the following words (JavaScript reserved
words[https://www.w3schools.com/js/js_reserved.asp]): do, if, in,
for, let, new, try, var, case, else, enum, eval, null, this, true, void, with,
await, break, catch, class, const, false, super, throw, while, yield, delete,
export, import, public, return, static, switch, typeof, default, extends, finally,
package, private, continue, debugger, function, arguments, interface,
protected, implements, instanceof .

After you save the function in step 4 below, you won't be able to
change it.

4. Click Save.

https://www.make.com/en/help/functions/custom-functions 2/8
20/11/2024, 09:03 Custom functions

This creates a function header and an empty function body.


5. Write the code of the function. Use the keyword return to define the return value.
See the example functions to get an idea of how to write them.

6. When done, click Save.

When you save the function for the first time, it immediately becomes available in the scenario
designer. Custom functions are marked with an icon to distinguish them from the built-in
functions.

Basic structure of custom functions

The structure of custom functions reflects the structure of regular JavaScript functions. Each
function must contain the following:

Function header - the name of the function and the parameters it accepts.
Function body enclosed in curly brackets.
Exactly one return statement.

See examples for more information.[custom-functions.html#examples-of-custom-functions]

https://www.make.com/en/help/functions/custom-functions 3/8
20/11/2024, 09:03 Custom functions

Supported languages
Custom functions support JavaScript ES6[https://www.w3schools.com/js/js_es6.asp]. No 3rd party
libraries are supported.

The code runs on Make's back end. This means that we do not support functionality that only
makes sense in the context of writing browser-executed JavaScript.

Validation of custom functions


Make does not validate the code of your functions. If there are errors in your code, they will
appear as errors in the execution of scenarios that use these functions. Invalid functions will
cause your scenarios to fail.

Limitations of custom functions


The following limits apply to all custom functions that you create:

A single custom function can not run for more than 300 milliseconds.
The code of a custom function cannot have more than 5000 characters.
Functions must be synchronous. You can't run asynchronous code in your functions.
You can not make HTTP requests from your functions.
You can not call other custom functions from inside of a custom function.
You can not use recursion in your custom functions.
In order to use a custom variable with an iterator, you need to:
Set the value with the custom function in a Set Variable module before the
Iterator.
Map the output of Set Variable to the Iterator.

Custom functions version history


Every time you save a custom function, the system creates a new history record. This allows
you to compare versions and revert your function to a previous version.

https://www.make.com/en/help/functions/custom-functions 4/8
20/11/2024, 09:03 Custom functions

Select a history record to compare the function with the previous version. You can only
compare two consecutive versions.

Click Restore this version to revert to the version that you're currently viewing. This creates a
new version of the function with the content of the restored version.

Working with dates inside custom


functions
Custom functions are executed on Make's servers. Therefore, whenever you work with dates
inside a function, the dates will take into account the time zone set for your organization. Read
more about how Make handles time zones.[../general/manage-time-zones.html]

Calling built-in functions from inside


of your custom functions
You can use Make's built-in functions in your custom function code.

Built-in functions are available as methods of the iml object.

The following example uses the Length built-in function.

function useBuiltInFunction(text){ 
return iml.length(text);
}

https://www.make.com/en/help/functions/custom-functions 5/8
20/11/2024, 09:03 Custom functions

Debugging custom functions


You can execute your custom function code in the debug console, which is located under the
code editor.

Deleting custom functions


You can delete your custom functions in the list in the Functions section.

Before you delete a function, click Edit next to it and then switch to the Scenarios tab. Here,
you can check in which scenarios the function is used. When you delete a function that is used
in a scenario, the scenario will fail to execute on its next run.

The scenario that uses the deleted function will fail with the following error message:

Failed to map '<field name>': Function '<function name>' not found! 

Examples of custom functions


The following functions were written by our developer to help you understand how to write
them.

EXAMPLE: HELLO WORLD

Returns the string "Hello world."

function helloWorld() 
{
return "Hello world!";
}

EXAMPLE: COUNT THE NUMBER OF WORKING DAYS IN A MONTH

Calculates how many working days there are in the month specified by the month's number
and a year in the function's arguments. Does not take into account local holidays.

https://www.make.com/en/help/functions/custom-functions 6/8
20/11/2024, 09:03 Custom functions

function numberOfWorkingDays(month, year) { 


let counter = 0;
let date = new Date(year, month - 1, 1);
const endDate = new Date(date.getFullYear(), date.getMonth() + 1, 0);

while (date.getTime() < endDate.getTime()) {


const weekDay = date.getDay();
if (weekDay !== 0 && weekDay !== 6) {
counter += 1;
}
date = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1);
}
return counter;
}

EXAMPLE: CALCULATE THE NUMBER OF DAYS BETWEEN TWO DATES

Calculates the number of days between two dates passed to the function as arguments.

function numberOfDays(start, end) { 


const startDate = new Date(start);
const endDate = new Date(end);
return Math.abs((startDate.getTime() - endDate.getTime()) / (1000 * 60 * 60 * 24));
}

EXAMPLE: RANDOMIZATION - RETURN A RANDOM GREETING FROM AN ARRAY OF


GREETINGS

Accepts an array as an argument. Returns a random item from the array.

function randomGreeting(greetings) { 
const index = Math.floor(Math.random() * greetings.length);
return greetings[index];
}

In this section
Create and manage custom functions[../functions/custom-functions.html#create-and-manage-custom-
functions]

Basic structure of custom functions[../functions/custom-functions.html#basic-structure-of-custom-functions]

Supported languages[../functions/custom-functions.html#supported-languages]

Validation of custom functions[../functions/custom-functions.html#validation-of-custom-functions]

Limitations of custom functions[../functions/custom-functions.html#limitations-of-custom-functions]

Custom functions version history[../functions/custom-functions.html#custom-functions-version-history]

Working with dates inside custom functions[../functions/custom-functions.html#working-with-dates-inside-


custom-functions]

https://www.make.com/en/help/functions/custom-functions 7/8
20/11/2024, 09:03 Custom functions

Calling built-in functions from inside of your custom functions[../functions/custom-functions.html#calling-


built-in-functions-from-inside-of-your-custom-functions]

Debugging custom functions[../functions/custom-functions.html#debugging-custom-functions]

Deleting custom functions[../functions/custom-functions.html#deleting-custom-functions]

Examples of custom functions[../functions/custom-functions.html#examples-of-custom-functions]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/custom-functions 8/8
20/11/2024, 08:27 Data store

Data store

Data stores allow you to store data from scenario or transfer data between individual scenarios
or scenario runs. You can use data stores to store data from apps during scenario execution.
Data stores are similar to a simple database.

The data store app's modules allow you to add, replace, update, retrieve, delete, search, or
count records in your Make data store.

You can view and manage your data stores and the data they contain in the data stores
section of Make.

 Note

The various examples of use can be found


here[https://www.make.com/en/integrations/datastore].

Creating a data store in Make


1. Click Data stores in the left menu.

https://www.make.com/en/help/tools/data-store 1/11
20/11/2024, 08:27 Data store

2. Click Add data store.


3. Enter settings for the new data store.

Data store
Enter the name for the data store. E.g. Contacts
name

https://www.make.com/en/help/tools/data-store 2/11
20/11/2024, 08:27 Data store

A data structure is a list of the columns for a table that indicates the column
name and data type.

You have three options:

Select the data structure that has been already created


Leave the field empty

If you don't select a data structure, the database will only contain the
Data
primary key. Such a database type is useful if you only want to save
Structure
keys and are only interested in knowing whether or not a specific key
exists in the database.
Add a new data structure

Click the Add button to create a new data structure.

Please see the Setting Up the Data Structure[data-store.html#UUID-350450ee-


3c6d-d065-bac8-24aa6338e78a_UUID-6c50dc97-cdaf-6f31-c841-6311bf645e81]
section of this article.

Allocate the size for the data store from your total Internal data storage.

 Note
Data
storage The reserved amount can be changed at any time later
size in MB on.

The total internal data storage capacity depends on the plan you have
purchased[http://www.make.com/en/pricing].

Managing data structure of a data


store

Setting up the data structure


To set up the data structure, open the Add data structure window.

https://www.make.com/en/help/tools/data-store 3/11
20/11/2024, 08:27 Data store

You can access this dialog by clicking the Add button when creating or editing the data store:

https://www.make.com/en/help/tools/data-store 4/11
20/11/2024, 08:27 Data store

Enter the name for the data structure.


Data
structure
The data structure name is its unique identifier and cannot be changed
name
later.

https://www.make.com/en/help/tools/data-store 5/11
20/11/2024, 08:27 Data store

Specification There are two options for how you can specify the data store columns.

Click the Add item button to specify the properties of one column
manually.

Enter the Name and Type for the data store column and define the
corresponding properties.

 Note

Enabling the Advanced settings reveals the


Label setting for every data structure item.

Consider defining a label for every item in the


data structure of your data store in order to
avoid challenges when renaming data store
columns[data-store.html#renaming-a-field-in-the-
data-store-structure].

Use the Generator button to determine the columns from the sample
data you provide.

For example, the following JSON sample data:

{ 

"name":"John",

"age":30,

"phone number": {

"mobile":"987654321",

"landline":"123456789"

creates three columns (name, age, phone number) with phone


number as a collection of mobile and landline.

The empty columns in the data store view:

https://www.make.com/en/help/tools/data-store 6/11
20/11/2024, 08:27 Data store

You can then add values to the data store manually or using the Make
data store modules.

If enabled, the data structure will be compared to the structure of the


Strict payload and if the payload contains extra items not specified in the data
structure, the payload will be rejected.

Updating the data structure of a data store

 Important

Take good care when updating the data structure of a data store. Before
updating the structure make a backup of the data in the data store.

Changes in the data structure of a data store might lead to unexpected


results. If you experience unexpected behavior check out the
Troubleshooting[data-store.html#updating-data-store-structure] section.

When you want to update the data structure of a data store, you should keep in mind that:

The data structure field names are unique identifiers of the data store columns. When
you rename a field of a data structure, Make cannot retrieve the original data in the data
store column, because they use a different column identifier.
You can update the data structure field label anytime without the effects mentioned in
the previous point.
The changes to the data store structure apply only to the new data you put in the data
store. Make doesn't change or validate the original data to fit the updated structure.

The best approach to updating the data structure of a data store is to create temporary fields
with copies of your data. Update the data in the temporary fields and make sure they conform
to the final data structure.

Example data store:

In the data store with 4 columns:

Key: type number

https://www.make.com/en/help/tools/data-store 7/11
20/11/2024, 08:27 Data store

productId: type number

productName: type text

dateAdded: type date

Renaming a field of the data store structure


You can update the Label of a data store structure field anytime.

If you want to change the data store structure field Name, follow the steps:

1. Create a backup of data in the data store.[data-store.html#backing-up-data-in-the-data-store]


2. Create a field in your data store with the new name.
3. Copy all data from the original column to the new column.
4. Update all data in the original column to empty fields. This step prevents storing the data
in the original column alongside the data in the new column.

You have put the data from the original data store column into the new data store column. In
addition, you have a data store backup to check that the update was successful.

Changing the type of a field of the data store structure


1. Create a backup of data in the data store.[data-store.html#backing-up-data-in-the-data-store]
2. Either create a temporary field for the updated data type, or you can skip this step and
update the field type in place.
3. Use a conversion function to update the type of all values in the data store column to the
new type. For example, to convert text to date , use the parseDate function.

You have updated the type of the data store column. You have converted all data in the data
store column to the new data type.

https://www.make.com/en/help/tools/data-store 8/11
20/11/2024, 08:27 Data store

Actions
+ Add/Replace a Record
[#add-replace-a-record_body]

+ Update a Record
[#update-a-record-935244_body]

+ Get a Record
[#get-a-record-935244_body]

+ Check the Existence Of a Record


[#check-the-existence-of-a-record_body]

+ Delete a Record
[#delete-a-record-935244_body]

+ Delete All Records


[#delete-all-records_body]

+ Search Records
[#search-records-935244_body]

+ Count Records
[#count-records_body]

Managing records in data stores


Make allows you to view, update, and delete the records in your data store.

To manage records in your data store, click Data stores in the left menu, then click Browse
next to your data store.

This shows the editing interface for data store records.

https://www.make.com/en/help/tools/data-store 9/11
20/11/2024, 08:27 Data store

+ Adding and editing records


[#adding-and-editing-records_body]

+ Deleting records
[#deleting-records_body]

+ Backing up data in the data store


[#backing-up-data-in-the-data-store_body]

Troubleshooting
+ Restoring lost data from your data store
[#restoring-lost-data-from-your-data-store_body]

+ Updating data store structure


[#updating-data-store-structure_body]

+ Out of space error


[#out-of-space-error_body]

In this section
Creating a data store in Make[../tools/data-store.html#creating-a-data-store-in-make]

Managing data structure of a data store[../tools/data-store.html#managing-data-structure-of-a-data-store]

Actions[../tools/data-store.html#actions-935244]

Managing records in data stores[../tools/data-store.html#managing-records-in-data-stores]

Troubleshooting[../tools/data-store.html#troubleshooting-935244]

https://www.make.com/en/help/tools/data-store 10/11
20/11/2024, 08:27 Data store

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/data-store 11/11
20/11/2024, 08:27 Data structures

Data structures 

A data structure is a document that describes in detail the format of the data being transferred
to Make. Based on this document, the Scenario editor is able to figure out which module
returns or receives which kind of data. The data structure documents are most commonly used
for serializing/parsing data formats such as JSON, XML, CSV and others.

You can create a data structure when adding a new data


store[https://www.make.com/en/help/tools/data-store#setting-up-the-data-structure].

Read more about all supported data types in the dedicated


article[https://www.make.com/en/help/mapping/item-data-types#item-data-types].

Data structure generator


Data structures don't always have to be created. You can make it easier by using a template
from our built-in generator. By providing a data sample, the generator will automatically create
a data structure based off of the data sample you entered. The created data structure can then
be manually modified.

https://www.make.com/en/help/tools/data-structures 1/2
20/11/2024, 08:27 Data structures

In this section
Data structure generator[../tools/data-structures.html#data-structure-generator]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/data-structures 2/2
20/11/2024, 09:02 Date and time functions

Date and time functions 

Use date and time functions to convert and transform date and time data. For example, you
can change the date format, convert time based on timezones, convert text to date or time
data, and more. Below is a list of supported date and time functions with descriptions and
details for each.

formatDate (date; format;


[timezone])
When to use it: You have a Date[../mapping/item-data-types.html#date] value that you wish to
convert (format) to a Text[../mapping/item-data-types.html#text] value (textual human-readable
representation) like 12-10-2019 20:30 or Aug 18, 2019 10:00 AM

Parameters
The second column indicates the expected type. If different type is provided, Type
Coercion[../mapping/type-coercion.html] is applied.

date Date Date value to be converted to a Text value.

format Text Format specified using Tokens for date/time formatting[tokens-for-date-time-


formatting.html].

Example: DD.MM.YYYY HH:mm

https://www.make.com/en/help/functions/date---time-functions 1/13
20/11/2024, 09:02 Date and time functions

timezone Text Optional. The timezone used for the conversion.

See List of tz database time


zones[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List], colum
"TZ database name" for the list of recognized timezones.

If omitted, Make uses the organization's timezone. You can view and edit
this timezone[../general/manage-time-zones.html] by going to Profile > Time
zone options > Scenarios.

Examples: Europe/Prague UTC

 Note

Only the values listed in the "TZ database name" column are recognized
by the function as a valid timezone. Any other value will be ignored and
the Organization's timezone specified in your Profile will be used instead.

Return value and type


Text representation of the given Date value according to the specified format and timezone.
Type is Text.

Examples
The Organization's and Web's timezone were both set to Europe/Prague in the following
examples.

Function example Result

formatDate( 1. Date created ; MM/DD/YYYY ) 10/01/2018

formatDate( 1. Date created ; YYYY-MM-DD hh:mm A ) 2018-10-01 09:32 AM

formatDate( 1. Date created ; DD.MM.YYYY HH:mm ; UTC ) 01.10.2018 07:32

formatDate( now ; MM/DD/YYYY HH:mm ) 19/03/2019 15:30

https://www.make.com/en/help/functions/date---time-functions 2/13
20/11/2024, 09:02 Date and time functions

parseDate (text; format; [timezone])

When to use it: You have a Text[../mapping/item-data-types.html#text] value representing a date


(e.g. 12-10-2019 20:30 or Aug 18, 2019 10:00 AM ) and you wish to convert (parse) it to
a Date[../mapping/item-data-types.html#date] value (binary machine-readable representation).

Parameters
The second column indicates the expected type. If different type is provided, Type
Coercion[../mapping/type-coercion.html] is applied.

text Text Text value to be converted to a Date value.

format Text Format specified using Tokens for date/time parsing[tokens-for-date-time-


parsing.html].

Example: DD.MM.YYYY HH:mm

timezone Text Optional. The timezone used for the conversion.

See List of tz database time


zones[https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List], column
"TZ database name" for the list of recognized timezones.

If omitted, Make uses the organization's timezone. You can view and edit
this timezone[../general/manage-time-zones.html] by going to Profile > Time
zone options > Scenarios.

Examples: Europe/Prague , UTC

 Note

Only the values listed in the "TZ database name" column are recognized
by the function as a valid timezone. Any other value will be ignored and
the Organization's timezone specified in your Profile will be used instead.

https://www.make.com/en/help/functions/date---time-functions 3/13
20/11/2024, 09:02 Date and time functions

Return value and type


Date representation of the given Text value according to the specified format and timezone.
Type is Date.

Examples
Please note that in the following examples the returned Date value is expressed according to
ISO 8601, but the actual resulting value is of type Date.

Example 6. parseDate( 2016-12-28 ; YYYY-MM-DD )


= 2016-12-28T00:00:00.000Z

Example 7. parseDate( 2016-12-28 16:03 ; YYYY-MM-DD HH:mm )


= 2016-12-28T16:03:00.000Z

Example 8. parseDate( 2016-12-28 04:03 pm ; YYYY-MM-DD hh:mm a )


= 2016-12-28T16:03:06.000Z

Example 9. parseDate( 1482940986 ; X )


= 2016-12-28T16:03:06.000Z

addDays (date; number)


Returns a new date as a result of adding a given number of days to a date. To subtract days,
enter a negative number.

addDays( 2016-12-08T15:55:57.536Z ; 2 )

= 2016-12-10T15:55:57.536Z

https://www.make.com/en/help/functions/date---time-functions 4/13
20/11/2024, 09:02 Date and time functions

addDays( 2016-12-08T15:55:57.536Z ; -2 )

= 2016-12-6T15:55:57.536Z

addHours (date; number)


Returns a new date as a result of adding a given number of hours to a date. To subtract hours,
enter a negative number.

addHours( 2016-12-08T15:55:57.536Z ; 2 )

= 2016-12-08T17:55:57.536Z

addHours( 2016-12-08T15:55:57.536Z ; -2 )

= 2016-12-08T13:55:57.536Z

addMinutes (date; number)


Returns a new date as a result of adding a given number of minutes to a date. To subtract
minutes, enter a negative number.

addMinutes( 2016-12-08T15:55:57.536Z ; 2 )

= 2016-12-08T15:57:57.536Z

addMinutes( 2016-12-08T15:55:57.536Z ; -2 )

= 2016-12-08T15:53:57.536Z

addMonths (date; number)


Returns a new date as a result of adding a given number of months to a date. To subtract
months, enter a negative number.

addMonths( 2016-12-08T15:55:57.536Z ; 2 )

= 2016-10-08T15:55:57.536Z

addMonths( 2016-12-08T15:55:57.536Z ; -2 )

= 2016-06-08T15:55:57.536Z

https://www.make.com/en/help/functions/date---time-functions 5/13
20/11/2024, 09:02 Date and time functions

addSeconds (date; number)


Returns a new date as a result of adding a given number of seconds to a date. To subtract
seconds, enter a negative number.

addSeconds( 2016-12-08T15:55:57.536Z ; 2 )

= 2016-12-08T15:55:59.536Z

addSeconds( 2016-12-08T15:55:57.536Z ; -2 )

= 2016-12-08T15:55:55.536Z

addYears (date; years)


Returns a new date as a result of adding a given number of years to a date. To subtract years,
enter a negative number.

addYears( 2016-12-08T15:55:57.536Z ; 2 )

= 2018-08-08T15:55:57.536Z

addYears( 2016-12-08T15:55:57.536Z ; -2 )

= 2014-08-08T15:55:57.536Z

setSecond (date; number)


Returns a new date with the seconds specified in parameters. Accepts numbers from 0 to 59. If
a number is given outside of this range, it will return the date with the seconds from the
previous or subsequent minute(s), accordingly.

setSecond( 2015-10-07T11:36:39.138Z ; 10 )

= 2015-10-07T11:36:10.138Z

setSecond( 2015-10-07T11:36:39.138Z ; 61 )

= 2015-10-07T11:37:01.138Z

https://www.make.com/en/help/functions/date---time-functions 6/13
20/11/2024, 09:02 Date and time functions

setMinute (date; number)


Returns a new date with the minutes specified in parameters. Accepts numbers from 0 to 59. If
a number is given outside of this range, it will return the date with the minutes from the
previous or subsequent hour(s), accordingly.

setMinute( 2015-10-07T11:36:39.138Z ; 10 )

= 2015-10-07T11:10:39.138Z

setMinute( 2015-10-07T11:36:39.138Z ; 61 )

= 2015-10-07T12:01:39.138Z

setHour (date; number)


Returns a new date with the hour specified in parameters. Accepts numbers from 0 to 59. If a
number is given outside of this range, it will return the date with the hour from the previous or
subsequent day(s), accordingly.

setHour( 2015-10-07T11:36:39.138Z ; 10 )

= 2015-08-07T06:36:39.138Z

setHour( 2015-10-07T11:36:39.138Z ; 61 )

= 2015-08-06T18:36:39.138Z

setDay (date; number/name of the


day in english)
Returns a new date with the day specified in parameters. It can be used to set the day of the
week, with Sunday as 1 and Saturday as 7. If the given value is from 1 to 7, the resulting date
will be within the current (Sunday-to-Saturday) week. If a number is given outside of the range,
it will return the day from the previous or subsequent week(s), accordingly.

setDay( 2018-06-27T11:36:39.138Z ; monday )

= 2018-06-25T11:36:39.138Z

https://www.make.com/en/help/functions/date---time-functions 7/13
20/11/2024, 09:02 Date and time functions

setDay( 2018-06-27T11:36:39.138Z ; 1 )

= 2018-06-24T11:36:39.138Z

setDay( 2018-06-27T11:36:39.138Z ; 7 )

= 2018-06-30T11:36:39.138Z

setDate (date; number)


Returns a new date with the day of the month specified in parameters. Accepts numbers from
1 to 31. If a number is given outside of the range, it will return the day from the previous or
subsequent month(s), accordingly.

setDate( 2015-08-07T11:36:39.138Z ; 5 )

= 2015-08-05T11:36:39.138Z

setDate( 2015-08-07T11:36:39.138Z ; 32 )

= 2015-09-01T11:36:39.138Z

setMonth (date; number/name of


the month in English)
Returns a new date with the month specified in parameters. Accepts numbers from 1 to 12. If a
number is given outside of this range, it will return the month in the previous or subsequent
year(s), accordingly.

setMonth( 2015-08-07T11:36:39.138Z ; 5 )

= 2015-05-07T11:36:39.138Z

setMonth( 2015-08-07T11:36:39.138Z ; 17 )

= 2016-05-07T11:36:39.138Z

setMonth( 2015-08-07T11:36:39.138Z ; january )

= 2015-01-07T12:36:39.138Z

https://www.make.com/en/help/functions/date---time-functions 8/13
20/11/2024, 09:02 Date and time functions

setYear (date; number)


Returns a new date with the year specified in parameters.

setYear( 2015-08-07T11:36:39.138Zv ; 2017 )

= 2017-08-07T11:36:39.138Z

Examples

How to calculate n-th day of week in month

 Note

Adapted for Make from this original source[https://exceljet.net/formula/get-


nth-day-of-week-in-month]

If you need to calculate a date corresponding to n-th day of week in month (e.g. 1st Tuesday,
3rd Friday, etc.), you may use the following formula:

You may copy and paste the formula's code into a field:

{{addDays(setDate(1.date; 1); 1.n * 7 - formatDate(addDays(setDate(1.date; 1); "-" + 1.dow); "E"))}} 

The formula contains the following items:

https://www.make.com/en/help/functions/date---time-functions 9/13
20/11/2024, 09:02 Date and time functions

1.n n-th day:

1 for 1st Tuesday


2 for 2nd Tuesday
3 for 3rd Tuesday
etc.

2.dow day of the week

1 for Monday
2 for Tuesday
3 for Wednesday
4 for Thursday
5 for Friday
6 for Saturday
7 for Sunday

1.date The date determines the month. To calculate n-th day of week in current month
use the now variable.

In case you wish to calculate only one specific case, e.g. 2nd Wednesday, you may replace the
items 1.n and 2.dow in the formula with corresponding numbers. For 2nd Wednesday in
current month you would use the following values:

1.n = 2

1.dow = 3

1.date = now

Explanation:

setDate(now;1) returns first of current month


formatDate(....;E) returns day of week (1, 2, ... 6)
see the original source[https://exceljet.net/formula/get-nth-day-of-week-in-month] for the rest

How to calculate days between dates


One possibility is to employ the following expression:

https://www.make.com/en/help/functions/date---time-functions 10/13
20/11/2024, 09:02 Date and time functions

You can copy and paste the following code:

{{round((2.value - 1.value) / 1000 / 60 / 60 / 24)}} 

 Note

Values of D1 and D2 have to be of type Date. If they are of type String


(e.g. "20.10.2018"), use parseDate() function to convert them to type
Date.

 Note

The round() function is used for cases when one of the dates falls within
the daylight savings time period and the other not. In these cases, the
difference in hours is by one hour less/more and dividing it by 24 gives a
non-integer results.

How to calculate last day/millisecond of month


When specifying a date range (e.g. in a search module) spanning the whole previous month
as closed interval (the interval that includes both its limit points), it is necessary to calculate
last day of month.

2019-09-01 ≤ D ≤ 2019-09-30

The formula below shows one way how to calculate last day of the previous month:

You can copy and paste the following code:

{{addDays(setDate(now; 1); -1)}} 

https://www.make.com/en/help/functions/date---time-functions 11/13
20/11/2024, 09:02 Date and time functions

In some cases, it is necessary to calculate not only the last day of month, but literally its last
millisecond:

2019-09-01T00:00:00.000Z ≤ D ≤ 2019-09-30T23:59:59.999Z

The formula below shows one way how to calculate last millisecond of the previous month:

You can copy and paste the following code:

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD"; "UTC") - 1; "x")}} 

If the result should respect your timezone settings, simply omit the UTC argument:

{{parseDate(parseDate(formatDate(now; "YYYYMM01"); "YYYYMMDD") - 1; "x")}} 

However, it is preferable to use half-open interval instead (the interval that excludes one of its
limit points), specifying the first day of the following month instead and replacing the less or
equal than operator with less than:

2019-09-01 ≤ D < 2019-10-01

2019-09-01T00:00:00.000Z ≤ D < 2019-10-01T00:00:00.000Z

How to transform seconds into hours, minutes and


second
One possibility is to use the following expression shown below:

https://www.make.com/en/help/functions/date---time-functions 12/13
20/11/2024, 09:02 Date and time functions

You can copy and paste the following code:

{{floor(1.seconds / 3600)}}:{{floor((1.seconds % 3600) / 60)}}:{{((1.seconds % 3600) % 60)}} 

 Note

Values of Second should be number type. This function is suited only if


the second value is less than 86400 ( less than a day ).

In this section
formatDate (date; format; [timezone])[../functions/date---time-functions.html#formatdate--date--format---
timezone--]

parseDate (text; format; [timezone])[../functions/date---time-functions.html#parsedate--text--format---


timezone--]

addDays (date; number)[../functions/date---time-functions.html#adddays--date--number-]

addHours (date; number)[../functions/date---time-functions.html#addhours--date--number-]

addMinutes (date; number)[../functions/date---time-functions.html#addminutes--date--number-]

addMonths (date; number)[../functions/date---time-functions.html#addmonths--date--number-]

addSeconds (date; number)[../functions/date---time-functions.html#addseconds--date--number-]

addYears (date; years)[../functions/date---time-functions.html#addyears--date--years-]

setSecond (date; number)[../functions/date---time-functions.html#setsecond--date--number-]

setMinute (date; number)[../functions/date---time-functions.html#setminute--date--number-]

setHour (date; number)[../functions/date---time-functions.html#sethour--date--number-]

setDay (date; number/name of the day in english)[../functions/date---time-functions.html#setday--date--


number-name-of-the-day-in-english-]

setDate (date; number)[../functions/date---time-functions.html#setdate--date--number-]

setMonth (date; number/name of the month in English)[../functions/date---time-functions.html#setmonth--


date--number-name-of-the-month-in-english-]

setYear (date; number)[../functions/date---time-functions.html#setyear--date--number-]

Examples[../functions/date---time-functions.html#examples-935198-2]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/date---time-functions 13/13
20/11/2024, 08:28 Flow control

Flow control 

Repeater
Repeater is used in cases where you wish to repeat a task a given number of times. Let us
assume you would like to send five emails with subjects "Hello 1", "Hello 2", ... "Hello 5". This
could be accomplished with connecting Email > Send me an email module after the Repeater
module:

With modules configured as follows:

https://www.make.com/en/help/tools/flow-control 1/17
20/11/2024, 08:28 Flow control

https://www.make.com/en/help/tools/flow-control 2/17
20/11/2024, 08:28 Flow control

You can imagine the Repeater module as a generator of bundles outputting one bundle after
another. Each bundle contains one item named i of type Number. The initial value of the i
item is specified in the Initial value field. The number of repetitions (= number of outputted

https://www.make.com/en/help/tools/flow-control 3/17
20/11/2024, 08:28 Flow control

bundles) is specified in the Repeats field. The value of the i item is increased in each
repetition by the value specified in the Step field, which is 1 by default (tick the Show advanced
settings checkbox to reveal it).

Iterator
Iterator is a special type of module that converts an array into a series of bundles. Each array
item will output as a separate bundle.

Setting up an iterator

Setting up an iterator is done in the same way as setting any other module[../modules/module-
settings.html]. The Array field contains the array to be converted/split into separate bundles.

Examples:
SAVE EMAIL ATTACHMENTS TO GOOGLE DRIVE

The scenario below shows how to retrieve emails with attachments and save the attachments
as single files in a selected Google Drive[../apps/file-and-document-management/google-drive.html]
folder.

Emails can contain an array of attachments. The Iterator module inserted after the first module
enables you to handle each attachment separately. The Iterator splits the array of attachments
into single bundles, each bundle with one attachment will then save one at a time in a selected
Google Drive folder. The Iterator module set up is shown above - the Array field should
contain the Attachments[] array.

https://www.make.com/en/help/tools/flow-control 4/17
20/11/2024, 08:28 Flow control

SPECIALIZED ITERATORS

For your convenience, many Make apps offer specialized iterator modules with a simplified
setup. For example, the Email[../apps/communication/email--legacy-.html] app contains the
special iterator Email > Iterate attachments that will produce the same results as the general
Iterator without having to specify the array, just the source module.

Learn when to use an Iterator in your scenarios


The video below is module 1 of the 3 part lesson titled Iterator and Array Aggregator. It
explains the purpose of the Iterator and the Array Aggregator and with the help of a sample
scenario, explains when to use an Iterator and what to do with the output.

https://www.make.com/en/help/tools/flow-control 5/17
20/11/2024, 08:28 Flow control

Iterator & Array Aggregator | Part 1: Introduction and Iterator D…


D…

Troubleshooting: Mapping panel does not display mappable items


under the Iterator module
When an Iterator does not have information about the structure of the array's items, the
mapping panel in the modules following the Iterator will display only two items under the
Iterator: Total number of bundles and Bundle order position :

The reason for this is that in Make each module is responsible for providing information about
items it outputs so these items can be properly displayed in the mapping panel in the following
modules. However, there are several modules that might be unable to provide this information
in some cases, e.g. JSON[../apps/built-in-apps/json.html] > Parse JSON or
Webhooks[webhooks.html] > Custom Webhook modules with missing data structure[data-
structures.html].

The solution is to manually execute the scenario to make the module learn about the items it
outputs so it can provide the information to the following modules.

https://www.make.com/en/help/tools/flow-control 6/17
20/11/2024, 08:28 Flow control

For example, if you have a JSON > Parse JSON module without a data structure as below:

And then if you connect an Iterator module to it, you will not be able to map the output of the
module to the Array field in the setup panel of the Iterator:

To resolve this, just manually start the scenario in the Scenario editor. You can un-link the
modules after the JSON > Parse JSON module to prevent the flow from proceeding further or
right-click the JSON > Parse JSON module and choose "Run this module only" from the
context menu to execute only the JSON > Parse JSON module.

https://www.make.com/en/help/tools/flow-control 7/17
20/11/2024, 08:28 Flow control

Once the JSON > Parse JSON has been executed, it learns about the items it outputs and
provides this information to all the following modules including the Iterator. The mapping panel
in the Iterator's setup will then display the items:

Moreover, the mapping panel in the modules connected after the Iterator will display the items
contained in the array's items:

In summary: if you cannot see some items in a module's mapping panel, simply run the
scenario once so all the modules can learn about the items they output and provide this
information to the following modules.

Array aggregator
Array aggregator is an aggregator module, which allows to merge several bundles into one
single bundle. The following image shows a typical setup of the Array aggregator module.

https://www.make.com/en/help/tools/flow-control 8/17
20/11/2024, 08:28 Flow control

The module from which the bundle aggregation will start. The source
module is usually an iterator[flow-control.html#iterator-935250] or a
search[/document/preview/63282#UUID-74b701f5-7add-42c8-1401-
Source
b174cbe82f3f] module that outputs a series of bundles. Once you setup the
Module
aggregator's Source Module (and close the aggregator's setup), the
route between the source module and the aggregator will be wrapped in a
grey area to visualize the start and the end of the aggregation.

https://www.make.com/en/help/tools/flow-control 9/17
20/11/2024, 08:28 Flow control

Target The target structure into which the data shall be aggregated. The default
structure type option is Custom that enables you to choose items that should be
aggregated into the Array aggregator's output bundle's Array item:

Once you connect more modules after the Array aggregator module and
get back to the module's setup, the Target structure type dropdown will
contain all the following modules and their fields that are of type Array of
Collections, like e.g. Attachments field of the Slack > Create a Message
module:

The video below explains how the modules connected after an Array
aggregator affects the content of Target structure type dropdown:

https://www.make.com/en/help/tools/flow-control 10/17
20/11/2024, 08:28 Flow control

Iterator & Array Aggregator | Part 3: Array Aggr…


Aggr…

The aggregator's output can be split into several groups with the help of
the Group by field. The Group by field can contain a formula that is
evaluated for each aggregator's input bundle. The aggregator then
outputs one bundle per each distinct formula's value. Each bundle
contains two items:
Group by

Key contains the distinct value.


Arraycontains the aggregated data from the bundles for which the
formula evaluated to the Key value.

By default, the aggregator outputs the result of the aggregation even in


Stop
case no bundles reached the aggregator (e.g. because they have been all
processing
filtered out on their way). If the Stop processing after an empty
after an empty
aggregation option is enabled, the aggregator will not produce any
aggregation
output bundle in this case and the flow will stop.

 Caution

Bundles outputted from the source module and any other modules
between the source module and the aggregator module are not
outputted by the aggregator and thus items in these bundles are not
accessible by the modules in the flow after the aggregator.

If you need to access items from bundles outputted from the source module and any other
modules between the source module and the aggregator module, make sure to include them in
the Aggregated fields field in the setup of the Array aggregator module.

https://www.make.com/en/help/tools/flow-control 11/17
20/11/2024, 08:28 Flow control

If items are nested (i.e. contained in a collection item) they currently cannot be easily selected
in the Array aggregator's Aggregated fields field. For example, if bundles contain collection
item User with two items Name and Email :

Then only the User collection item can be selected:

This setup will produce the following output:

https://www.make.com/en/help/tools/flow-control 12/17
20/11/2024, 08:28 Flow control

Customizing the output


If you wish to fully customize the Array aggregator's output structure, proceed as follows:

1. Insert the JSON > Create JSON module after the Array aggregator module:

2. Open the JSON > Create JSON module's setup.


3. Setup a Data structure for the items you want to be outputted from the Array
aggregator. The Data structure should be an array of collections and the collections
should contain the items you want to include in the output. Here is a sample Data
structure with two text items Name and Email :

https://www.make.com/en/help/tools/flow-control 13/17
20/11/2024, 08:28 Flow control

https://www.make.com/en/help/tools/flow-control 14/17
20/11/2024, 08:28 Flow control

4. Open the Array aggregator module's setup.


5. In the Target structure type field, choose the JSON > Create JSON module's array
field:

6. Fields corresponding to the Data structure created in step 3 will appear in the setup of
the Array aggregator module. Map any items into the fields as you see fit. You can now
easily map nested items using the mapping panel and even use formulas:

https://www.make.com/en/help/tools/flow-control 15/17
20/11/2024, 08:28 Flow control

7. The Array aggregator module's output will now look like this:

If you wish to save the operation performed by the dummy JSON > Create JSON module, just
put it on a disabled route after a Router:

If you wish to conditionally omit an item from the module's output, use a formula that evaluates
to ignore keyword:

https://www.make.com/en/help/tools/flow-control 16/17
20/11/2024, 08:28 Flow control

If the 4. User: Email is empty then the Email item will be completely omitted from the output:

Learn when to use an Array Aggregator in your


scenarios
The video below is module 2 of the 3 part lesson titled Iterator and Array Aggregator. It is a
continuation of module 1 (video link)[https://youtu.be/mWZBA2xSvB4] and using a sample
scenario, explains when to use an Array aggregator and what to do with the output.

Iterator & Array Aggregator | Part 1: Introduction and Iterator D…


D…

In this section
Repeater[../tools/flow-control.html#repeater]

Iterator[../tools/flow-control.html#iterator-935250]

Array aggregator[../tools/flow-control.html#array-aggregator]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/flow-control 17/17
20/11/2024, 08:59 General functions

General functions

General functions let you fine-tune your mapping in a scenario. For example, you can select or
leave out items in an array or apply conditional criteria to your mapping. Below is a list of
general functions you can use in your scenarios.

Variables

executionId
Returns the ID of the current execution. Useful for logging and monitoring purposes.

Functions

get (object or array; path)


Returns the value path of an object or array. To access nested objects, use dot notation. The
first item in an array is index 1.

get(array;1+1) 

get(array;5.raw_name) 

get(object;raw_name) 

get(object;raw_name.sub_raw_name) 

if (expression; value1; value2)


Returns value 1 if the expression is evaluated to be true. Otherwise, it returns value 2.

https://www.make.com/en/help/functions/general-functions 1/3
20/11/2024, 08:59 General functions

if(1=1;A;B) 
=A

if(1=2;A;B) 
=B

ifempty (value1; value2)


Returns value 1 if this value is not empty. Otherwise, it returns value 2.

ifempty(A;B) 
=A

ifempty(unknown;B) 
=B

ifempty("";B) 
=B

switch (expression; value1; result1; [value2; result2;


...]; [else])
Evaluates one value (called the expression) against a list of values, and returns the result
corresponding to the first matching value.

switch(B;A;1;B;2;C;3) 
=2

switch(C;A;1;B;2;C;3) 
=3

switch(X;A;1;B;2;C;3;4) 
=4

omit (collection; key1; [key2; ...])


Removes elements with the given keys from a collection. Returns a collection with the
remaining elements. Useful when you want to pass a collection to an API, which expects an
exact number of elements in the collection. Using this function, you can make sure your
collection meets the requirements of the API.

https://www.make.com/en/help/functions/general-functions 2/3
20/11/2024, 08:59 General functions

pick (collection; key1; [key2; ...])


Picks elements with the given keys from a collection. Returns a collection that contains only
the picked elements. Useful when you want to pass a collection to an API, which expects an
exact number of elements in the collection. Using this function, you can make sure your
collection meets the requirements of the API.

In this section
Variables[../functions/general-functions.html#variables-935194]

Functions[../functions/general-functions.html#functions-935194]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/general-functions 3/3
20/11/2024, 09:03 Math functions

Math functions 

Use a math function to apply mathematical operations to data. For example, math functions let
you get an average of an array, round a value up or down, or change the format of a number (1
000 000 to 1,000,000 or 1.000.000). Below is a list of supported math functions and a brief
description of each one.

abs (number)
Returns the absolute value of an integer.

abs( -5 )

=5

abs( 5 )

=5

abs( 0 )

=0

abs( -3.7 )

= 3.7

average ([array of values])


average(value1; [value2], ...)
Returns the average value of the numeric values in a specific array, or the average value of
numerical values entered individually.

https://www.make.com/en/help/functions/math-functions 1/6
20/11/2024, 09:03 Math functions

ceil (number)
Returns the smallest integer greater than or equal to a specified number.

ceil( 1.2 )

=2

ceil( 4 )

=4

floor (number)
Returns the largest integer less than or equal to a specified number.

floor( 1.2 )

=1

floor( 1.9 )

=1

floor( 4 )

=4

formatNumber (number;
decimalPOINTS;
[decimalSeparator];
[thousandsSeparator])
Returns a number in the requested format. Decimal point is `,` by default, Thousands
separator is `.` by default.

formatNumber( 123456789 ; 3 ; , ; . )

https://www.make.com/en/help/functions/math-functions 2/6
20/11/2024, 09:03 Math functions

= 123.456.789,000

max ([array of values]),


max(value1;value2; ...)
Returns the largest number in a specified array, or the largest number among numbers entered
individually.

median ([array of values])


Returns the median of the values in a specified array, or the median of numbers entered
individually.

median( 3; 5; 7 )

=5

median( 2; 3; 5; 8 )

=4

median( 2.5; 3.5; 2; 4.5; 1 )

= 2.5

min ([array of values]),


min(value1;value2; ...)
Returns the smallest number in a specified array, or the smallest number among numbers
entered individually.

parseNumber (number; decimal


separator)
Parses a string with a number and returns the number.

https://www.make.com/en/help/functions/math-functions 3/6
20/11/2024, 09:03 Math functions

Example: parseNumber( 1 756,456 ; , )

round (number)
Rounds a numeric value to the nearest integer.

round( 1.2 )

=1

round( 1.5 )

=2

round( 1.7 )

=2

round( 2 )

=2

stdevP ([array of values])


Returns the standard deviation of a specified array of population values, or the standard
deviation of numbers entered individually.

stdevP( 1; 2; 3; 4; 5 )

= 1.4142135623730951

stdevP( {{array}} )

stdevS ([array of values])


Returns the standard deviation of a specified array of sample values, or the standard deviation
of numbers entered individually.

stdevS( 1; 2; 3; 4; 5 )

= 1.5811388300841898

https://www.make.com/en/help/functions/math-functions 4/6
20/11/2024, 09:03 Math functions

stdevS( {{array}} )

sum ([array of values]),


sum(value1;value2; ...)
Returns the sum of the values in a specified array, or the sum of numbers entered individually.

trunc (number)
Truncates a number to an integer by removing the fractional part of the number.

trunc( 3.789 )

=3

trunc( 3.789; 2 )

= 3.78

trunc( -3.789; 2 )

= -3.7

trunc( 123.456; -2 )

= 100

In this section
abs (number)[../functions/math-functions.html#abs--number-]

average ([array of values]) average(value1; [value2], ...)[../functions/math-functions.html#average---


array-of-values---average-value1---value2-------]

ceil (number)[../functions/math-functions.html#ceil--number-]

floor (number)[../functions/math-functions.html#floor--number-]

formatNumber (number; decimalPOINTS; [decimalSeparator]; [thousandsSeparator])


[../functions/math-functions.html#formatnumber--number--decimalpoints---decimalseparator----
thousandsseparator--]

https://www.make.com/en/help/functions/math-functions 5/6
20/11/2024, 09:03 Math functions

max ([array of values]), max(value1;value2; ...)[../functions/math-functions.html#max--array-of-values----


max-value1-value2------]

median ([array of values])[../functions/math-functions.html#median---array-of-values--]

min ([array of values]), min(value1;value2; ...)[../functions/math-functions.html#min--array-of-values----min-


value1-value2------]

parseNumber (number; decimal separator)[../functions/math-functions.html#parsenumber-number--


decimal-separator-]

round (number)[../functions/math-functions.html#round--number-]

stdevP ([array of values])[../functions/math-functions.html#stdevp---array-of-values--]

stdevS ([array of values])[../functions/math-functions.html#stdevs---array-of-values--]

sum ([array of values]), sum(value1;value2; ...)[../functions/math-functions.html#sum--array-of-values----


sum-value1-value2------]

trunc (number)[../functions/math-functions.html#trunc--number-]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/math-functions 6/6
20/11/2024, 09:06 Math variables

Math variables

Use math variables to insert a random number in your functions.

random
Returns a floating-point, pseudo-random number in the range [ 0 , 1 ) (inclusive of 0 , but
not 1 ).

Use the following formula to generate an integer pseudo-random number in the range
[ min , max ] (inclusive of both, min and max ):

You may copy and paste the formula's code into a field:

{{floor(random * (1.max - 1.min + 1)) + 1.min}} 

Examples

Rolling the dice


Let's say chatbot enthusiasts and such would like to create a dice game. They can employ
the random variable to randomly pick a number, say between 1 and 6, and then message that
number to a user in the respective Chatbot platform as a response.

1. In the mapping panel, head over to the Math functions tab:

https://www.make.com/en/help/functions/math-variables 1/2
20/11/2024, 09:06 Math variables

2. Under the Math functions tab, select the floor function.


3. Insert the random variable in between the brackets followed by * (multiplication
operator) and number 6 .
4. Add + (addition operator) after the bracket and number 1 .
5. Alternatively, you may copy and paste the formula's code into a field:
{{floor(random * 6) + 1}} 

Random String/Text
This template[https://www.make.com/en/templates/4066-generate-a-random-string-text] demonstrates
how to generate a string (text) of a given length composed of characters chosen randomly
from a predefined set.

In this section
random[../functions/math-variables.html#random]

Examples[../functions/math-variables.html#examples-935200]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/math-variables 2/2
20/11/2024, 08:59 String functions

String functions

String functions let you modify and transform string data, also known as text. Use a string function to, for example, change capitalization, remove
diacritics and accent marks, combine, split, encode, or decode text. Below is a list of supported string functions and a description of each.

ascii (text; [remove diacritics])


Removes all non-ascii characters from a text string.

ascii( ěMščařžkýáeíé )

= Make

ascii( ěščřž ; true )

= escrz

base64 (text)
Transforms text to base64.

base64( Make )

=TWFrZQ==

 Tip

Combine the toBinary() and toString() functions to transform base64 encoded text to plain text, as seen below:

toString( toBinary( TWFrZQ== ; base64 ) )

= Make

capitalize (text)
Converts the first character in a text string to uppercase.

capitalize(make)

= Make

contains (text; search string)


Verifies if text contains the search string.

contains( Hello World ; Hello )

= true

contains( Hello World ; Bye )

= false

https://www.make.com/en/help/functions/string-functions 1/6
20/11/2024, 08:59 String functions

decodeURL (text)
Decodes special characters in URL to text.

decodeURL( Automate%20your%20workflow )

= Automate your workflow

encodeURL (text)
Encodes special characters in a text to a valid URL address.

escapeHTML (text)
Escapes all HTML tags in text.

escapeHTML( <b>Hello</b> )

= &lt;b&gt;Hello&lt;/b&gt;

indexOf (string; value; [start])


Returns the position of the first occurrence of a specified value in a string. This method returns '-1' if the value searched for never occurs.

indexOf( Make ; k )

=2

indexOf( We love Make ; x )

= -1

indexOf( We love Make ; e ; 7 )

= 11

length (text or buffer)


Returns the length of text string (number of characters) or binary buffer (buffer size in bytes).

length( hello )

=5

lower (text)
Converts all alphabetical characters in a text string to lowercase.

lower( Hello )

= hello

md5 (text)
Calculates the md5 hash of a string.

https://www.make.com/en/help/functions/string-functions 2/6
20/11/2024, 08:59 String functions

md5( Make )

= 529a05ca6c1263aab080ec4f20754411

replace (text; search string; replacement string)


Replaces the search string with the new string.

replace( Hello World ; Hello ; Hi )

= Hi World

Regular expressions (enclosed in /.../ ) can be used as search string with a combination of flags (like g , i , m ) appended:

= All these numbers X X X X will be replaced with X

The replacement string can include the following special replacement patterns:

$& Inserts the matched substring

$n Where n is a positive integer less than 100, inserts the nth parenthesized submatch string. Note that this is 1-indexed

= Phone number is +420777111222

= Phone number: +420777111222

 Warning
Do not use named capture groups like / is (?<number>\d+)/ in the replacement string argument as this will throw an error.

replaceEmojiCharacters (text)
Replaces emoji characters with the new string.

sha1 (text; [encoding]; [key])


Calculates the sha1 hash of a string. If the key argument is specified, sha1 HMAC hash is returned instead. Supported encodings: hex (default),
base64 or latin1.

sha1( Make )

https://www.make.com/en/help/functions/string-functions 3/6
20/11/2024, 08:59 String functions

= a94431ee22f05f141107f9355ed3127d0f0c4d5a

sha256 (text; [encoding]; [key]; [key encoding])


Calculates the sha256 hash of a string. If the key argument is specified, sha256 HMAC hash is returned instead. Supported encodings: hex
(default), base64 or latin1.

sha256( Make )

= ccdd25d4230fb997a7ee1166f8afabd157248eb812ea55ec7c3d1b7c8af7fa11

sha512 (text; [output encoding]; [key]; [key encoding])


Calculates the sha512 hash of a string. If the key argument is specified, sha512 HMAC hash is returned instead. Supported encodings: hex
(default), base64 or latin1. Supported key encodings: text (default), hex, base64 or binary. When using binary key encoding, a key must be a
buffer, not a string.

sha512( Make )

=
e8000cd0fb8fae18caa8daa677269b0034380d3ec549e0113a0722d8b8dc05b0f7037f33f32fa09f906b2f1d7c43f2689a55d79aadf6bf09dd93f79407424d34

split (text; separator)


Splits a string into an array of strings by separating the string into substrings.

split( John, George, Paul ; , )

startcase (text)
Capitalizes the first letter of every word and lower cases all other letters.

startcase( hello WORLD )

= Hello World

stripHTML (text)
Removes all HTML tags from text.

stripHTML( <b>Hello</b> )

= Hello

substring (text; start; end)


Returns a portion of a text string between the "start" position and "the end" position.

substring( Hello ; 0 ; 3 )

= Hel

substring( Hello ; 1 ; 3 )

= el

https://www.make.com/en/help/functions/string-functions 4/6
20/11/2024, 08:59 String functions

toBinary (value)
Converts any value to binary data. You can also specify encoding as a second argument to apply binary conversions from hex or base64 to binary
data.

toBinary( Make )

= 4d 61 6b 65

toString(toBinary(TWFrZQ==;base64)

= Make

toString (value)
Converts any value to a string.

trim (text)
Removes space characters at the start or end of the text.

upper (text)
Converts all alphabetical characters in a text string to uppercase.

upper( Hello )

= HELLO

In this section
ascii (text; [remove diacritics])[../functions/string-functions.html#ascii--text---remove-diacritics--]

base64 (text)[../functions/string-functions.html#base64--text-]

capitalize (text)[../functions/string-functions.html#capitalize--text-]

contains (text; search string)[../functions/string-functions.html#contains--text--search-string-]

decodeURL (text)[../functions/string-functions.html#decodeurl--text-]

encodeURL (text)[../functions/string-functions.html#encodeurl--text-]

escapeHTML (text)[../functions/string-functions.html#escapehtml--text-]

indexOf (string; value; [start])[../functions/string-functions.html#indexof--string--value---start--]

length (text or buffer)[../functions/string-functions.html#length--text-or-buffer-]

lower (text)[../functions/string-functions.html#lower--text-]

md5 (text)[../functions/string-functions.html#md5--text-]

replace (text; search string; replacement string)[../functions/string-functions.html#replace--text--search-string--replacement-string-]

replaceEmojiCharacters (text)[../functions/string-functions.html#replaceemojicharacters--text-]

sha1 (text; [encoding]; [key])[../functions/string-functions.html#sha1--text---encoding----key--]

sha256 (text; [encoding]; [key]; [key encoding])[../functions/string-functions.html#sha256--text---encoding----key----key-encoding--]

sha512 (text; [output encoding]; [key]; [key encoding])[../functions/string-functions.html#sha512--text---output-encoding----key----key-encoding--]

split (text; separator)[../functions/string-functions.html#split--text--separator-]

startcase (text)[../functions/string-functions.html#startcase--text-]

stripHTML (text)[../functions/string-functions.html#striphtml--text-]

substring (text; start; end)[../functions/string-functions.html#substring--text--start--end-]

toBinary (value)[../functions/string-functions.html#tobinary--value-]

https://www.make.com/en/help/functions/string-functions 5/6
20/11/2024, 08:59 String functions

toString (value)[../functions/string-functions.html#tostring--value-]

trim (text)[../functions/string-functions.html#trim--text-]

upper (text)[../functions/string-functions.html#upper--text-]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/string-functions 6/6
20/11/2024, 08:29 Text Parser

Text Parser 

Getting Started with Text Parser

Transformers

 Caution

The module's dialog field names that are displayed in bold (in the Make
scenario, not in this documentation article) are mandatory!

Get Elements from HTML


Retrieves the desired elements from an HTML code.

Continue the execution of the


If enabled, the scenario will not be stopped by this
route even if the module returns
module.
no results

Select the type of element you want to retrieve from


Element type the HTML code such as image, link,
or iframe element(s).

Enter the HTML code you want to retrieve the


HTML
specified element types from.

Match Pattern
The Match pattern module enables you to find and extract string elements matching a search
pattern from a given text. The search pattern is a regular
expression[https://en.wikipedia.org/wiki/Regular_expression] (aka regex or regexp), which is a
sequence of characters in which each character is either a metacharacter, having a special
meaning, or a regular character that has a literal meaning.

https://www.make.com/en/help/tools/text-parser 1/4
20/11/2024, 08:29 Text Parser

The complete list of metacharacters can be found on the MDN web docs
website[https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions].
For a tutorial on how to create regular expressions, we recommend the RegexOne
website[https://regexone.com/].
For an easy, quick regex generator, try the Regular Expressions generator[https://regex-
generator.olafneumann.org].

For experimenting with regular expressions, we recommend the regular expressions 101
website.[https://regex101.com/] Just make sure to tick the ECMAScript (JavaScript)
FLAVOR in the left panel:

https://www.make.com/en/help/tools/text-parser 2/4
20/11/2024, 08:29 Text Parser

Enter the regular expression pattern. For example, [+-]?(\d+(\.\d+)?


|\.\d+)([eE][+-]?\d+)? extracts all numerals in the provided text.

 Note

The pattern will contain at least one capture


group in parenthesis () for the output bundle
to contain some items. If the pattern does
Pattern not contain any capture groups, the output
bundle will be empty:

If enabled, then the module retrieves all matches in the text. If


Global match
disabled, then the module retrieves only the first entry.

You can disable the case sensitivity by disabling this option


Case sensitive
(default=case sensitive).

If checked, beginning and end metacharacters ( ^ and $ ) will


Multiline match the beginning or end of each line, not just the very
beginning or end of the whole input string.

Continue the
execution of the
route even if the If enabled, the scenario will not be stopped by this module.
module returns no
results

Text Enter the text you want to match the pattern.

Replace
Searches the entered text for a specified value or regular expression, and replaces the result
with the new value.

Enter the search term. You can also use a regular expression. For more
Pattern details about the regular expression, refer to the Match Pattern[text-
parser.html#match-pattern] module.

https://www.make.com/en/help/tools/text-parser 3/4
20/11/2024, 08:29 Text Parser

New value Enter a value that will replace the search term.

Global If this option is enabled, the module will find all matches rather than stopping
Match after the first match. Each match will be output in a separate bundle.

Case
If this option is enabled, the search will be case sensitive.
sensitive

If checked, the beginning and end metacharacters ( ^ and $ ) will match the
Multiline beginning or end of each line, not just the very beginning or end of the whole
input string.

Text Enter the text to be searched.

Data Scraping
Data scraping, sometimes called web scraping, data extraction, or web harvesting is simply the
process of collecting data from websites and storing it in your local database or spreadsheets.
If you wish to scrape data from a website and you are not familiar with regular expressions,
you may use a data scraping tool:

Apify[https://apify.com/] is an excellent tool, and we already have it integrated


Best Data Scraping Tools for 2021[https://www.octoparse.com/blog/best-data-scraping-
tools-for-2019-top-10-reviews]

Web Data Extractors


2022[http://whitepapers.virtualprivatelibrary.net/Web%20Data%20Extractors.pdf]

If the data scraping tool provides a REST API, you can connect to it via our universal
HTTP[../apps/built-in-apps/http.html] and Webhooks [webhooks.html] modules. You can also
implement an app on your own using the Make App SDK[https://docs.integromat.com/apps/].

In this section
Getting Started with Text Parser[../tools/text-parser.html#getting-started-with-text-parser]

Data Scraping[../tools/text-parser.html#data-scraping]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/text-parser 4/4
20/11/2024, 09:05 Tokens for date/time formatting

Tokens for date/time formatting

Use date/time formatting tokens to change the format of date/time data. For example, you can
convert a timestamp to a quarter of the year or day of the week. The following tables present
the tokens supported for changes in formatting.

Year, month, and day tokens


Token Output Description

YY 70 71 ... 29 30 2 digit year

YYYY 1970 1971 ... 2029 2030 4 digit year

Year with any number of


Y 1970 1971 ... 9999 +10000 +10001
digits and sign

Q 1234 Quarter of year

Qo 1st 2nd 3rd 4th Quarter of year with ordinal

M 1 2 ... 11 12 Month number

Mo 1st 2nd ... 11th 12th Month with ordinal

Month number with leading


MM 01 02 ... 11 12
zero

MMM Jan Feb ... Nov Dec Month abbreviation

January February ... November


MMMM Month name
December

D 1 2 ... 30 31 Day of month

Do 1st 2nd ... 30th 31st Day of month with ordinal

https://www.make.com/en/help/functions/tokens-for-date-time-formatting 1/4
20/11/2024, 09:05 Tokens for date/time formatting

Token Output Description

Day of month with leading


DD 01 02 ... 30 31
zero

DDD 1 2 ... 364 365 Day of year

DDDo 1st 2nd ... 364th 365th Day of year with ordinal

Day of year with leading


DDDD 001 002 ... 364 365
zero

Week year, week, and weekday


tokens
Token Output Description

d 0 1 ... 5 6 Day of week

do 0th 1st ... 5th 6th Day of week with ordinal

dd Su Mo ... Fr Sa Day abbreviation

ddd Sun Mon ... Fri Sat Day abbreviation

Sunday Monday ... Friday


dddd Day name
Saturday

E 1 2 ... 6 7 Day of week (ISO)

w 1 2 ... 52 53 Week of year

wo 1st 2nd ... 52nd 53rd Week of year with ordinal

ww 01 02 ... 52 53 Week of year with leading zero

W 1 2 ... 52 53 Week of year (ISO)

Wo 1st 2nd ... 52nd 53rd Week of year with ordinal (ISO)

Week of year with leading zero


WW 01 02 ... 52 53
(ISO)

gg 70 71 ... 29 30 Week year

https://www.make.com/en/help/functions/tokens-for-date-time-formatting 2/4
20/11/2024, 09:05 Tokens for date/time formatting

Token Output Description

gggg 1970 1971 ... 2029 2030 Week year

GG 70 71 ... 29 30 Week year (ISO

GGGG 1970 1971 ... 2029 2030 Week year (ISO)

Hour, minute, second, millisecond,


and offset tokens
Token Output Description

H 0 1 ... 22 23 24 hour time

24 hour time with leading


HH 00 01 ... 22 23
zero

h 1 2 ... 11 12 12 hour time

12 hour time with leading


hh 01 02 ... 11 12
zero

k 1 2 ... 23 24 24 hour time

24 hour time with leading


kk 01 02 ... 23 24
zero

Post or ante meridiem


A AM PM
(upper case)

Post or ante meridiem (lower


a am pm
case)

m 0 1 ... 58 59 Minutes

mm 00 01 ... 58 59 Minutes with leading zero

s 0 1 ... 58 59 Seconds

ss 00 01 ... 58 59 Seconds with leading zero

S 0 1 ... 8 9 Fractional seconds

https://www.make.com/en/help/functions/tokens-for-date-time-formatting 3/4
20/11/2024, 09:05 Tokens for date/time formatting

Token Output Description

Fractional seconds with


SS 00 01 ... 98 99
leading zero

Fractional seconds with two


SSS 000 001 ... 998 999
leading zeros

SSSS ... 000[0..] 001[0..] ... 998[0..]


Fractional seconds
SSSSSSSSS 999[0..]

-07:00 -06:00 ... +06:00


Z Time zone
+07:00

-0700 -0600 ... +0600


ZZ Time zone
+0700

X 1360013296 Unix Timestamp

x 1360013296123 Unix Millisecond Timestamp

In this section
Year, month, and day tokens[../functions/tokens-for-date-time-formatting.html#year--month--and-day-tokens-
935202]

Week year, week, and weekday tokens[../functions/tokens-for-date-time-formatting.html#week-year--week-


-and-weekday-tokens-935202]

Hour, minute, second, millisecond, and offset tokens[../functions/tokens-for-date-time-


formatting.html#hour--minute--second--millisecond--and-offset-tokens-935202]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/tokens-for-date-time-formatting 4/4
20/11/2024, 09:04 Tokens for date/time parsing

Tokens for date/time parsing

Date/time parsing tokens are special combinations of letters you can use to read and extract
date/time data. The following tables list the tokens you can use to parse data in your functions:

Year, month, and day tokens


Input Example Description

YYYY 2014 4 or 2 digit year

YY 14 2 digit year

Y -25 Year with any number of digits and sign

Quarter of year

 Note
Q 1..4

Sets month to first month in quarter

M MM 1..12 Month number

MMM MMMM Jan..December Month name

D DD 1..31 Day of month

Do 1st..31st Day of month with ordinal numbers

DDD DDDD 1..365 Day of year

X 1410715640.579 Unix timestamp

x 1410715640579 Unix ms timestamp

https://www.make.com/en/help/functions/tokens-for-date-time-parsing 1/3
20/11/2024, 09:04 Tokens for date/time parsing

Week year, week, and weekday


tokens
Input Example Description

ddd dddd Mon...Sunday Day name

GGGG 2014 ISO 4 digit week year

GG 14 ISO 2 digit week year

W WW 1..53 ISO week of year

E 1..7 ISO day of week

Hour, minute, second, millisecond,


and offset tokens
Input Example Description

H HH 0..23 Hours (24 hour time)

h hh 1..12 Hours (12 hour time used with aA )

k kk 1..24 Hours (24 hour time from 1 to 24)

Post or ante meridiem (Note the one character ap are also


aA am pm
considered valid)

m mm 0..59 Minutes

s ss 0..59 Seconds

S SS
0..999 Fractional seconds
SSS

Z ZZ +12:00 Offset from UTC as +-HH:mm , +-HHmm , or Z

In this section

https://www.make.com/en/help/functions/tokens-for-date-time-parsing 2/3
20/11/2024, 09:04 Tokens for date/time parsing

Year, month, and day tokens[../functions/tokens-for-date-time-parsing.html#year--month--and-day-tokens-


935199]

Week year, week, and weekday tokens[../functions/tokens-for-date-time-parsing.html#week-year--week--


and-weekday-tokens-935199]

Hour, minute, second, millisecond, and offset tokens[../functions/tokens-for-date-time-parsing.html#hour--


minute--second--millisecond--and-offset-tokens-935199]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/tokens-for-date-time-parsing 3/3
20/11/2024, 08:31 Tools

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.

Create custom bundles by adding array items.


Bundle
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

 Note

See our scenario template for the Controlled distribution of data


flow[https://www.make.com/en/templates/2952-controlled-distribution-of-data-
flow].

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

https://www.make.com/en/help/tools/tools 1/12
20/11/2024, 08:31 Tools

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.

Configure the module to never reset the value:

https://www.make.com/en/help/tools/tools 2/12
20/11/2024, 08:31 Tools

There are two conditions used after the router module:

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

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

https://www.make.com/en/help/tools/tools 3/12
20/11/2024, 08:31 Tools

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

https://www.make.com/en/help/tools/tools 4/12
20/11/2024, 08:31 Tools

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.

https://www.make.com/en/help/tools/tools 5/12
20/11/2024, 08:31 Tools

Set Variable
Creates a variable that can be mapped by other modules in the route or by the Get
Variable[tools.html#get-variable] module for every route in the scenario.

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

One cycle

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

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

Variable
Enter the value of the variable.
value

Set Multiple Variables


Creates multiple variables that can be mapped by other modules in the route or by the Get
Multiple Variables[tools.html#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[tools.html#set-variable] modules
one Set multiple variables module consumes just a single operation

Add multiple variables you want to set.

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

Variable
Enter the value of the variable.
value

https://www.make.com/en/help/tools/tools 6/12
20/11/2024, 08:31 Tools

One cycle

The variable is valid only for one cycle. Useful when multiple webhooks in
one scenario run are received (more webhooks = more cycles).
Variable
lifetime
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[tools.html#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[../modules/router.html] module for
information about the order in which routes are processed.

https://www.make.com/en/help/tools/tools 7/12
20/11/2024, 08:31 Tools

Get Multiple Variables


Retrieves values that were previously created by the Set Multiple Variables[tools.html#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[tools.html#get-variable] modules
one Get multiple variables module consumes just a single operation

Add multiple variables you want to get.

Variables
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

https://www.make.com/en/help/tools/tools 8/12
20/11/2024, 08:31 Tools

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
Select the module you want to aggregate fields from.
module

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

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

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

Define an expression containing one or more mapped items. The


aggregated data will then be separated into Groups with the same
Group by 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.

https://www.make.com/en/help/tools/tools 9/12
20/11/2024, 08:31 Tools

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.

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 Enter the input data encoding type. This is important for the binary
codepage form of data.

https://www.make.com/en/help/tools/tools 10/12
20/11/2024, 08:31 Tools

Output data
Select the target encoding of your data.
codepage

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.

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
Cases OR the value from the Else field (below) is returned.

When using regex patterns, make sure to adhere to the ECMAScript flavor.

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[../apps/built-in-apps/http.html#make-a-request-2817825]
module in the main scenario to call the other scenario. Employ the Webhooks > Custom
webhook[webhooks.html#creating-custom-webhooks] module in the other scenario to receive the
call. Employ the Webhooks > Webhook response[webhooks.html] 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[../scenarios/execution,-cycles,-and-phases.html] or commit[../scenarios/execution,-cycles,-and-
phases.html] phase or to stop the processing of a route and optionally store it in the queue of
incomplete executions[../scenarios/incomplete-executions.html].

In this section
[../tools/tools.html#-970385]

https://www.make.com/en/help/tools/tools 11/12
20/11/2024, 08:31 Tools

Triggers[../tools/tools.html#triggers-970385]

Increment function[../tools/tools.html#increment-function]

Sleep[../tools/tools.html#sleep]

Set Variable[../tools/tools.html#set-variable]

Set Multiple Variables[../tools/tools.html#set-multiple-variables]

Get Variable[../tools/tools.html#get-variable]

Get Multiple Variables[../tools/tools.html#get-multiple-variables]

Aggregators[../tools/tools.html#aggregators-970385]

Transformers[../tools/tools.html#transformers-970385]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/tools 12/12
20/11/2024, 08:34 Using functions

Using functions

When mapping items[../mapping/mapping.html], you can use functions to create complex


formulas. The functions available in Make are similar to functions in Excel or those in other
programming languages. The functions let you perform various transformations of item values,
such as converting a text to uppercase, trimming a text, converting a date into a different
format, and many others.

Inserting functions into fields


Functions can be inserted into fields the same way as items. If you click into a field, the
mapping panel pops up.

The mapping panel contains several tabs:

https://www.make.com/en/help/functions/using-functions 1/4
20/11/2024, 08:34 Using functions

The first tab (shown upon opening the panel) displays the items that you can map from
other modules.
The other tabs contain various functions:
General functions - see General functions[general-functions.html]
Math functions - see Math functions[math-functions.html]
Text and binary functions - see String functions[string-functions.html]
Date and time - see Date & time functions[date---time-functions.html]
Tokens for date/time formatting[tokens-for-date-time-formatting.html]
Tokens for date/time parsing [tokens-for-date-time-parsing.html]

Functions for working with arrays - see Array functions[array-functions.html]


Custom functions[custom-functions.html]
Custom and system variables[variables.html]

To insert a function into a field, click the function name or drag it to the field.

Example: shortening a tweet


When posting a new tweet with the Twitter[../apps/marketing/twitter-legacy.html] > Create a
tweet module, you should not exceed Twitter's 280-character limit. Otherwise, the module
throws an error. If you map a text item that can contain more than 280 characters into the
module's Status field, you can use the substring() function to limit the tweet to 280 characters:

Using Google Sheets functions


If you miss a function, but it is featured by Google Sheets[../apps/productivity/google-sheets.html],
you may use it like this:

1. In Google Sheets, create a new empty spreadsheet.


2. In Make, open your scenario.
3. Insert the Google Sheets > Update a cell module.
4. Configure the module:
a. Choose the newly created spreadsheet in the Spreadsheet field.
b. Insert your formula containing the Google Sheets function(s) into the Value field.

https://www.make.com/en/help/functions/using-functions 2/4
20/11/2024, 08:34 Using functions

Note that you can use the output of the preceding modules as usual.
5. Insert the Google Sheets > Get a cell module to obtain the calculated result.
6. Configure the module. Fill in the same Cell ID as you filled in step 4.

In this section
Inserting functions into fields[../functions/using-functions.html#inserting-functions-into-fields]

Example: shortening a tweet[../functions/using-functions.html#example--shortening-a-tweet]

Using Google Sheets functions[../functions/using-functions.html#using-google-sheets-functions]

https://www.make.com/en/help/functions/using-functions 3/4
20/11/2024, 08:34 Using functions

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/using-functions 4/4
20/11/2024, 09:05 Variables

Variables

Variables are containers for storing data. You can think of a variable as a “box” for data, with a
uniquely-named sticker on it.

Imagine you are moving to a new home and you need to pack up all the things in your house into
boxes. You might want a box for clothes, one for books, and one for the dishes. When you pack
the boxes, it would be good to add a label to each box - that way, you know what is inside the
specific box.

A variable is like a box - it is just a way to store your data.

Variables store data as boxes store items.

Unlike a box, you can store exactly one thing in a variable. Variables have a fixed name and a
value that can change. You can reference the name in your scenarios. The name is then
replaced by the current value of your variable.

When using Make, you might need to save certain bits of information and assign a label to the
information so that you can retrieve that information later. A user name, the day of the week, or
available inventory left in your e-shop - these are just some examples of data that can be stored
in variables.

Variables are reusable elements that can be mapped to any module in the module's input fields.

https://www.make.com/en/help/functions/variables 1/13
20/11/2024, 09:05 Variables

Types of variables
Make offers two types of variables:

System variables
Custom variables

Both system and custom variables can be used in scenarios. System variables are available to
all Make users.

Custom variables are available only on Pro, Teams, and Enterprise plans. See Make
pricing[https://www.make.com/en/pricing].

You can define custom variables for your organization and for your team.

System variables

Watch the video

System Variables

System variables are default options provided by Make. You cannot modify or delete system
variables. You can use system variables in

https://www.make.com/en/help/functions/variables 2/13
20/11/2024, 09:05 Variables

Modules with input fields


Filters within the scenario editor
Templates

System variables are available to all Make users and on all pricing plans.

System variables include information about:

the scenario itself (scenario ID, scenario name, scenario URL)


the specific scenario execution (execution ID, operations consumed, data consumed,
execution start date/time)
the team the scenarios is in (team ID, team name)
the organization the scenario is in (organization ID, organization name, operations left,
data left, domain)

With system variables, you can see more information about your scenario, current execution,
team, and organization. Variables can be useful with error handling and scenario activity
tracking. For example, when there is an error in your scenario, you can use scenario ID or
organization name variables to pinpoint the exact scenario execution and organization in which
the error occurred.

Some other cases in which you might use system variables:

Create a slack message, email, or support ticket that contains a link to the scenario that
created the message
Set email notifications to notify you once the operations left value reaches a certain
number

You can also reuse variables and map them to any module in the module's input fields.

The screenshot below shows the organization, team, and scenario information got as the module
output in bundle 1 using system variables. You can use this output in the subsequent module.

https://www.make.com/en/help/functions/variables 3/13
20/11/2024, 09:05 Variables

Example, Bundle 1 output using system variables

You can find System variables under the Variables tab in the mapping dialog.

https://www.make.com/en/help/functions/variables 4/13
20/11/2024, 09:05 Variables

Custom variables

Watch the video

Custom Variables

Custom variables are available only on Pro, Teams, and Enterprise pricing plans. Custom
variables are not available on the Legacy plan[../general/pricing-parameters.html#legacy-plan]. See
Make pricing[https://www.make.com/en/pricing] for more information.

You can create, edit and delete custom variables.

Custom variables are useful when you need to reuse the same information multiple times.
Instead of writing it all over again from scratch every time, just use a custom variable instead.

Some cases where you might want to use custom variables:

Sending emails with a consistent email signature


Set a number of outreach attempts before you stop contacting a potential customer
Email addresses
Company name or address

Benefits of using custom variables include:

https://www.make.com/en/help/functions/variables 5/13
20/11/2024, 09:05 Variables

Saving time - You don’t have to make manual changes in many different scenarios when
the key information changes.
Accuracy - You don’t have to double-check every time whether the information is
incorrect due to a human error.
Standardization – More people can use the same variables so your business can be
more consistent.

Custom variables make scenarios easier to manage and maintain.

You can define custom variables at the organization level and the team level. For each variable,
you need to identify the following:

Name (permanent variable name)


Data type (text, number, Boolean, or date)
Value (the actual value of the variable)

Create a custom variable


You can create custom variables at the organization level and at the team level.

1. Decide if you want to create an organization variable or a team variable.


For organization variables, go to the organization dashboard and click Variables >
Add organization variable.
For team variables, go to the team dashboard and click Variables > Add team
variable.

2. Fill in the information.

Name

This field is mandatory and you cannot change it after you save it.
The name is the identifier of the variable.
The name must contain only letters, digits, or the symbols $ and _.
The name cannot start with a digit.
The name must contain a maximum of 128 characters.

https://www.make.com/en/help/functions/variables 6/13
20/11/2024, 09:05 Variables

Data type

Choose the variable data type from the dropdown menu

Number
Text
Boolean
Date

Value

Enter the value for your variable.


You can use letters, digits, spaces, and special characters.
Value cannot be empty.

 Warning

Variables are not meant to store secrets. Don’t use them for
anything sensitive!

Variable values are not encrypted as they are stored in plain text.
Don’t use variables to store passwords or any other sensitive data.
Beware that other team members and organization admins can
access variables.

https://www.make.com/en/help/functions/variables 7/13
20/11/2024, 09:05 Variables

3. Click Save to save your custom variable.

Your new variable will appear on the list of variables.

To preview the variable value, hover over the individual value field.

Edit a custom variable

 Warning

If your other team members or organization admins use the same variable
in their scenarios, the changes will affect them too.

1. Go to the variable you want to edit.


For organization variables, go to the organization dashboard and click Variables.
For team variables, go to the team dashboard and click Variables.

2. In the list of your custom variables find the one you want to edit and click Edit next to it.

https://www.make.com/en/help/functions/variables 8/13
20/11/2024, 09:05 Variables

3. Edit the variable as you see fit. You can edit the variable data type and value.

4. Click Save to save your changes.

Your changes are saved and your updated variable will appear on the list of variables. Hover
over the individual value field to preview the variable value.

The changes automatically update in the scenarios that already use the variable.

Delete a custom variable

 Warning

Deleting a variable that you already use in one or more scenarios can
affect other users who use the same variable in their scenarios. After you
delete a variable, the variable becomes inactive in all scenarios where it is
used and it stops returning expected values.

1. Decide if you want to edit an organization variable or a team variable.


For organization variables, go to the organization dashboard and click Variables.

https://www.make.com/en/help/functions/variables 9/13
20/11/2024, 09:05 Variables

For team variables, go to the team dashboard and click Variables.

2. In the list of your custom variables find the one you want to delete and click Delete next to
it.

If the variable you want to delete is already used in a scenario, a modal pops up asking for
your confirmation to delete the variable. Click OK to delete the variable.

The variable is deleted and disappears from your list of custom variables.

Check custom variable history


You can see who changed the custom variable, when, and what the changes are.

1. Go to the custom variable whose history you want to check.


For organization variables, go to the organization dashboard and click Variables.
For team variables, go to the team dashboard and click Variables.

2. Click the dropdown menu next to Edit. Select Show history.

https://www.make.com/en/help/functions/variables 10/13
20/11/2024, 09:05 Variables

A new window opens where you can see the variable history. The last change appears on the
top.

User permissions for custom


variables

Organization variables
Table 1. Organization custom variables user permissions

https://www.make.com/en/help/functions/variables 11/13
20/11/2024, 09:05 Variables

App
Owner Admin Member Accountant Developer

Can access
organization
variables

Can edit organization


variables

Can add
organization
variables

Can delete
organization
variables

Team variables
Table 2. Team custom variables user permissions

Team
Team Team Team Team Restricted
Admin Member Monitoring Operator Member

Can access
organization
variables

Can add
organization
variables

Can edit organization


variables

Can delete
organization
variables

https://www.make.com/en/help/functions/variables 12/13
20/11/2024, 09:05 Variables

Using variables in a scenario


You can use variables in all scenarios within your Make account.

System variables are available to all Make users and custom variables are available only on
some paid plans (Pro, Teams, and Enterprise). See Make pricing[https://www.make.com/en/pricing].

We prepared two simple examples which show how you can use system and custom variables in
your scenarios. Click the plus icon to see the examples.

+ Example with system variables

Get notified before you reach your operations limit


[#example-with-system-variables_body]

+ Example with custom variables

Emails with consistent email signature


[#example-with-custom-variables_body]

In this section
Types of variables[../functions/variables.html#types-of-variables]

System variables[../functions/variables.html#system-variables]

Custom variables[../functions/variables.html#custom-variables]

User permissions for custom variables[../functions/variables.html#user-permissions-for-custom-variables]

Using variables in a scenario[../functions/variables.html#using-variables-in-a-scenario]

© 2024 Celonis Inc.

https://www.make.com/en/help/functions/variables 13/13
20/11/2024, 08:29 Webhooks

Webhooks 

Webhooks allow you to send data to Make over HTTP. Webhooks create a URL that you can call
from an external app or service, or from another Make scenario. Use webhooks to trigger the
execution of scenarios.

Webhooks usually act as instant triggers. Contrary to scheduled triggers, which periodically ask
a given service for new data to be processed, webhooks execute the scenario immediately after
the webhook URL receives a request.

Make supports the following types of webhooks:

App-specific webhooks listen for data coming out of a specific app, also called instant
triggers.
Custom webhooks allow you to create a URL to which you can send any data.

Creating app-specific webhooks


Many apps provide webhooks to execute scenarios whenever a certain change occurs in the
app. These are called instant triggers. Instant triggers are marked with the label "INSTANT" in
the list of an app's modules:

If an app does not provide webhooks, use polling triggers to periodically poll the service for
new data.

Creating custom webhooks


To create a webhook, you must insert the Custom webhook module to a scenario.

https://www.make.com/en/help/tools/webhooks 1/24
20/11/2024, 08:29 Webhooks

 Note

Each scenario must use its own webhook. You can not use one webhook
in multiple scenarios.

Inserting webhooks to scenarios


1. Insert the Custom Webhook module from the Webhooks app.
2. In the module's settings, click Add.
3. Set the webhook's name and other settings, then click Save.

Make generates a URL and starts listening for requests to this URL. Send a request to this URL
to have Make automatically determine the data structure for this webhook. See setting up
webhook data structure below for more details.

 Note

You can access the webhook's details and change the webhook's settings
in the Webhooks section in the left menu.

Setting up webhook data structure


Optionally, you can let Make know what data structure to expect in the webhook request
payload. Make can use data structures to validate the incoming data. If you do not set up a data
structure, Make will pass the incoming data to subsequent modules in your scenario without any
validation.

To enable validating incoming data, set up the webhook's data structure in one of the following
ways:

Create a new data structure manually in the Data structures section.


Use an existing data structure.

You can also use the following methods to let Make know what data structure to expect.

https://www.make.com/en/help/tools/webhooks 2/24
20/11/2024, 08:29 Webhooks

 Notice

Note that these methods do not enable data validation. The data
structure set up in this way only helps with mapping the webhook data to
subsequent modules in your scenario.

Create a data structure immediately after creating the webhook by calling the webhook
URL with sample data in the request body.
Re-determine the data structure of an existing webhook going to the Webhook module
settings, clicking Re-determine data structure, and calling the webhook URL with sample
data in the request body.

If you call the webhook URL to automatically determine or re-determine the data structure, Make
does not create a reusable data structure in the Data structures section. The data structure
determined in this way is stored internally with the particular webhook. In this case, Make does
not validate incoming data.

Scheduling webhooks processing


By default, when Make receives data on a webhook, your scenario executes immediately. If you
don't want to run your scenario immediately after a webhook receives data, you can schedule
your scenario to process all webhook requests periodically.

1. Edit the scenario which is triggered by your webhook.


2. Edit the scenario schedule settings.
OR
Edit the schedule settings of the webhook module.
3. Set up your desired schedule.

When a scheduled webhook receives data, Make stores the data in the webhook's queue. The
whole queue is then processed every time your schedule criteria are met.

How Make processes webhooks


When a webhook receives a request, the system stores the request in the webhook's queue.
Each webhook has its own queue. Go to the Webhooks section in the left menu to view all
webhooks and their queues.

https://www.make.com/en/help/tools/webhooks 3/24
20/11/2024, 08:29 Webhooks

Parallel vs. sequential processing


If you are using instant webhooks, Make starts processing each request immediately as the
request is received. By default, scenarios with instant webhooks are processed in parallel.
Even if a previous scenario execution is still being processed, Make does not wait for its
processing to complete.

You can inspect all running executions in the scenario detail. Click an item in the list of running
executions to view the graphical representation of that particular execution. The execution that is
currently displayed is marked with an eye icon.

To turn off parallel processing, open the settings of your scenario and select Sequential
processing. With sequential processing enabled, Make waits until the previous execution is
complete before starting the next one. Also, use sequential processing when you need to
process your webhook requests in the order that they came in.

Processing scheduled webhooks


If you are using scheduled webhooks, requests accumulate in the queue until the schedule
criteria are met. When schedule criteria are met, Make processes the queued requests based on
the Maximum number of results that you set for the webhook.

For example, if your scenario is scheduled to run every hour and your Maximum number of
results is set to the default value of 2, Make processes two items from the queue every hour. If
your webhook queue is filling up with requests, increase the Maximum number of results or
adjust the schedule to execute the scenario more often.

https://www.make.com/en/help/tools/webhooks 4/24
20/11/2024, 08:29 Webhooks

 Note

Instant trigger modules have the Maximum number of cycles parameter


instead of the Maximum number of results.

Set the Maximum number of cycles in the instant trigger modules to get
the same data processing behavior as is with webhooks and the Maximum
number of results parameter.

Webhook queue details


When data arrives to a webhook and the call is not processed instantly, Make stores it in the
webhook processing queue.

The limit for the number of webhook queue items depends on your usage allowance, which is a
part of your subscription. For every 10,000 operations licensed per month, you can have up to
667 items in each webhook's queue. The maximum number is 10,000 items in the webhook's
queue.

When the webhook queue is full, Make rejects all incoming webhook data which is over the limit.

Incoming webhook data is always stored in the queue regardless of the data is confidential
option settings. As soon as the data is processed in a scenario, it is permanently deleted.

View webhook queue


To view the content of the queue, follow the steps below.

1. Go to the Webhooks section in the left menu.

2. Find the webhook whose queue you want to view.


3. Click the specific webhook on the list to inspect its details.

https://www.make.com/en/help/tools/webhooks 5/24
20/11/2024, 08:29 Webhooks

You can see:


Webhook status
Webhook URL and webhook UDID (unique webhook identifier)
Status of your scenario
Scenario ID and scenario URL
4. To see the webhook's queue, click Queue.

You can also click the button with the truck icon on the Webhooks page.

The webhook's queue displays.

5. Click Detail by the webhook you want to inspect.

https://www.make.com/en/help/tools/webhooks 6/24
20/11/2024, 08:29 Webhooks

You can see the parsed items.

Expiration of inactive webhooks


Make automatically deactivates webhooks that are not connected to any scenario for more than
5 days (120 hours). The hook return 410 Gone status code.

Delete webhook item from a queue


1. Go to the Webhooks section in the menu on the left.

https://www.make.com/en/help/tools/webhooks 7/24
20/11/2024, 08:29 Webhooks

2. Click the button with the truck icon to see the webhook's queue.

The webhook's queue displays.

3. Tick the box on the left in front of the entries you want to delete.
4. Click Delete selected to delete the chosen webhook(s).

To delete all, tick the first box on the left and then Delete all.

https://www.make.com/en/help/tools/webhooks 8/24
20/11/2024, 08:29 Webhooks

Click OK to confirm.

You have deleted the incoming webhook item(s) from the queue.

Webhook logs
Make stores webhook logs for 3 days. For the organizations on the Enterprise plan,Make keeps
the webhook logs for 30 days. Make deletes logs older than other retention limit.

To view webhook logs, follow the steps below.

1. Go to the Webhooks section in the menu on the left.

2. Click the specific webhook on the list to inspect its details.

https://www.make.com/en/help/tools/webhooks 9/24
20/11/2024, 08:29 Webhooks

3. Click Logs.

You can see:


Status of the webhook call (success, warning, error, or all)
To filter the webhook logs by status, click the filter icon.

Date and time of the incoming webhook


To sort the webhook log by date and time, click the arrow.

Webhook execution log size

4. To see the detail of the specific webhook log, click Detail.

https://www.make.com/en/help/tools/webhooks 10/24
20/11/2024, 08:29 Webhooks

You can see:

Webhook request (timestamp, URL, method, headers, query, body)


Webhook response (status, headers, body)
Parsed items
Parsed items combine the query parameters and body of the webhook request in one
bundle.

Webhook settings
To adjust a webhook's settings, click Webhooks in the left menu and Edit a webhook.

Setting Description

A whitelist of IP addresses delimited by comma. Only webhook requests


IP restrictions that come from the specified IPs will be processed. Use CIDR notation to
whitelist a subnet. Leave empty if you want to allow requests from all IPs.

Select an existing data structure or create a new data structure for the
webhook. Make will use the data structure to validate the incoming data.
Data structure
Requests that don't pass validation will be rejected with HTTP status code
400.

Get request Extracts headers data from the webhook request and makes the data
headers available for mapping in the scenario.

https://www.make.com/en/help/tools/webhooks 11/24
20/11/2024, 08:29 Webhooks

Get request Extracts the HTTP method from the request and makes the method
HTTP method available for mapping in the scenario.

JSON pass- Passes JSON payloads to subsequent modules in the scenario as a text
through string, as opposed to breaking the payload down into mappable fields.

Error Handling
When there is an error in your scenario with a webhook, the scenario:

stops immediately - when the scenario is set to run Immediately.


stops after 3 unsuccessful attempts (3 errors) - when the scenario is set to run
as scheduled.

If your scenario contains a Webhook response module, the error is sent to the Webhook
response. The webhook response module is always executed last, unless you enable auto
commit in scenario settings.

Supported incoming data formats


Make supports the following formats of incoming data:

Query string
Form data
JSON

If a webhook receives data in both the query string and either form data or JSON data at the
same time, the system combines the data into a single bundle. If the request contains duplicate
data in different formats, the query string takes precedence and overwrites the data that was
received in the other formats. We recommend you do not duplicate data in query strings, form
data, and JSON.

Query String
GET 
https://hook.make.com/yourunique32characterslongstring?name=Make&amp;job=automate

https://www.make.com/en/help/tools/webhooks 12/24
20/11/2024, 08:29 Webhooks

Form Data
POST 
https://hook.make.com/yourunique32characterslongstring
Content-Type: application/x-www-form-urlencoded

name=Integrobot&job=automate

Multipart
POST 
https://hook.make.com/yourunique32characterslongstring
Content-Type: multipart/form-data; boundary=---generatedboundary

---generatedboundary
Content-Disposition: form-data; name="file"; filename="file.txt"
Content-Type: text/plain

Content of file.txt
---generatedboundary
Content-Disposition: form-data; name="name"
Make
---generatedboundary

In order to receive files encoded with multipart/form-data , it is necessary to configure a data


structure with a collection type field that contains the nested fields name , mime and data . The
field name is a text type and contains the name of the uploaded file. The mime is a text type and
contains a file in the [MIME] format[https://en.wikipedia.org/wiki/MIME]. The field data is
a buffer type and contains binary data for the file being transferred.

JSON
POST 
https://hook.make.com/yourunique32characterslongstring
Content-Type: application/json

{"name": "Integrobot", "job": "automate"}

To access the original JSON, open the webhook's settings and enable the JSON pass-
through option:

https://www.make.com/en/help/tools/webhooks 13/24
20/11/2024, 08:29 Webhooks

The maximum allowed webhook's payload size ( Content-Length ) is 5 MB (5.242.880 bytes)


regardless of the subscription tier.

Webhook headers
To access the webhook's headers, enable the Get request headers option in the webhook's
setup:

https://www.make.com/en/help/tools/webhooks 14/24
20/11/2024, 08:29 Webhooks

You can then extract a particular header value with the combination of map() & get() functions.
The example below shows a formula that extracts the value of the authorization header from the
Headers[] array. The formula is used in a filter that compares the extracted value with the given
text to pass only webhooks if there is a match.

Responding to webhooks
The default response to a webhook call contains just a simple text, "Accepted". The response is
returned to the webhook's caller right away during the execution of the Custom
Webhook module. You can easily test it like this:

1. Place the Custom Webhook module in your scenario.


2. Add a new webhook in the module's configuration.
3. Copy the webhook's URL to your clipboard.

https://www.make.com/en/help/tools/webhooks 15/24
20/11/2024, 08:29 Webhooks

4. Run the scenario - the Custom Webhook module should be waiting for the webhook call
(see on the right)
5. Open a new browser window, paste the copied URL in the address bar and press Enter.
6. The Custom Webhook module will be triggered and the browser will display the following
page:
These are default responses when the scenario does not contain the Webhook
Response module:

HTTP status code Body

Webhook accepted in the queue 200 Accepted

Webhook queue full 400 Queue is full.

If you wish to customize the webhook's response, employ the module Webhook Response. The
configuration of the module contains two fields: Status and Body. The Status field should
contain HTTP response status codes[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes] like
2xx for Success (e.g. 200 for OK), 3xx for Redirection (e.g. 307 for Temporary Redirect), 4xx for
Client errors (e.g. 400 for Bad Request), etc. The Body field should contain anything that will be
accepted by the webhook's call. It can be a simple text, HTML, XML, JSON, etc. It is advisable to
set the Content-Type header to the corresponding mime
type[https://en.wikipedia.org/wiki/Media_type]: text/plain for plain text, text/html for HTML,
application/json for JSON, application/xml for XML, etc.

These are additional default responses when the scenario does contain the Webhook
Response module:

HTTP status code Body

Scenario encounters an error 500 Scenario failed to complete.

The timeout for sending a response is 40 seconds. If the response is not available within that
period, Make returns a '200 Accepted' status.

HTML Response example


Configure the Webhook Response module as follows:

2xx success HTTP status code,


Status
[https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success] e.g. 200

https://www.make.com/en/help/tools/webhooks 16/24
20/11/2024, 08:29 Webhooks

HTML code, e.g.:

<!DOCTYPE html> 
<html lang="en">
<head>
Body <meta charset="UTF-8">
<title>Thank you!</title>
</head>
<body>Thank you, {{1.name}}, for your request!
</body>
</html>

Key Content-type
Custom
headers
Value text/html

It will produce an HTML response that will be displayed like this in a web browser:

https://www.make.com/en/help/tools/webhooks 17/24
20/11/2024, 08:29 Webhooks

Redirect example
Configure the Webhook Response module as follows:

3xx redirection HTTP status


Status
code[https://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx], e.g. 303

Key Location
Custom
headers
Value The URL you would like to redirect to.

Custom mailhook
Mailhook is an instant trigger module that can be triggered by sending an email to the email
address generated by this module.

https://www.make.com/en/help/tools/webhooks 18/24
20/11/2024, 08:29 Webhooks

 Mailhook attachment size limit

The maximum size of an email, including its attachments, that you send to
a mailhook is 25 MB.

Example Of Use
Mailhook will monitor your incoming emails without the need to have a scheduled run of the
scenario.

1. Add the Custom mailhook to your scenario (Webhooks > Custom mailhook).

2. Generate a mailhook email address, and copy the address to the clipboard.

https://www.make.com/en/help/tools/webhooks 19/24
20/11/2024, 08:29 Webhooks

3. Save and run the scenario.


4. Open your email account settings, and configure forwarding. Use the email address
generated by the Custom mailhook module in step 2 (above) as the forwarding address.
For Gmail:

1. Click the cogwheel ( ) in the top-right corner, and then click See all settings.

2. Open the Forwarding and POP/IMAP tab.

3. Click the Add a forwarding address button.


4. Enter the email address you have generated and copied in step 2 above, and click Next.

5. After that, a popup window will appear. Click Proceed.


6. A confirmation link has been sent to your mailhook. Run the custom mailhook module to
see this code in the output under Bundle > Text.

https://www.make.com/en/help/tools/webhooks 20/24
20/11/2024, 08:29 Webhooks

 Note

If you use Gmail for work or school, you don't need to verify the
forwarding address.

7. Enable the forwarding, and save changes.

https://www.make.com/en/help/tools/webhooks 21/24
20/11/2024, 08:29 Webhooks

Add other desired modules to the scenario. Then save and activate the scenario

Now, every time a new email is received in your email account, the Custom mailhook module in
your Make scenario is triggered and receives the email message data.

 Tip

The sender and various recipient addresses (To: CC: and BCC:) are
resolved in the data structure of the incoming mail. Reply-To: can be found
in the Header section.

Webhook rate limit


Make can process up to 30 incoming webhook requests per second.

If you send more than 30 requests per second, the system returns an error with status code 429.

Troubleshooting Webhooks

Missing items in the mapping panel


If some items are missing in the mapping panel in the setup of the modules following
the Webhooks > Custom Webhook module, click the Webhooks > Custom Webhook module
to open its setup and click Re-determine data structure:

https://www.make.com/en/help/tools/webhooks 22/24
20/11/2024, 08:29 Webhooks

Then follow the steps described in the section Determine the webhook's data
structure[webhooks.html#creating-custom-webhooks].

In this section
Creating app-specific webhooks[../tools/webhooks.html#creating-app-specific-webhooks]

Creating custom webhooks[../tools/webhooks.html#creating-custom-webhooks]

Scheduling webhooks processing[../tools/webhooks.html#scheduling-webhooks-processing]

How Make processes webhooks[../tools/webhooks.html#how-make-processes-webhooks]

Webhook settings[../tools/webhooks.html#webhook-settings]

Error Handling[../tools/webhooks.html#error-handling]

Supported incoming data formats[../tools/webhooks.html#supported-incoming-data-formats]

Webhook headers[../tools/webhooks.html#webhook-headers]

Responding to webhooks[../tools/webhooks.html#responding-to-webhooks]

HTML Response example[../tools/webhooks.html#html-response-example]

Redirect example[../tools/webhooks.html#redirect-example]

Custom mailhook[../tools/webhooks.html#custom-mailhook]

Webhook rate limit[../tools/webhooks.html#webhook-rate-limit]

Troubleshooting Webhooks[../tools/webhooks.html#troubleshooting-webhooks]

https://www.make.com/en/help/tools/webhooks 23/24
20/11/2024, 08:29 Webhooks

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/webhooks 24/24
20/11/2024, 07:55 Aggregator

Aggregator

An aggregator is a type of module[types-of-modules.html] designed to merge several bundles of


data into a single bundle.

When an aggregator is executed, it:

1. accumulates all the bundles it receives (during a single source module's operation)
2. outputs a single bundle with an array containing one item per each accumulated bundle.
The content of the array's items depends on particular aggregator module and its setup.

A typical example of an aggregator module is the Array aggregator[../tools/flow-control.html#array-


aggregator] module. Aggregators usually feature the following fields:

The module from which the bundle aggregation will start. The source
module is usually an iterator[../tools/flow-control.html#iterator-935250] or a
search[/document/preview/63282#UUID-74b701f5-7add-42c8-1401-
Source
b174cbe82f3f] module that outputs a series of bundles. Once you setup the
Module
aggregator's Source Module (and close the aggregator's setup), the route
between the source module and the aggregator will be wrapped in a grey
area to visualize the start and the end of the aggregation.

The aggregator's output can be split into several groups with the help of
the Group by field. The Group by field can contain a formula that is
evaluated for each aggregator's input bundle. The aggregator then
outputs one bundle per each distinct formula's value. Each bundle
contains two items:
Group by

Key contains the distinct value.


Arraycontains the aggregated data from the bundles for which the
formula evaluated to the Key value.

By default, the aggregator outputs the result of the aggregation even in


Stop
case no bundles reached the aggregator (e.g. because they have been all
processing
filtered out on their way). If the Stop processing after an empty
after an empty
aggregation option is enabled, the aggregator will not produce any output
aggregation
bundle in this case and the flow will stop.

https://www.make.com/en/help/modules/aggregator 1/4
20/11/2024, 07:55 Aggregator

 Note

Bundles outputted from the source module and any other modules
between the source module and the aggregator module are not
outputted by the aggregator and thus items in these bundles are not
accessible by the modules in the flow after the aggregator.

If you need to access items from bundles outputted from the source module and any other
modules between the source module and the aggregator module, make sure to include them in
the aggregator's setup, e.g. in the Aggregated fields field in the setup of the Array aggregator
module.

Example

Use case: Zipping all email attachments and uploading


the ZIP file to Dropbox
The scenario below shows how to:

1. Watch a mailbox for incoming emails: Email > Watch emails[../apps/built-in-


apps/email.html#watch-emails-2817822] trigger will output a bundle with item Attachments[]
, which is an array containing all the email's attachments.
2. Iterate the email's attachments: Email > Iterate attachments[../apps/built-in-
apps/email.html#iterate-attachments] iterator takes the items from the Attachments[] array
one by one and sends them further as separate bundles.
3. Aggregate the bundles outputted by the Email > Iterate attachments[../apps/built-in-
apps/email.html#iterate-attachments] module: Archive > Create an archive[../apps/built-
in-apps/archive.html#create-an-archive-973677] aggregator accumulates all the bundles it
receives and outputs a single bundle containing the ZIP file
4. Upload the resulting ZIP file to Dropbox: Dropbox > Upload a
file[/document/preview/623387#UUID-1acecaaa-7898-03db-448c-25568a5752b8] obtains the
ZIP file from the Archive > Create an archive[../apps/built-in-apps/archive.html#create-
an-archive-973677] module and uploads it to Dropbox.

https://www.make.com/en/help/modules/aggregator 2/4
20/11/2024, 07:55 Aggregator

Below is a sample setup of the Archive > Create an archive aggregator:

In this section
Example[../modules/aggregator.html#example-935213]

https://www.make.com/en/help/modules/aggregator 3/4
20/11/2024, 07:55 Aggregator

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/aggregator 4/4
20/11/2024, 07:22 App lifecycle

App lifecycle 

Most Make apps rely on 3rd party services, particularly on their APIs (Application Programming
Interfaces). As the services evolve, so do their APIs. New API versions are being released
regularly, and old versions are being deprecated and eventually shut down. We closely follow
releases of new API versions and implement new apps based on the latest APIs. During their
lifecycle, apps can go through up to four phases:

1. Beta
Apps in the Beta phase are labeled with the tag in the list of apps in the Scenario
editor:

The tag denote that the API the app is based on is marked by the 3rd party
service as beta. Please refer to the app's documentation for further details on this
matter.
Even though our QA team had thoroughly tested each app before it was released, some
minor issues can still slip through. Please, do not hesitate to report these issues.
2. Stable
Once the frequency of reported issues drops, the app proceeds to the Stable phase.
Apps in the Stable phase are not labeled with any special tag:

https://www.make.com/en/help/modules/app-lifecycle 1/3
20/11/2024, 07:22 App lifecycle

3. Deprecated
Once a new app version (or an alternative app) is available, the old app proceeds to the
Deprecated phase. The Deprecated phase is indicated by the green icon with white
arrows on the app's modules in Scenario editor.

In the list of apps in the Scenario editor the Deprecated apps are suffixed with (legacy):

Deprecated apps:
no longer receive support

https://www.make.com/en/help/modules/app-lifecycle 2/3
20/11/2024, 07:22 App lifecycle

often are no longer shown in the list of apps in the Scenario editor
will stop operating after a prior notice
4. Shutdown
Apps in the Shutdown phase no longer operate according to their specification.
Before the Shutdown phase of an app starts, we always send an email to all customers
that have the Deprecated app in their scenarios and ask them to replace the
Deprecated app with an alternative (usually a new version of the app). However, we
highly recommend not to wait for the notification about the app shutdown and start
upgrading your scenarios as soon as you spot the green icon with white arrows
(indicating the app's Deprecation phase) to avoid last moment surprises.

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/app-lifecycle 3/3
18/11/2024, 02:43 Configurando meu primeiro cenário - Make Academy

Introdução ao curso 1

Bem-vindo ao primeiro curso do Make Foundation.

Este conteúdo de aprendizagem foi criado para novos usuários.

Este curso explorará os seguintes tópicos:

Cenário UI
Renomeando / Salvando cenários
O que é um aplicativo/módulo?
Configurando um módulo
Módulos de conexão
Introdução ao mapeamento

Ele apresentará os conceitos básicos para começar a usar o Make.

Ao longo deste curso, você criará uma automação no Make.

Este é o seu caminho de aprendizagem para a Make Foundation:

Cada parte do conteúdo de aprendizagem é projetada para ser o mais sucinto possível, o
que significa que o tempo estimado de aprendizagem para cada unidade deve ser entre 5
e 10 minutos, dependendo da sua velocidade de leitura. Isso significa que você pode
parar/começar a aprender no seu próprio ritmo com pontos de verificação lógicos entre
eles.

Quando estiver pronto, selecione Marcar esta tarefa como concluída abaixo para
começar.

MARQUE ESTA TAREFA COMO CONCLUÍDA 

https://academy.make.com/courses/take/FoundationC01/texts/39529532-course-1-introduction 1/1
18/11/2024, 02:45 Configurando meu primeiro cenário - Make Academy

Introdução ao curso 1

Unit introduction

Welcome to the Make Academy!


We are happy to see you here, ready to start your automation journey and further your skill
set with Make.
This content will help you explore the basics of Make at an easy pace.
Each piece of content should take you between 510 minutes to complete.
In this introductory unit, we'll examine the user interface in Make for building a scenario,
and start to build our own automation.
Click Next to get started!

MFC01U0101 < Previous Next -

MARQUE ESTA TAREFA COMO CONCLUÍDA 

https://academy.make.com/courses/take/FoundationC01/multimedia/39458478-unit-1-scenario-ui 1/1
20/11/2024, 08:12 Converger

Converger

 Note

This article describes alternatives and workarounds to the Converger


module, often requested by our customers.

Please note that there is no Converger module available in Make. At the moment, it is just a
concept that provides a counterpart to the Router module, allowing you to reduce duplication of
modules in different routes.

Solution
To implement the Converger concept, use one of the following workarounds to avoid the
duplication of the common sequence.

Data store
1. Add an extra filter-free route to the Router to connect the common sequence (the one
you would put after a Converger module).
2. Add Data store[../tools/data-store.html] > Add/replace a record modules at the end of
each Router's route (except the new extra route) to store the data outputted by the
modules on the route that should be passed to the common sequence. The Data store
would contain just one record, the record's key can be e.g. "MyKey".
3. Add Data store > Get a record module at the beginning of the common sequence to
obtain the previously stored data.

https://www.make.com/en/help/modules/converger 1/3
20/11/2024, 08:12 Converger

JSON
If you wish to avoid the use of the Data store you can:

1. Instead of the Data store[../tools/data-store.html] > Get a record module use


JSON[../apps/built-in-apps/json.html] > Create JSON module followed by
Tools[../tools/tools.html] > Set variable to store the resulting JSON in a variable (e.g.
"MyBundle").
2. Instead of the Data store > Get a record module use Tools > Get variable to obtain
the previously stored variable followed by JSON > Parse JSON.

Please note that if no route is executed, the JSON > Parse JSON will throw the following error:

To avoid this, you may employ the ifemtpy() function as show below:

https://www.make.com/en/help/modules/converger 2/3
20/11/2024, 08:12 Converger

Set a variable
If it is just a single value that you need to pass to the common sequence (e.g. ID), you can
employ only the Tools > Set variable and Get variable modules.

Make also allows you to use the Set multiple variables module.

A separate new scenario


You may also place the common sequence to a separate new scenario and then:

1. Employ HTTP[../apps/built-in-apps/http.html] > Make a request module at the end of


each route to pass the data to the new scenario.
2. Employ Webhooks[../tools/webhooks.html] > Custom webhook module at the
beginning of the new scenario to receive the data.

In this section
Solution[../modules/converger.html#solution]

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/converger 3/3
18/11/2024, 14:18 Flow control

Flow control

Repeater 
Repeater is used in cases where you wish to repeat a task a given number of times. Let us
assume you would like to send five emails with subjects "Hello 1", "Hello 2", ... "Hello 5". This
could be accomplished with connecting Email > Send me an email module after the Repeater
module:

With modules configured as follows:

https://www.make.com/en/help/tools/flow-control 1/17
18/11/2024, 14:18 Flow control

https://www.make.com/en/help/tools/flow-control 2/17
18/11/2024, 14:18 Flow control

You can imagine the Repeater module as a generator of bundles outputting one bundle after
another. Each bundle contains one item named i of type Number. The initial value of the i
item is specified in the Initial value field. The number of repetitions (= number of outputted

https://www.make.com/en/help/tools/flow-control 3/17
18/11/2024, 14:18 Flow control

bundles) is specified in the Repeats field. The value of the i item is increased in each
repetition by the value specified in the Step field, which is 1 by default (tick the Show advanced
settings checkbox to reveal it).

Iterator
Iterator is a special type of module that converts an array into a series of bundles. Each array
item will output as a separate bundle.

Setting up an iterator

Setting up an iterator is done in the same way as setting any other module[../modules/module-
settings.html]. The Array field contains the array to be converted/split into separate bundles.

Examples:
SAVE EMAIL ATTACHMENTS TO GOOGLE DRIVE

The scenario below shows how to retrieve emails with attachments and save the attachments
as single files in a selected Google Drive[../apps/file-and-document-management/google-drive.html]
folder.

Emails can contain an array of attachments. The Iterator module inserted after the first module
enables you to handle each attachment separately. The Iterator splits the array of attachments
into single bundles, each bundle with one attachment will then save one at a time in a selected
Google Drive folder. The Iterator module set up is shown above - the Array field should
contain the Attachments[] array.

https://www.make.com/en/help/tools/flow-control 4/17
18/11/2024, 14:18 Flow control

SPECIALIZED ITERATORS

For your convenience, many Make apps offer specialized iterator modules with a simplified
setup. For example, the Email[../apps/communication/email--legacy-.html] app contains the
special iterator Email > Iterate attachments that will produce the same results as the general
Iterator without having to specify the array, just the source module.

Learn when to use an Iterator in your scenarios


The video below is module 1 of the 3 part lesson titled Iterator and Array Aggregator. It
explains the purpose of the Iterator and the Array Aggregator and with the help of a sample
scenario, explains when to use an Iterator and what to do with the output.

https://www.make.com/en/help/tools/flow-control 5/17
18/11/2024, 14:18 Flow control

Iterator & Array Aggregator | Part 1: Introduction and Iterator D…


D…

Troubleshooting: Mapping panel does not display mappable items


under the Iterator module
When an Iterator does not have information about the structure of the array's items, the
mapping panel in the modules following the Iterator will display only two items under the
Iterator: Total number of bundles and Bundle order position :

The reason for this is that in Make each module is responsible for providing information about
items it outputs so these items can be properly displayed in the mapping panel in the following
modules. However, there are several modules that might be unable to provide this information
in some cases, e.g. JSON[../apps/built-in-apps/json.html] > Parse JSON or
Webhooks[webhooks.html] > Custom Webhook modules with missing data structure[data-
structures.html].

The solution is to manually execute the scenario to make the module learn about the items it
outputs so it can provide the information to the following modules.

https://www.make.com/en/help/tools/flow-control 6/17
18/11/2024, 14:18 Flow control

For example, if you have a JSON > Parse JSON module without a data structure as below:

And then if you connect an Iterator module to it, you will not be able to map the output of the
module to the Array field in the setup panel of the Iterator:

To resolve this, just manually start the scenario in the Scenario editor. You can un-link the
modules after the JSON > Parse JSON module to prevent the flow from proceeding further or
right-click the JSON > Parse JSON module and choose "Run this module only" from the
context menu to execute only the JSON > Parse JSON module.

https://www.make.com/en/help/tools/flow-control 7/17
18/11/2024, 14:18 Flow control

Once the JSON > Parse JSON has been executed, it learns about the items it outputs and
provides this information to all the following modules including the Iterator. The mapping panel
in the Iterator's setup will then display the items:

Moreover, the mapping panel in the modules connected after the Iterator will display the items
contained in the array's items:

In summary: if you cannot see some items in a module's mapping panel, simply run the
scenario once so all the modules can learn about the items they output and provide this
information to the following modules.

Array aggregator
Array aggregator is an aggregator module, which allows to merge several bundles into one
single bundle. The following image shows a typical setup of the Array aggregator module.

https://www.make.com/en/help/tools/flow-control 8/17
18/11/2024, 14:18 Flow control

The module from which the bundle aggregation will start. The source
module is usually an iterator[flow-control.html#iterator-935250] or a
search[/document/preview/63282#UUID-74b701f5-7add-42c8-1401-
Source
b174cbe82f3f] module that outputs a series of bundles. Once you setup the
Module
aggregator's Source Module (and close the aggregator's setup), the
route between the source module and the aggregator will be wrapped in a
grey area to visualize the start and the end of the aggregation.

https://www.make.com/en/help/tools/flow-control 9/17
18/11/2024, 14:18 Flow control

Target The target structure into which the data shall be aggregated. The default
structure type option is Custom that enables you to choose items that should be
aggregated into the Array aggregator's output bundle's Array item:

Once you connect more modules after the Array aggregator module and
get back to the module's setup, the Target structure type dropdown will
contain all the following modules and their fields that are of type Array of
Collections, like e.g. Attachments field of the Slack > Create a Message
module:

The video below explains how the modules connected after an Array
aggregator affects the content of Target structure type dropdown:

https://www.make.com/en/help/tools/flow-control 10/17
18/11/2024, 14:18 Flow control

Iterator & Array Aggregator | Part 3: Array Aggr…


Aggr…

The aggregator's output can be split into several groups with the help of
the Group by field. The Group by field can contain a formula that is
evaluated for each aggregator's input bundle. The aggregator then
outputs one bundle per each distinct formula's value. Each bundle
contains two items:
Group by

Key contains the distinct value.


Arraycontains the aggregated data from the bundles for which the
formula evaluated to the Key value.

By default, the aggregator outputs the result of the aggregation even in


Stop
case no bundles reached the aggregator (e.g. because they have been all
processing
filtered out on their way). If the Stop processing after an empty
after an empty
aggregation option is enabled, the aggregator will not produce any
aggregation
output bundle in this case and the flow will stop.

 Caution

Bundles outputted from the source module and any other modules
between the source module and the aggregator module are not
outputted by the aggregator and thus items in these bundles are not
accessible by the modules in the flow after the aggregator.

If you need to access items from bundles outputted from the source module and any other
modules between the source module and the aggregator module, make sure to include them in
the Aggregated fields field in the setup of the Array aggregator module.

https://www.make.com/en/help/tools/flow-control 11/17
18/11/2024, 14:18 Flow control

If items are nested (i.e. contained in a collection item) they currently cannot be easily selected
in the Array aggregator's Aggregated fields field. For example, if bundles contain collection
item User with two items Name and Email :

Then only the User collection item can be selected:

This setup will produce the following output:

https://www.make.com/en/help/tools/flow-control 12/17
18/11/2024, 14:18 Flow control

Customizing the output


If you wish to fully customize the Array aggregator's output structure, proceed as follows:

1. Insert the JSON > Create JSON module after the Array aggregator module:

2. Open the JSON > Create JSON module's setup.


3. Setup a Data structure for the items you want to be outputted from the Array
aggregator. The Data structure should be an array of collections and the collections
should contain the items you want to include in the output. Here is a sample Data
structure with two text items Name and Email :

https://www.make.com/en/help/tools/flow-control 13/17
18/11/2024, 14:18 Flow control

https://www.make.com/en/help/tools/flow-control 14/17
18/11/2024, 14:18 Flow control

4. Open the Array aggregator module's setup.


5. In the Target structure type field, choose the JSON > Create JSON module's array
field:

6. Fields corresponding to the Data structure created in step 3 will appear in the setup of
the Array aggregator module. Map any items into the fields as you see fit. You can now
easily map nested items using the mapping panel and even use formulas:

https://www.make.com/en/help/tools/flow-control 15/17
18/11/2024, 14:18 Flow control

7. The Array aggregator module's output will now look like this:

If you wish to save the operation performed by the dummy JSON > Create JSON module, just
put it on a disabled route after a Router:

If you wish to conditionally omit an item from the module's output, use a formula that evaluates
to ignore keyword:

https://www.make.com/en/help/tools/flow-control 16/17
18/11/2024, 14:18 Flow control

If the 4. User: Email is empty then the Email item will be completely omitted from the output:

Learn when to use an Array Aggregator in your


scenarios
The video below is module 2 of the 3 part lesson titled Iterator and Array Aggregator. It is a
continuation of module 1 (video link)[https://youtu.be/mWZBA2xSvB4] and using a sample
scenario, explains when to use an Array aggregator and what to do with the output.

Iterator & Array Aggregator | Part 1: Introduction and Iterator D…


D…

In this section
Repeater[../tools/flow-control.html#repeater]

Iterator[../tools/flow-control.html#iterator-935250]

Array aggregator[../tools/flow-control.html#array-aggregator]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/flow-control 17/17
20/11/2024, 08:13 How to get Text Parser to produce an output value

How to get Text Parser to


produce an output value

Case scenario example, you would like to parse the filetype of a file document "filename.docx"
and the extension of the filename always varies from docx to pdf to CSV.

The expression that you may choose to use in this case is \..+

If you were to use this on regex expression on regex101.com you will rightly find that you will
get a match a full match.

As you will notice on the image above that the file extension was correctly matched as shown
in the image above and if you take and try to implement this in your text parser:

https://www.make.com/en/help/modules/how-to-get-text-parser-to-produce-an-output-value- 1/5
20/11/2024, 08:13 How to get Text Parser to produce an output value

You will find that you will not get a match as shown in the image below.

https://www.make.com/en/help/modules/how-to-get-text-parser-to-produce-an-output-value- 2/5
20/11/2024, 08:13 How to get Text Parser to produce an output value

The reason for this is that the i shows only the number of matches per match so in this case,
we have 2 matches henceforth after the i there is a numerical value 1 and 2. The use case for
this is that should you ever need to match or pass data through a filter only the second
matched value you can specify which value that is represented by the numerical value.

To be able to get the match values that you require to add brackets to the part that you wish to
parse for example if one wishes to extract from "filename.docx" - "docx" only then according to
the regex expression we are using for this case scenario the brackets should be applied on \.
(.+) this will capture the docx place it in a group and leave the "." out of it.

https://www.make.com/en/help/modules/how-to-get-text-parser-to-produce-an-output-value- 3/5
20/11/2024, 08:13 How to get Text Parser to produce an output value

The output shown in the picture below, you will notice that the capturing group will match any
character (except for line terminators).

https://www.make.com/en/help/modules/how-to-get-text-parser-to-produce-an-output-value- 4/5
20/11/2024, 08:13 How to get Text Parser to produce an output value

Another workaround thats also incorporates regex is using the replace function:

{{replace("abcdefghijklmno pqr stuvw xyz.docx"; "/.*\./"; ".")}} 

Then replace abcdefghijklmno pqr stuvw xyz.docx with your actual filename variable.

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/how-to-get-text-parser-to-produce-an-output-value- 5/5
20/11/2024, 08:20 Item data types

Item data types 

Every bundle contains several items. The type of item may differ. Make describes the different
types of items below.

 Tip

Detailed information on which types of items Make allows for conversion


between one other can be found in the Type coercion[type-coercion.html]
article.

Text
Also called string[https://en.wikipedia.org/wiki/String_(computer_science)], text data contains
characters such as letters, numbers, and special characters. Make validates text to make it
meets any length requirements.

Number
For some numerical items, Make may validate the input for a specified range (the minimum or
maximum allowed value).

Boolean (Yes/No)
This type is used for items with only two possible values: true or false. An example is the
Watch also subfolders option shown in the Dropbox > Watch files module.

https://www.make.com/en/help/mapping/item-data-types 1/6
20/11/2024, 08:20 Item data types

Date

The date is entered in the ISO 8601[https://en.wikipedia.org/wiki/ISO_8601] date format, e.g. 2015-
09-18T11:58Z

https://www.make.com/en/help/mapping/item-data-types 2/6
20/11/2024, 08:20 Item data types

The time zone can be adjusted in the profile settings. If you fill in a field that requires entering a
date, the pop-up calendar will be displayed in the module settings. The time is not required for
some items.

How Make displays date values


Values of Date items in bundle inspector are formatted using the locale and Web's timezone
specified in your Profile in the Web section of the Time zone options tab.

It is possible to display a date item's value expressed according to ISO 8601 by hovering
mouse cursor over the item.

 Note

If the ISO value does not show up, the item is not a date but probably
text.

https://www.make.com/en/help/mapping/item-data-types 3/6
20/11/2024, 08:20 Item data types

Time
The time is entered in the hours:minutes:seconds format, e.g. 14:03:52

Buffer (binary data)


File content is usually sent as Buffer type (image content, video file and others). In some
cases, there is text data included in this type (e.g. text file). Make is able to automatically
convert text data in binary code to text (and vice versa). For more information on working with
files see the Working with files[working-with-files.html] article.

https://www.make.com/en/help/mapping/item-data-types 4/6
20/11/2024, 08:20 Item data types

Collection
A collection is an item consisting of several subitems. An example of a collection is the Sender
item in an email message. It contains the sender name (text type) and the sender email
address (text type).

Array
The array type is used for working with several values of the same type, including collections.
An example is the Email modules return an array of attachments and each attachment
contains name, content, size, etc.

For more information about arrays please see the Working with arrays[../functions/array-
functions.html] section.

Validation
Make may perform validation on each type of item. If an item does not pass the validation, the
processing of the module will terminate because of the
DataError[/document/preview/61856#UUID-33cbd948-e97a-1aff-00c6-2012e737b652]. The Twitter
modules, for example, do not allow a tweet (text type) that exceeds the maximum of 280
characters to be sent. If you try to send a tweet with more than 280 characters, your scenario
will encounter this error and end.

In this section
Text[../mapping/item-data-types.html#text]

Number[../mapping/item-data-types.html#number]

Boolean (Yes/No)[../mapping/item-data-types.html#boolean--yes-no-]

Date[../mapping/item-data-types.html#date]

Time[../mapping/item-data-types.html#time]

Buffer (binary data)[../mapping/item-data-types.html#buffer--binary-data-]

Collection[../mapping/item-data-types.html#collection-935204]

Array[../mapping/item-data-types.html#array]

Validation[../mapping/item-data-types.html#validation]

https://www.make.com/en/help/mapping/item-data-types 5/6
20/11/2024, 08:20 Item data types

© 2024 Celonis Inc.

https://www.make.com/en/help/mapping/item-data-types 6/6
20/11/2024, 07:57 Iterator

Iterator 
Click to copy link
Iterator is a special type of module that converts an array into a series of bundles. Each array
item will output as a separate bundle.

Setting up an iterator

Setting up an iterator is done in the same way as setting any other module[module-settings.html].
The Array field contains the array to be converted/split into separate bundles.

Examples:

Save email attachments to Google Drive


The scenario below shows how to retrieve emails with attachments and save the attachments
as single files in a selected Google Drive[../apps/file-and-document-management/google-drive.html]
folder.

https://www.make.com/en/help/modules/iterator 1/6
20/11/2024, 07:57 Iterator

Emails can contain an array of attachments. The Iterator module inserted after the first module
enables you to handle each attachment separately. The Iterator splits the array of attachments
into single bundles, each bundle with one attachment will then save one at a time in a selected
Google Drive folder. The Iterator module set up is shown above - the Array field should
contain the Attachments[] array.

Specialized iterators
For your convenience, many Make apps offer specialized iterator modules with a simplified
setup. For example, the Email[../apps/communication/email--legacy-.html] app contains the
special iterator Email > Iterate attachments that will produce the same results as the general
Iterator without having to specify the array, just the source module.

Learn when to use an Iterator in


your scenarios
The video below is module 1 of the 3 part lesson titled Iterator and Array Aggregator. It
explains the purpose of the Iterator and the Array Aggregator and with the help of a sample
scenario, explains when to use an Iterator and what to do with the output.

https://www.make.com/en/help/modules/iterator 2/6
20/11/2024, 07:57 Iterator

Iterator & Array Aggregator | Part 1: Introduction and Iterator D…


D…

Troubleshooting: Mapping panel does not display


mappable items under the Iterator module
When an Iterator does not have information about the structure of the array's items, the
mapping panel in the modules following the Iterator will display only two items under the
Iterator: Total number of bundles and Bundle order position :

The reason for this is that in Make each module is responsible for providing information about
items it outputs so these items can be properly displayed in the mapping panel in the following
modules. However, there are several modules that might be unable to provide this information
in some cases, e.g. JSON[../apps/built-in-apps/json.html] > Parse JSON or
Webhooks[../tools/webhooks.html] > Custom Webhook modules with missing data
structure[../tools/data-structures.html].

https://www.make.com/en/help/modules/iterator 3/6
20/11/2024, 07:57 Iterator

The solution is to manually execute the scenario to make the module learn about the items it
outputs so it can provide the information to the following modules.

For example, if you have a JSON > Parse JSON module without a data structure as below:

And then if you connect an Iterator module to it, you will not be able to map the output of the
module to the Array field in the setup panel of the Iterator:

To resolve this, just manually start the scenario in the Scenario editor. You can un-link the
modules after the JSON > Parse JSON module to prevent the flow from proceeding further or
right-click the JSON > Parse JSON module and choose "Run this module only" from the

https://www.make.com/en/help/modules/iterator 4/6
20/11/2024, 07:57 Iterator

context menu to execute only the JSON > Parse JSON module.

Once the JSON > Parse JSON has been executed, it learns about the items it outputs and
provides this information to all the following modules including the Iterator. The mapping panel
in the Iterator's setup will then display the items:

Moreover, the mapping panel in the modules connected after the Iterator will display the items
contained in the array's items:

In summary: if you cannot see some items in a module's mapping panel, simply run the
scenario once so all the modules can learn about the items they output and provide this
information to the following modules.

In this section
Setting up an iterator[../modules/iterator.html#setting-up-an-iterator-935214]

Learn when to use an Iterator in your scenarios[../modules/iterator.html#learn-when-to-use-an-iterator-in-


your-scenarios-935214]

https://www.make.com/en/help/modules/iterator 5/6
20/11/2024, 07:57 Iterator

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/iterator 6/6
20/11/2024, 08:19 Mapping arrays

Mapping arrays

An array is a special type of item. A simple array contains one or more text values. A complex
array contains one or more collections of the same type. An example of a complex array is the
email attachment. The Watch emails module returns an array of attachments for every email.
Every attachment represents a collection that may contain a name, content, size, etc.

Mapping an array's first element


If you map the array's Recipient name item, it will appear in the field like this:

The number between the square brackets is an index that determines which element of the
array will be used. Leaving it empty defaults to the first element.

Mapping an array's nth element


If you wish to access another element, enter or map a value between the square brackets. In
the below example, enter 2 to select the second element.

Mapping an array's element with a


given key
Some arrays contain several collections with key and value items. These are typically various
metadata, attributes, etc.

https://www.make.com/en/help/mapping/mapping-arrays 1/4
20/11/2024, 08:19 Mapping arrays

The following example shows the output of the WooCommerce > Get a product module that
contains the item Meta data , which is an array of collections. Each collection contains the key
item Meta Data ID and the value item Value :

The typical requirement is to lookup an element by its given key value and to obtain the
corresponding value from the value item. This can be achieved with a formula[../functions/using-
functions.html] employing a combination of the map () [../functions/array-functions.html#map-complex-
array--key--key-for-filtering---possible-values-for-filtering-separated-by-a-comma--]and get ()
[../functions/general-functions.html#get--object-or-array--path-]functions.

The following example shows how to obtain the value of the Value item of the element with key
Meta data ID item value equal to 20642

The result of the formula will be "no".

The detailed breakdown of the formula follows:

1. The 1st parameter of the map() function is the whole array item.
2. The 2nd parameter is the raw name of the value item. To obtain the raw name, hover
the mouse cursor over the item in the mapping panel:

https://www.make.com/en/help/mapping/mapping-arrays 2/4
20/11/2024, 08:19 Mapping arrays

 Important

All parameters are case sensitive. Even though in this particular


example the item's label differs from its raw name only in
capitalization, it is necessary to use the raw name, which is all
lowercase value in contrast to the label Value

3. The 3rd parameter is the raw name of the key item:

4. The 4th parameter is the given key value.


Because the map() function returns an array (as there could be more elements with the given
key value), it is necessary to apply the get() function to get its first element:

1. The 1st parameter of the get() function is the result of the map() function.
2. The 2nd parameter is the element's index - one.

See also our Extract an item and/or its value from an array of
collections[https://www.youtube.com/watch?v=W9CgDTeppmE] video tutorial.

Converting elements to a series of


bundles
Arrays can be converted to a series of bundles using the Iterator[../tools/flow-control.html#iterator-
935250] module:

https://www.make.com/en/help/mapping/mapping-arrays 3/4
20/11/2024, 08:19 Mapping arrays

 Important

The outputs from modules wrapped between an Iterator and Aggregator


are not accessible beyond the Aggregator module.

In this section
Mapping an array's first element[../mapping/mapping-arrays.html#mapping-an-array-s-first-element]

Mapping an array's nth element[../mapping/mapping-arrays.html#mapping-an-array-s-nth-element]

Mapping an array's element with a given key[../mapping/mapping-arrays.html#mapping-an-array-s-


element-with-a-given-key]

Converting elements to a series of bundles[../mapping/mapping-arrays.html#converting-elements-to-a-


series-of-bundles]

© 2024 Celonis Inc.

https://www.make.com/en/help/mapping/mapping-arrays 4/4
20/11/2024, 08:17 Mapping

Mapping

What is mapping?
Mapping is how Make knows what information to get from one app and which app to send it to.
You can use mapping to tell Make how to transform data in your scenario. For example:

You want to automatically send information from emails to a colleague in a Slack


message. In this case, map the subject or body of email messages to Slack.
When a customer submits a form to request support, you want a Jira issue created
automatically. Here, you can map the information from the form into Jira.
Your business gets valuable leads from Facebook, so you want a database of this
information and the same information entered into Pipedrive. Just map the data from
Facebook leads to Airtable and Pipedrive.

In the same way that a map leads you from your starting point to your destination, mapping in
Make tells your data where to go in your scenario.

What can I map?


You can map any information that a module gets in a bundle. A bundle is like a box of
information. Some boxes are large; some are small; some have just one thing inside them;
some might have smaller boxes in them. Bundles are similar. Sometimes a bundle is just one
piece of information, for example, a number or email address. Other times a bundle contains a
variety of information.

When bundles have a lot of information, you might see the data organized into an array or
collection. An array is like a menu organized into different sections like soups, starters,
desserts, and so on. There's a lot of information but it's the same kind of information: food. An
array has information of only one kind. For example, it might have multiple dates or names but
not both. Collections can have different kinds of information and are like a moving box. When
you move, you might put various things into one box: books, small gadgets, a box of letters.
Collections contain a similar variety of information, for example, dates, numbers, and text
descriptions.

https://www.make.com/en/help/mapping/mapping 1/7
20/11/2024, 08:17 Mapping

Getting a bundle
To know what you can map from a module, you run only that module and look at its bundles.
Once you know what you can map, you can start mapping. Let's use the first example above to
explore how this works. We want to take information from emails and send them to a
colleague. Before we do any mapping, we begin by finding what information we can get from
the email module. Because the email module provides the information we want, we call it the
source module.

1. Go to the Scenario editor and add the module Email > Watch emails.
2. Create a connection[/document/preview/2268259#UUID-a868116f-4725-be96-d97e-
965fe270f3f9].

3. Select a folder and criteria.


4. Click OK.

https://www.make.com/en/help/mapping/mapping 2/7
20/11/2024, 08:17 Mapping

5. Choose where you want Make to start getting your emails and click OK.
6. Right-click the module.
7. Select Run this module only.
8. A small circle with 1 inside appears beside your module. Click inside the small circle.

A window opens and shows you all of the information that your email module got. You can map
anything that appears. Click + to expand items.

What's in a bundle?
Let's take a closer look at the information in the bundle window. In this example, we see the
bundles from the Slack > Create a message module.

https://www.make.com/en/help/mapping/mapping 3/7
20/11/2024, 08:17 Mapping

1. Input - the information Make sends to the third-party app.


In this example, you can see:
Text - the content of the message sent. Click + to expand for further details.
User - the user ID of the person receiving your Slack message.

2. Output - the information Make gets back from the third-party app.
In this example, you can see:
Message - the text content of the sent message, similar to Text in the Input. Click
+ to expand for further details.
Channel - the ID of the channel where the message was sent. In this case, it's the
same as User from the input. That's because we sent a direct message to a
specific user.

Mapping to the target


Now we know what information we can send to other modules. Next, we map that information.
To do that, we first add the module we want to receive the information. In our example, that's
Slack > Create a message. If you're still in the Scenario editor, continue with these steps:

1. Add the module Slack > Create a message.


2. Create a connection.
3. Under Enter a channel ID or name, select Choose from a list.
4. Under Channel type, select IM channel.

https://www.make.com/en/help/mapping/mapping 4/7
20/11/2024, 08:17 Mapping

5. Under User search or scroll to find your intended recipient.


6. Under Text, click inside the empty field. A new window appears.
7. In the new window, click Text content. A red box labeled Text content appears in the
Text field.
8. Click OK.

Your data is now mapped so that Slack automatically receives email content and sends it in a
message.

https://www.make.com/en/help/mapping/mapping 5/7
20/11/2024, 08:17 Mapping

Tips and solutions

Find the source module


While mapping a scenario, you can find the source module by hovering over the mapped data.
As you keep your mouse on a mapped item, the source module pulses.

When there's no info for an instant trigger


When you click Run once or Run this module only, an instant trigger waits to receive
information. The instant trigger needs incoming info to run. So the trigger waits until it receives
incoming data. To run the module, you need to provide incoming information. Let's explore with
an example: Airtable > Watch responses.

1. Right-click on Airtable > Watch responses and select Run this module only. The
module waits for new responses.

2. Go to your Airtable form and submit a response.

The information submitted goes to your Airtable > Watch responses module. You can inspect
the bundle to check that your configuration is working.

https://www.make.com/en/help/mapping/mapping 6/7
20/11/2024, 08:17 Mapping

When there's no info for a polling trigger


You can use the above procedure[mapping.html#getting-a-bundle] to generate a bundle for most
modules, including polling triggers. For instant modules, see the solution for instant
triggers[mapping.html#when-there-s-no-info-for-an-instant-trigger]. The following are the general
steps to get a bundle.

1. Go to the Scenario editor and find the module you want to get a bundle for.
2. Right-click the module.
3. Select Choose where to start.
4. To get a bundle, select one of the following options and click OK.
a. From a specific date option: for example Emails from after a specific date.
Enter a date you know there is data for. Example: enter a date you know you
received emails.
b. Select the first option: when available, this option lets you choose from a list.

5. Right-click the module.


6. Select Run this module only.

A small circle with 1 inside appears beside your module. Click inside the small circle.

In this section
What is mapping?[../mapping/mapping.html#what-is-mapping-]

What can I map?[../mapping/mapping.html#what-can-i-map-]

Mapping to the target[../mapping/mapping.html#mapping-to-the-target]

Tips and solutions[../mapping/mapping.html#tips-and-solutions]

© 2024 Celonis Inc.

https://www.make.com/en/help/mapping/mapping 7/7
20/11/2024, 07:27 Module settings

Module settings

For each module in your scenario, you need to configure its settings - the fields you see when
you click on the module. These fields define the data you want to receive or send to an
application, the information you want to pass between modules, and specific details regarding
what actions each module should take.

For example, the Dropbox[../apps/file-and-document-management/dropbox.html] modules require


you to specify the target folder for uploading files. For the Email[../apps/built-in-apps/email.html]
modules, you need to enter the email address to which emails should be sent. Every setting is
unique for each module.

The module settings open automatically when you add a new module to your scenario. You
can also open or re-open the module settings in the Scenario editor[../scenarios/scenario-
editor.html] by clicking on the module.

Connection settings
In almost every app's module settings, you will find connection settings. This is where you
create a connection to your user account for the given app, and is the first step when adding a
new module to your scenario. Some fields you might see in the connection settings include

https://www.make.com/en/help/modules/module-settings#standard-fields 1/3
20/11/2024, 07:27 Module settings

Username, Password, API Key, or Client Credentials. For more information and instructions on
how to create a connection to any of your accounts see Connecting to
services[../connections/connecting-to-services.html].

Required and optional fields


Some fields in the module settings are required, while others are optional. You can identify
which fields are required by their name written in bold. If you try to save your module settings
without filling in a required field, you will receive an error.Your scenario cannot run unless all
required fields are filled in.

In each field, you can either type the appropriate text into the field or fill it in by mapping an
item[../mapping/mapping.html] from another module in your scenario.

 Tip

For some parameters (mostly arrays with several fields that Make
retrieves depending upon the selected connection) you can see a Map
toggle. Switching on the Map toggle brings up a text field where you can
map items[../mapping/mapping.html] from the preceding modules.

Standard fields
When you open the module settings, you will see all of the module's standard fields. These
include the most frequently used fields for the module, and are typically the default items you
see when going to the website of the service you are using. Standard fields can be both
optional and required.

Advanced fields 
Some modules also include advanced fields that can be found in the module's advanced
settings. These fields include more complex items that may require specific technical
knowledge to use. To open the advanced settings, switch on the Show advanced settings
toggle.

https://www.make.com/en/help/modules/module-settings#standard-fields 2/3
20/11/2024, 07:27 Module settings

Data types
Each field in the module settings accepts a specific data type, signifying what format of
information you can enter or map into the field. This can be text, date, number, etc. You can
identify a field's data type by hovering over the name of the field. For more information, see
Item data types[../mapping/item-data-types.html].

In this section
Connection settings[../modules/module-settings.html#connection-settings]

Required and optional fields[../modules/module-settings.html#required-and-optional-fields]

Standard fields[../modules/module-settings.html#standard-fields]

Advanced fields[../modules/module-settings.html#advanced-fields]

Data types[../modules/module-settings.html#data-types]

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/module-settings#standard-fields 3/3
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

Replacing Google Sheets


legacy Modules with New
Modules

 Important

This documentation is specific to the Google Sheets app. For universal


instructions for replacing legacy modules with new modules visit
Replacing Legacy Modules with New Modules[replacing-legacy-modules-
with-new-modules.html].

A majority of Make apps rely on external services, particularly on their APIs (Application
Programming Interfaces). As the services evolve, so do their APIs. New API versions are
being regularly released and legacy versions are getting deprecated and eventually shut
down.

We closely follow releases of new API versions and implement new app versions based on the
latest APIs.

To keep your scenarios running even after the shutdown of a legacy API, make sure to replace
all the legacy (old) modules with new modules.

Here is a step by step guide:

1. Choose one of your legacy scenarios that is using legacy modules, and clone it as a
new scenario.
1. Go to the Scenario diagram.
2. Open the Options drop-down menu in the top-right corner and select the Clone
option.

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 1/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

3. Change the name to distinguish between the legacy scenario and the new
scenario and click the Clone button.
4. The new scenario (still with the legacy modules) is created.
2. Have the legacy scenario and the new scenario open in two web browser
tabs/windows to easily switch between them.
This step will make your copy-paste job faster and easier.
1. Open Scenarios in a new browser tab.
2. Open your legacy scenario.

For Google Sheets: adding new Google Sheets modules to the scenario (Step 3, Step
4, Step 5) can be easily performed using Make DevTool.
3. In the new scenario, choose the legacy module and click on the "upgrade" arrows.

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 2/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

4. Choose the corresponding new module from the list of modules.


The new module is placed in the scenario (not connected).

For Google Sheets, check this table to find a new counterpart of your legacy module:

Legacy Module New Module

Add a Row Add a Row

Update a Row Update a Row

Delete a Row Delete a Row

Select Rows Search Rows

Update a Cell Update a Cell

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 3/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

Legacy Module New Module

Add a Worksheet Add a Sheet

Get a Cell Get a Cell

Watch a Worksheet Watch Rows

List Worksheets List Sheets

Delete a Worksheet Delete a Sheet

5. Drag and drop the new module and connect it after the legacy module.

For triggers:
1. Set the new module values in the same way as the legacy module values.
2. Replace the legacy module with the new module.

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 4/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

6. Copy and paste the module's values from the legacy module to the new one.
1. Open the configuration of the new module.
2. Switch to the tab with the legacy scenario and open the configuration of the
legacy module.
3. Copy and paste the content of each field from the legacy module to the new
module by switching between the legacy scenario and the new scenario. If any
items are missing in the mapping panel, please see
Mapping[../mapping/mapping.html].

Repeat for every legacy module in the new scenario.


7. Replace items that are mapped from the legacy module

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 5/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

1. In the new scenario, choose a module that uses the output from a legacy
module and open its configuration.
2. For the fields of the proceeding module, replace the legacy items outputted from
the legacy module with corresponding new items outputted from the
corresponding new module.

Repeat for every module that uses the output from the legacy module.
8. Replace items that are mapped from legacy modules in filters.
1. In the new scenario, choose a filter that uses the output from a legacy module
and open its configuration.
2. For the conditions of the proceeding filter, replace the legacy items outputted
from the legacy module with the corresponding new items outputted from the
corresponding new module.

Repeat for every filter that uses the output from a legacy module.
Remove all the legacy modules from your scenario.
Repeat for every scenario using legacy modules.
Adding New Google Sheets Modules to a Google Sheets Scenario with the Make DevTool

1. Add the Make DevTool extension to your Chrome browser.


2. Open your Google Sheets (legacy) scenario.
3. Press Control+Shift+I (Windows) or Command+Option+I (Mac) on your keyboard to
open Chrome Developer Tools.
4. Go to the Make tab.
5. Open Tools.
6. Click on the Migrate GS tile.
7. Click the Run button.

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 6/7
20/11/2024, 08:14 Replacing Google Sheets legacy Modules with New Modules

New Google Sheets modules are placed in your scenario. Proceed to enter the values from the
legacy modules to the new modules as described in steps above[replacing-google-sheets-legacy-
modules-with-new-modules.html#UUID-93d73896-2b73-7f6f-55d6-a27c7ad0d5ae_N1641222644758].

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/replacing-google-sheets-legacy-modules-with-new-modules 7/7
20/11/2024, 08:14 Replacing Legacy Modules with New Modules

Replacing Legacy Modules


with New Modules 

A majority of Make apps rely on external services, particularly on their APIs (Application
Programming Interfaces). As the services evolve, so do their APIs. New API versions are
being regularly released and legacy versions are getting deprecated and eventually shut
down.

We closely follow releases of new API versions and implement new app versions based on the
latest APIs.To keep scenarios running even after the shutdown of a legacy API, make sure to
replace all the legacy (old) modules with new modules. Here is a step by step guide:

1. Choose the Scenario that is using legacy modules, and clone it to make a copy - make
the new Scenario.
1. Navigate to the Scenario Diagram.
2. Open the Options drop-down menu in the top-right corner and select the Clone
option.

3. Change the name to distinguish between the legacy scenario and the new
scenario and click the Clone button.
4. The new scenario (still with the legacy modules) is created.

2. In the new scenario you have created using the Clone function, choose the legacy
module you want to upgrade to the new version, and click on the green upgrade arrows
( ).

https://www.make.com/en/help/modules/replacing-legacy-modules-with-new-modules 1/5
20/11/2024, 08:14 Replacing Legacy Modules with New Modules

3. Choose the corresponding new module from the list of modules. The new module is
placed in the scenario (not connected).

a. For Google Forms, check this table to find a new counterpart of your legacy
module:

Legacy Module New Module

Watch responses Watch Responses

Select responses Search Responses

Add a response Add a Response

Update a response Update a Response

Delete a response Delete a Response

Search Responses (Advanced)

https://www.make.com/en/help/modules/replacing-legacy-modules-with-new-modules 2/5
20/11/2024, 08:14 Replacing Legacy Modules with New Modules

4. Replace modules.
a. Triggers:
1. Set the same field values in the new module as field values in the legacy
module.
2. Move the clock icon from the legacy module to the new module.
3. Unlink the legacy module and link the new module to the desired module in
your scenario.

b. Other modules:
1. After adding the new module to the scenario (step 3 above), connect it after
the legacy module.

5. Set values in new modules.

 Note

We recommend opening the legacy scenario in a new browser tab


to switch between the module's configuration faster.

https://www.make.com/en/help/modules/replacing-legacy-modules-with-new-modules 3/5
20/11/2024, 08:14 Replacing Legacy Modules with New Modules

Open the configuration of the new module.


Switch to the tab with the legacy scenario and open the configuration of the
legacy module.
Copy and paste the content of each field from the legacy module to the new
module (by switching between the legacy scenario and the new scenario tabs).
Map needed values and select the options from drop-down menus.
Set mapping in filters.
If any items are missing in the mapping panel, please see
Mapping[../mapping/mapping.html].

Repeat this for every module.


6. Remove all the legacy modules from your new scenario and click Save.

https://www.make.com/en/help/modules/replacing-legacy-modules-with-new-modules 4/5
20/11/2024, 08:14 Replacing Legacy Modules with New Modules

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/replacing-legacy-modules-with-new-modules 5/5
20/11/2024, 08:10 Router

Router

A router allows you to branch the scenario flow into several chains of modules. Each route
processes the data differently according to the condition you set. Filters help you to determine
conditions via different operators such as less than , greater than , and so on.

Order routes in the sequence you want and set up a fallback route that will process data that
doesn't fit other routes.

 Tip

See our scenario template for the Controlled distribution of data


flow[https://www.make.com/en/templates/2952-controlled-distribution-of-data-
flow].

Adding a router to a scenario


You can add a router in two different ways:

Connect a router to a module:


1. Click Add another module.

2. In the search box, type Flow controls and click it.

https://www.make.com/en/help/modules/router 1/8
20/11/2024, 08:10 Router

3. Select Router.
Insert a router between two modules:
1. Right-click the bridge between two modules, and select Add a router.

Order routes
You can set the order of routes in which Make processes them in the scenario.

This example shows the router that determines which hint to send you on Slack according to
tomorrow's weather.

1. Click the router that contains the routes you want to order.
2. Right-click and select Order routes. A window appears.

https://www.make.com/en/help/modules/router 2/8
20/11/2024, 08:10 Router

3. Click arrows and move routes according to your needs.

 Note

The fallback route always runs last, no matter which position it


takes in the Order routes window.

4. Optional. Select Auto-align arranges with set order to visually arrange modules on the
scenario canvas according to the set order.
5. Click Apply.

 Note

Routes are processed sequentially, not in parallel. Make won't process


the second route unless it finishes processing the first one.

The fallback route


A fallback route processes data that doesn't fit the condition of all other routes. You can mark a
route as a fallback if you want it to be executed last.

 Note

You can set up a filter for a fallback route same as for other routes.

To set up a fallback route, follow the steps:

1. Click the route you want to mark as a fallback. A filter window appears.

https://www.make.com/en/help/modules/router 3/8
20/11/2024, 08:10 Router

2. Select Yes.
3. Click Save.
You can recognize the fallback route by the special arrow icon on the router module:

Select a whole branch


You can manage all modules in the branch at once.

Click the route menu, then click Select whole branch. It selects all the following modules.

https://www.make.com/en/help/modules/router 4/8
20/11/2024, 08:10 Router

You can copy or delete all selected modules at once.

Example 1. Example of a router with a fallback route


You need to receive a message on Slack depending on tomorrow's weather:

if the weather is hot, the message is wear shorts .


if the weather is cold, the message is wear a jacket .
if the weather is neither hot nor cold, the message is better stay at home .

The scenario looks like that:

The scenario flow is:

https://www.make.com/en/help/modules/router 5/8
20/11/2024, 08:10 Router

1. The Weather module gets data about tomorrow's weather.


2. Data goes to the router that processes routes in the determined order:

a. The Hot weather route sends the message to Slack, if data fits the filter
condition:

b. The Cold weather route sends the message to Slack, if data fist the filter
condition:

https://www.make.com/en/help/modules/router 6/8
20/11/2024, 08:10 Router

c. The Fallback route sends the message to Slack, if data doesn't fit previous
routes.

In this section

https://www.make.com/en/help/modules/router 7/8
20/11/2024, 08:10 Router

Adding a router to a scenario[../modules/router.html#adding-a-router-to-a-scenario]

Order routes[../modules/router.html#order-routes]

The fallback route[../modules/router.html#the-fallback-route]

Select a whole branch[../modules/router.html#select-a-whole-branch]

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/router 8/8
20/11/2024, 07:28 Selecting the first bundle

Selecting the first bundle

Some triggers[/document/preview/63289#UUID-01611b2b-c671-ac5f-f8d6-929e38492e5b] allow you


to select the first bundle where you want the retrieving of bundles to start from. You can also
set whether to retrieve all bundles or just the bundles from after a specific date.

Displaying the panel


The panel to select where the first bundle should be retrieved displays automatically after you
save a trigger or when you make a substantial change in the trigger settings[module-
settings.html].

You can also display the panel at any time by right-clicking on the trigger icon in the Scenario
editor[../scenarios/scenario-editor.html].

The options available in the panel differ trigger from trigger, depending on the the possibilities
of a given service. In fact, some triggers do not offer any options at all.

Setting options
The panel for selecting the first bundle may contain 1 to 5 options:

https://www.make.com/en/help/modules/selecting-the-first-bundle 1/2
20/11/2024, 07:28 Selecting the first bundle

From now on (default) - retrieves all bundles added or updated (depending on settings)
from now on.
From after a specific date - retrieves all bundles added or updated (depending on
settings) after a specified date/time.
With ID greater than or equal to a specific value - retrieves all bundles with an ID
greater than or equal to a specified ID.
All bundles - retrieves all available bundles.
Select the first bundle - allows you to select the first bundle from which the retrieval of
bundles is to start.

In this section
Displaying the panel[../modules/selecting-the-first-bundle.html#displaying-the-panel]

Setting options[../modules/selecting-the-first-bundle.html#setting-options]

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/selecting-the-first-bundle 2/2
18/11/2024, 14:16 Tools

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.

Create custom bundles by adding array items.


Bundle
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

 Note

See our scenario template for the Controlled distribution of data


flow[https://www.make.com/en/templates/2952-controlled-distribution-of-data-
flow].

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

https://www.make.com/en/help/tools/tools#triggers-970385 1/12
18/11/2024, 14:16 Tools

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.

Configure the module to never reset the value:

https://www.make.com/en/help/tools/tools#triggers-970385 2/12
18/11/2024, 14:16 Tools

There are two conditions used after the router module:

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

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

https://www.make.com/en/help/tools/tools#triggers-970385 3/12
18/11/2024, 14:16 Tools

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

https://www.make.com/en/help/tools/tools#triggers-970385 4/12
18/11/2024, 14:16 Tools

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.

https://www.make.com/en/help/tools/tools#triggers-970385 5/12
18/11/2024, 14:16 Tools

Set Variable
Creates a variable that can be mapped by other modules in the route or by the Get
Variable[tools.html#get-variable] module for every route in the scenario.

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

One cycle

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

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

Variable
Enter the value of the variable.
value

Set Multiple Variables


Creates multiple variables that can be mapped by other modules in the route or by the Get
Multiple Variables[tools.html#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[tools.html#set-variable] modules
one Set multiple variables module consumes just a single operation

Add multiple variables you want to set.

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

Variable
Enter the value of the variable.
value

https://www.make.com/en/help/tools/tools#triggers-970385 6/12
18/11/2024, 14:16 Tools

One cycle

The variable is valid only for one cycle. Useful when multiple webhooks in
one scenario run are received (more webhooks = more cycles).
Variable
lifetime
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[tools.html#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[../modules/router.html] module for
information about the order in which routes are processed.

https://www.make.com/en/help/tools/tools#triggers-970385 7/12
18/11/2024, 14:16 Tools

Get Multiple Variables


Retrieves values that were previously created by the Set Multiple Variables[tools.html#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[tools.html#get-variable] modules
one Get multiple variables module consumes just a single operation

Add multiple variables you want to get.

Variables
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

https://www.make.com/en/help/tools/tools#triggers-970385 8/12
18/11/2024, 14:16 Tools

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
Select the module you want to aggregate fields from.
module

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

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

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

Define an expression containing one or more mapped items. The


aggregated data will then be separated into Groups with the same
Group by 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.

https://www.make.com/en/help/tools/tools#triggers-970385 9/12
18/11/2024, 14:16 Tools

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.

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 Enter the input data encoding type. This is important for the binary
codepage form of data.

https://www.make.com/en/help/tools/tools#triggers-970385 10/12
18/11/2024, 14:16 Tools

Output data
Select the target encoding of your data.
codepage

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.

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
Cases OR the value from the Else field (below) is returned.

When using regex patterns, make sure to adhere to the ECMAScript flavor.

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[../apps/built-in-apps/http.html#make-a-request-2817825]
module in the main scenario to call the other scenario. Employ the Webhooks > Custom
webhook[webhooks.html#creating-custom-webhooks] module in the other scenario to receive the
call. Employ the Webhooks > Webhook response[webhooks.html] 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[../scenarios/execution,-cycles,-and-phases.html] or commit[../scenarios/execution,-cycles,-and-
phases.html] phase or to stop the processing of a route and optionally store it in the queue of
incomplete executions[../scenarios/incomplete-executions.html].

In this section
[../tools/tools.html#-970385]

https://www.make.com/en/help/tools/tools#triggers-970385 11/12
18/11/2024, 14:16 Tools

Triggers[../tools/tools.html#triggers-970385]

Increment function[../tools/tools.html#increment-function]

Sleep[../tools/tools.html#sleep]

Set Variable[../tools/tools.html#set-variable]

Set Multiple Variables[../tools/tools.html#set-multiple-variables]

Get Variable[../tools/tools.html#get-variable]

Get Multiple Variables[../tools/tools.html#get-multiple-variables]

Aggregators[../tools/tools.html#aggregators-970385]

Transformers[../tools/tools.html#transformers-970385]

© 2024 Celonis Inc.

https://www.make.com/en/help/tools/tools#triggers-970385 12/12
20/11/2024, 08:21 Type coercion

Type coercion

This document describes how Make behaves in situations when it receives values in expected
and unexpected data formats.

When array is expected:


Received Description

array The value is handed over unchanged.

If the received value is not of the array type, Make will create an array and the
other
first (and the only) element will be the received value.

When Boolean is expected:


Received Description

boolean The value is handed over unchanged.

number The value is converted to logical Yes , even if the value is 0

If the value is equal to false or the value is empty, it is converted to logical No .


text
If not, it is converted to logical Yes

The value is converted to logical Yes whenever the received value exists (is not
other
null ).

When Buffer is expected:


Received Description

The value is handed over unchanged only if the codepage is as expected. If the
buffer codepage differs, Make will try to convert the received value to the requested
codepage . If this conversion is not supported, Make will return a validation error.

https://www.make.com/en/help/mapping/type-coercion 1/4
20/11/2024, 08:21 Type coercion

Received Description

The value is converted to text ( true / false ) and then to binary data following the
boolean
steps mentioned above for converting to text.

The value is converted to ISO 8601 text and then to binary data following the
date
steps mentioned for converting to text.

The value is converted to text and then to binary data following the steps
number
mentioned above for converting to text.

The value is converted to binary data and encoded as expected. If the expected
text
encoding is not specified, utf8 encoding will be used.

other Make returns a validation error.

When Collection is expected:


Received Description

collection The value is handed over unchanged.

other Make returns a validation error.

When Date is expected:


Received Description

date The value is handed over unchanged.

Make will try to convert the text to a date. If the conversion fails, it will return a
validation error. Date must contain day, month and year. Date may contain time
text
and time zone. Default time zone is based on your settings. See these
examples[date-examples.html].

Make will treat the number as milliseconds since Jan 01 1970 (UTC) and
number
convert it to a corresponding date.

other Make returns a validation error.

https://www.make.com/en/help/mapping/type-coercion 2/4
20/11/2024, 08:21 Type coercion

When Number is expected:


Received Description

number The value is handed over unchanged.

Make will try to convert the text to a number. If the conversion fails, it will return
text
a validation error.

other Make returns a validation error.

When Text is expected:


Received Description

text The value is handed over unchanged.

If the given array supports conversion to text, the value will be converted. If not,
array
Make will return a validation error.

boolean The value is converted to text ( true / false ).

If text encoding is specified for binary data, the value will be converted to text. If
buffer
not, Make will return a validation error

date The value is converted to ISO 8601 text.

number The value is converted to text.

other Make returns a validation error.

When Time is expected:


Received Description

time The value is handed over unchanged.

Make will try to convert time to the hours:minutes:seconds format. If the


text
conversion fails, it will return a validation error.

other Make returns a validation error.

https://www.make.com/en/help/mapping/type-coercion 3/4
20/11/2024, 08:21 Type coercion

In this section
When array is expected:[../mapping/type-coercion.html#when-array-is-expected-]

When Boolean is expected:[../mapping/type-coercion.html#when-boolean-is-expected-]

When Buffer is expected:[../mapping/type-coercion.html#when-buffer-is-expected-]

When Collection is expected:[../mapping/type-coercion.html#when-collection-is-expected-]

When Date is expected:[../mapping/type-coercion.html#when-date-is-expected-]

When Number is expected:[../mapping/type-coercion.html#when-number-is-expected-]

When Text is expected:[../mapping/type-coercion.html#when-text-is-expected-]

When Time is expected:[../mapping/type-coercion.html#when-time-is-expected-]

© 2024 Celonis Inc.

https://www.make.com/en/help/mapping/type-coercion 4/4
20/11/2024, 07:23 Types of modules

Types of modules 

In Make, a module is a building block you use to create a scenario. Think of it as bricks that
you put together to automate your processes.

Each module performs a particular action, such as retrieving data from a service, creating or
updating a record, downloading a file, or searching for specific data based on certain
conditions. For example, your scenario can have three modules: one module watches for new
customer data in a CRM, the second module converts the data into another format, and the
last module sends that information to a different service.

You can find all available modules in the app list when selecting a specific app in the scenario
editor.

Understanding each module type helps you navigate Make more easily, build advanced
scenarios, and optimize operations[../scenarios/counting-the-number-of-operations.html#how-
modules-use-operations-in-make] while reducing costs.

In this article, you'll discover the different types of modules in Make and how to use them in
your scenarios. If you're an advanced user, be sure to check out the section on tips and
examples[types-of-modules.html#advanced-tips-and-examples] for more in-depth insights.

https://www.make.com/en/help/modules/types-of-modules 1/12
20/11/2024, 07:23 Types of modules

Triggers, Searches, Actions, and


Universal modules
You can categorize modules into four groups depending on what they do with data in Make:

Triggers
Searches
Actions
Universal modules

Triggers
A trigger is a module used to track changes in a service and pulls it to Make so you can use
the data in your scenario. A trigger only shows new data from your service account. Each time
a scenario processes trigger data, it's data that hasn't been processed before in that scenario.

For example, a trigger might detect when a new record is created, or an old record is deleted.

You can add a trigger only once in the scenario as the first module. This ensures that the
trigger initiates the scenario by detecting the relevant changes and pulling in the data for
further processing.

 Tip

We highly recommend starting your scenario with a trigger. Still, you can
start your scenario with any possible module. See the Advanced tips and
examples section[types-of-modules.html#using-different-modules-as-a-trigger]
to learn more.

Trigger types
There are two types of triggers in Make:

A polling trigger[types-of-modules.html#UUID-8bef0934-e977-7aed-5e47-
f6c20c692cc1_N1724324836165]

An instant trigger[types-of-modules.html#UUID-8bef0934-e977-7aed-5e47-
f6c20c692cc1_N1724324845560]

POLLING TRIGGERS

https://www.make.com/en/help/modules/types-of-modules 2/12
20/11/2024, 07:23 Types of modules

A polling trigger checks if there are any changes in your service account since the previous run
according to the scenario schedule[../scenarios/scheduling-a-scenario.html]. A polling trigger
makes a request to the service. If there are changes, you see them in the module’s output as
bundles. If there are no changes, you see no bundles.

 Tip

Click Schedule settings in the scenario toolbar to set how often a


trigger module runs.

You can recognize a polling trigger by its name: it usually starts with Watch: Watch a record,
Watch a row, etc. A polling trigger never has an instant tag[types-of-modules.html#UUID-
8bef0934-e977-7aed-5e47-f6c20c692cc1_N1724324845560] attached to it.

You can select a starting point when a module starts tracking changes in the service. See more
information in the Advanced tips and examples section[types-of-modules.html#advanced-tips-and-
examples].

INSTANT TRIGGERS

An instant trigger works in a different way: the service notifies Make whenever a change
happens. Basically, an instant trigger is a webhook[../tools/webhooks.html] - a link that the
service uses to send data to Make whenever changes occur. When you add an instant trigger,
Make asks you to create a webhook. Some services may require to create a connection before
you can create a webhook.

It's like buying plane tickets. A polling trigger is when you visit the airline's website yourself to
check for discounts. An instant trigger is like getting a notification from the website when
discounts are available.

 Note

If you add an instant trigger, your scenario schedule is automatically set


as Immediately as data arrives.

You can reschedule a scenario if needed. In this case, a webhook


receives data as soon as it arrives and stores it in a queue until the next
scenario run according to a new schedule.

You can recognize an instant trigger by a lightning icon and an instant tag:

https://www.make.com/en/help/modules/types-of-modules 3/12
20/11/2024, 07:23 Types of modules

Searches
A Search module helps you to get specific data from a service such as records, profiles, or
other objects.

Search modules are flexible. You can add as many as you need and place them anywhere
within your scenario.

Search Types
There are two types of search modules in Make:

A Search module allows filtering and using search queries to find specific data. For
example, Search records, Search rows, etc.

https://www.make.com/en/help/modules/types-of-modules 4/12
20/11/2024, 07:23 Types of modules

A List module retrieves all data from a service without any filtering. Make returns all
objects that you have in your service account. For example, List records, List sheets,
List customers, etc.

 Important

In most cases, when using searches, you can get up to 3,200 objects per
module run. Also, additional third-party API limits may exist. See the
Module limits section[types-of-modules.html#module-limits] below for more
details.

Actions
An Action module processes the data retrieved from a service. It’s one of the most commonly
used modules in Make.

You can include as many as you need and position them anywhere in your scenario.

There are the following types of actions in Make:

Get
Create
Update
Delete

Some actions are specific to the service, such as pin, save, or download.

 Note

Unlike Search modules that provide information about all objects or


objects that match module filters, a Get module helps to receive
information about one specified item. You should specify an object ID to
get information about it. Read more in the Advanced Tips and Examples
section[types-of-modules.html#difference-between-searches-and-get-modules].

Universal modules
A Universal module allows you to make a custom API call to a service when Make doesn't
provide a pre-built module for an API endpoint you need. This module, usually called the Make
an API Call module, is available for most services. You may need to refer to the service API

https://www.make.com/en/help/modules/types-of-modules 5/12
20/11/2024, 07:23 Types of modules

documentation to see a full list of available API endpoints.

You can add as many Universal modules as needed and place them anywhere in your
scenario.

 Tip

If Make doesn't have an app for a service you need, you can use the
HTTP app[../apps/built-in-apps/http.html] to make API calls.

Apps and tools


Modules can be split into two groups based on whether they need to connect to a service or
use a third-party API. There are two types:

Apps
Tools

Apps
When adding modules of an app, you need to create a connection to start working with them.
Each module serves a specific action. For example, to get data, create a record, or delete a
profile in your service account. You can associate a certain app module with a specific service
API endpoint.

inkedIn, Google Sheets, HubSpot CRM, Trello and many


more[https://www.make.com/en/integrations?community=1&verified=1] are apps in Make . When you
add a module, you see the Create a connection or Create a webhook buttons. In the
Connections section[https://www.make.com/en/help/connections], you can learn more about
connections in Make.

 Note

Some apps don't require creating a connection, but they still use a third-
party API. You may face third-party API limits when working with these
apps. See the Module limits section[types-of-modules.html#module-limits]
below for more details.

https://www.make.com/en/help/modules/types-of-modules 6/12
20/11/2024, 07:23 Types of modules

Tools
With tools, you don't need to set up a connection nor use a third-party API. Instead, you enter
your data or customize module settings, and the module is ready to work. Examples include
Iterator, Aggregator, Data store, Compose a string, Set variable, and many more.

These modules are ready to go as soon as you add them. However, some tools might require
some setup before you can use them. For example, Data store might ask you to create a data
store within Make.

https://www.make.com/en/help/modules/types-of-modules 7/12
20/11/2024, 07:23 Types of modules

Advanced tips and examples


In this section, you can find advanced tips and practical examples for using modules in Make

Module limits
While using modules, you might run into limits that could cause errors in your scenario.

Most Searches can only process up to 3,200 objects or 5MB of data per run. You only see the
first 3,200 objects searched or as many as fit within the 5MB limit, even if there are more.
Some modules only have a data size limit: each module can receive or process up to 5MB of
data per run.

Keep in mind that the service's API limits may apply. For example, if the API allows only 1,000
objects, that’s all you will receive no matter which type of modules you use. You can refer to
the service API documentation to learn more about its limits.

Here are two best practices to avoid errors and make sure your scenario runs smoothly:

When available, use the Limit field to define how many objects you want to receive
during one run.

https://www.make.com/en/help/modules/types-of-modules 8/12
20/11/2024, 07:23 Types of modules

Use a Search module if you need specific data. Search modules let you narrow down
results with filters and search queries.
If you use the Limit field, it's essential to set the right limit for the data being returned per one
run. For example, with a polling trigger[types-of-modules.html#UUID-8bef0934-e977-7aed-5e47-
f6c20c692cc1_N1724324836165], you need to find a balance:

If the limit is too low, Make will only process a part of data, and the rest will have to wait
until the next run. This could cause delays in data processing if a lot of new data arrives.
If the limit is too high, you might retrieve too many objects in one run. This also
increases the risk of hitting the 40-minute scenario run time limit if you need to perform
many actions on each object.

We recommend setting the limit according to the number of new objects you plan to get for
each scenario run.

ACID modules
Modules tagged as ACID support rollback. Make will undo all the actions an ACID module
takes if an error occurred in subsequent modules.

Imagine your ACID module receives two bundles. The next module processes the first one but
encounters an error with the second one. In this case, Make rolls back the ACID module as if
nothing was received. On the next run, the ACID module gets the same two bundles again.
The next module being non-ACID will try to process both bundles once again.

You can recognize the ACID module by the ACID tag:

https://www.make.com/en/help/modules/types-of-modules 9/12
20/11/2024, 07:23 Types of modules

Difference between Searches and Get modules


Unlike Search modules that provide information about all objects or objects that match module
filters, a Get module helps to receive information about one specified object. You should
specify an object ID to get information about it.

For data, this means Search or List modules usually return several bundles because there are
multiple objects to retrieve. Get modules, however, always return a single object, which means
only one bundle.

Using Update modules


With an Update module, you can perform three actions:

Erase content using the erase keyword in a content field. You can find it in the General
functions tab.

https://www.make.com/en/help/modules/types-of-modules 10/12
20/11/2024, 07:23 Types of modules

 Tip

Use this keyword only if you make a PUT API call. If you perform a
PATCH API call, leave a space in a content field.

Leave content as it is by leaving a content field empty.


Overwrite content by entering new data in a content field.

Using different modules as a trigger


While we recommend starting a scenario with a Watch module, you can also begin with a
Search module or Action module, depending on your goal. For example, if you need specific
data, a Search or List module can act as a polling trigger starting a scenario according to the
scenario schedule.

 Note

If you make a non-Watch module a polling trigger, you cannot add a


Watch module afterward.

Selecting the first bundle for a polling trigger


You can decide where to start to track changes made in the service. To do it, right-click the
module and then click Choose where to start.

https://www.make.com/en/help/modules/types-of-modules 11/12
20/11/2024, 07:23 Types of modules

Typically, you have the following options:

The current moment


A specific date
A specific ID or a record, or an email
The first record or email

Settings may vary depending on the app.

 Note

The option that you select in the Choose where to start menu only
applies to the first run of the module. Subsequent runs track changes
that occurred in the third-party app since the previous run.

In this section
Triggers, Searches, Actions, and Universal modules[../modules/types-of-modules.html#triggers--
searches--actions--and-universal-modules]

Apps and tools[../modules/types-of-modules.html#apps-and-tools]

Advanced tips and examples[../modules/types-of-modules.html#advanced-tips-and-examples]

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/types-of-modules 12/12
20/11/2024, 08:16 Upgrading Gmail and Email App Versions Using Make DevTool

Upgrading Gmail and Email


App Versions Using Make
DevTool

This article describes the upgrading of the Gmail[../apps/communication/gmail.html] app to the


latest version using Make DevTool. The same upgrade process can be applied to the Email
app.

 Warning

Do not use Make DevTool's Swap App tool unless you know what you
are doing!

Prerequisites:

Existing legacy Gmail or Email app versions in your scenario.

Upgrading Gmail Modules to the Latest Version:

1. Open the scenario that contains the legacy Gmail app version.
2. Press Control+Shift+I or F12 (Windows) or Command+Option+I (Mac) on your keyboard
to open Chrome Developer Tools.
3. Open the Make tab.

4. Go to Tools > Swap App.

https://www.make.com/en/help/modules/upgrading-gmail-and-email-app-versions-using-integromat-devtool 1/3
20/11/2024, 08:16 Upgrading Gmail and Email App Versions Using Make DevTool

5. In the tool's pane fill the fields as follows:

App to be
Select the legacy Gmail app you want to replace.
Replaced

Version Select the legacy version of the Gmail app you want to replace.

Select the Gmail app you want to replace the legacy modules
Replace with
with.

Select the latest version of the Gmail app you want to upgrade
Version
the app's modules to.

6. When the source and target app versions are specified, click the Run button in the
Swap App tool's pane to perform the Swap App action.

https://www.make.com/en/help/modules/upgrading-gmail-and-email-app-versions-using-integromat-devtool 2/3
20/11/2024, 08:16 Upgrading Gmail and Email App Versions Using Make DevTool

All modules of the legacy Gmail app version in your scenario are now upgraded to the desired
version.

© 2024 Celonis Inc.

https://www.make.com/en/help/modules/upgrading-gmail-and-email-app-versions-using-integromat-devtool 3/3
20/11/2024, 08:21 Working with files

Working with files

Some modules have the capability to process files. These modules can either return an output
file to be sent for further processing or require a file to be passed to them for processing. For
these modules to work together to process files they have to be mapped to each other.

How to map a file


Modules that have the ability to work with files require two pieces of information:

1. File name
2. File content (data)

When you map a file, you choose from which module(s) in your scenario you want to obtain
the data from. The file name and file content are then automatically mapped as they are.

 Note

If you need to process a file from a URL, we recommend to use


the HTTP > Get a File module to download the file from the URL, and
then map the file from the HTTP > Get a File module to the desired
module's field in your scenario.

Example: Mapping Facebook photos to Dropbox


The example below shows how to map photos (files) from Facebook to Dropbox. The facebook
trigger Watch photos returns detailed information about each downloaded photo, including its
name and content (data). To map this information to Dropbox so it can be uploaded, the
Dropbox[../apps/file-and-document-management/dropbox.html] action Upload a file requires you to
specify the source file that this information will be mapped from. By selecting the Facebook >
Watch photos option under the source file, Make will automatically map the file name and file
content. From now on, all photos from Facebook will be uploaded to the specified Dropbox
folder.

https://www.make.com/en/help/mapping/working-with-files 1/3
20/11/2024, 08:21 Working with files

However, it can happen that you want to rename the file, but want to keep the data as it is. In
such case, use the Map option (as seen in the image below) to map the file name and file
content independently of each other.

You will have to enter the full file name, including the ending (e.g. invoice.xml). Both binary
(photos, videos, PDF and the like) and text formats are supported.

https://www.make.com/en/help/mapping/working-with-files 2/3
20/11/2024, 08:21 Working with files

Maximum file size


The maximum file size depends on the plan you are subscribed to (FREE - 5 MB, CORE - 100
MB, PRO - 250 MB, TEAMS - 500 MB, ENTERPRISE - 1,000 MB). If it is exceeded, Make
proceeds in accordance with the settings of the Enable data loss option.

In this section
How to map a file[../mapping/working-with-files.html#how-to-map-a-file]

Maximum file size[../mapping/working-with-files.html#maximum-file-size]

© 2024 Celonis Inc.

https://www.make.com/en/help/mapping/working-with-files 3/3

You might also like