Make Functions

The Make Functions app is a visual way to handle data transformations within your scenarios. Previously, Make IML (Integromat Markup Language) functions were only accessible inside mapping fields. Now, these functions are available as standalone modules.
Behavior with an empty input
If the value mapped to an input field is empty, null, or missing, the module outputs an empty result without stopping the scenario. No error is raised. To handle missing values explicitly, use the General > If Empty operation to supply a fallback, or add a filter before the module to verify the upstream value exists.
Key benefits
- Visual chaining: You can connect individual functions as separate modules that can be chained together in the scenario builder.
- Simplified usage: The entry barrier is lower for non-technical users who may find traditional function setup challenging.
- Zero-cost execution: Using Make Functions modules costs zero operations and zero credits. They are free to use, just like standard IML functions.
- High discoverability: You can find functions within the scenario builder under the Make Functions app, categorized by type (String, Math, Date, etc.).
- Familiar interface: Each module uses the standard Make mapping interface with clearly defined inputs and outputs.
Credit usage
Because these modules act as visual wrappers for standard IML logic, which is already free to use within mapping fields, they do not consume any operations or credits.
Make Functions modules
You can use the following module to build your scenarios.
Use this module when you need to chain multiple transformations — for example, trim, replace, and encode a string — without linking separate modules for each step.
Field | Description |
|---|---|
Initial Value | The starting value for the pipeline (required) |
Steps | One or more operation steps (required) |
From the operations field, you can select operations listed below.
Type | Examples of operations |
|---|---|
Text | To upper case, To lower case, Capitalize, Start case, Trim whitespace, Substring, Replace, Split, Join, Format Number, Format Date |
Number | Absolute value, Length, Index Of, Round up, Round down, Round, Truncate, Sum, Average, Length (Array), Date Difference |
Array | Split, Slice (Array), Reverse (Array), Sort (Array), Add (Array) |
Date | Now, Yesterday, Tomorrow, Add days, Set hour, Parse date |
Type compatibility:
Each operation requires a specific input type and produces a fixed output type. If a step’s expected input type does not match the output type of the preceding step, the scenario fails immediately. Make generates a Type mismatch error and no steps are executed.
Common incompatible pairs to avoid:
- Split → Absolute Value: Split outputs an array; Absolute Value expects a number.
- Length → Uppercase: Length outputs a number; Uppercase expects text.
- Sum → Split: Sum outputs a number; Split expects text.
Operations that accept any input type such as - Get, If, If Empty, Switch, To String, To Number, To Boolean, Array: First, Array: Last, or that generate their own value regardless of the previous step (Now, Yesterday, Tomorrow) are always compatible in a chain. Output
Field | Type |
|---|---|
Result | The output of the last step |
Steps | An array containing the operation name and result for every step, it is useful for debugging intermediate values |
Example: Normalize an invoice total Use the Transform functions module to turn a localized amount from an email, PDF parser, or form submission into a clean accounting-friendly number.
In your scenario builder, add Make Functions > Transform module.
In the Initial Value field, map the amount from the previous module, or add a value for example € 1.234,567.
Click Add item to add the first step.
In the Operation field, select Trim whitspace (text).
Click Add item to add the second step.
In the Operation field, select Replace (text).
In the Pattern field, enter /[^0-9,.-]/g.
Leave the Replacement field empty.
Click Add item to add the third step.
In the Operation field, select Parse number (text -> number).
In the Decimal separator field, enter ,.
Click Add item to add the fourth step.
In the Operation field, select Round (Number).
Set Decimal places to 2.
Click Add item to add the fifth step.
In the Operation field, select Format number (number -> text).
Set the Decimal places to 2, Decimal separator to ., and Thousands separator to ,.
Click Save.
Run the module
The module outputs 1,234.57. The Steps output shows the intermediate result after each operation so you can inspect where the value changed.
Use the Array functions module to get elements, sort, filter, merge, transform arrays, extract keys, and convert between arrays and objects.
Select an operation from the dropdown list, then fill in the fields that appear.
Operation | Description | Additional fields |
|---|---|---|
Get first element | Returns the first element | |
Get last element | Returns the last element | |
Array length | Returns the number of elements | |
Slice | Returns a portion of the array | Start (required), End |
Reverse | Returns the array in reverse order | |
Sort | Sorts the array | Order (asc/desc, default: asc), Key (property name for arrays of objects) |
Shuffle | Returns the array in random order | |
Contains | Returns true if the array contains the given value | Value (required) |
Add element | Appends or prepends a value | Value (required), Position (beginning/end, default: end) |
Remove element | Removes the element at a given 0-based index | Index (required) |
Merge arrays | Concatenates two arrays | Second array (required) |
Remove duplicates | Removes duplicate values | Key (property name for deduplication in arrays of objects) |
Flatten | Flattens a nested array | Depth (number of nesting levels to flatten) |
Get keys | Returns the keys of a collection as an array | Object (required) |
Map values | Extracts a single property from an array of objects | Key (property name, required) |
Array to collection | Converts an array of key-value pairs into a collection | Key field (default: key), Value field (default: value) |
Collection to array | Converts a collection into an array of key-value pairs | Object (required) |
Output
Field | Type |
|---|---|
Result | Array, collection, or primitive — depends on the operation |
Example: Extract active customer email addresses from a contact list
Use the Array module to output an array of email addresses from the active contacts in a list.
Use a JSON parser along with an array aggregator to parse the array.
In your scenario builder, add Make Functions > Array functions module.
In the Operation field, select Map values.
In the Array field, map the email array from the previous module.
In the Key field, enter email.
In the Key to filter by field, enter status.
In the Values to filter field, enter active.
Click OK.
The module transforms the list of objects into an array containing only the email addresses, for example: [email protected], [email protected].
Use the Hash functions module to use hash and encode operations such as MD5, SHA-1, SHA-256, SHA-512, and Base64 encoding.
Operation | Description | Additional fields |
|---|---|---|
MD5 | Returns the MD5 hash of the input | |
SHA1 | Returns the SHA-1 hash. Provide an HMAC key to compute HMAC-SHA1. | HMAC key, Key encoding (UTF-8/Hex/Base64, default: UTF-8), Output encoding (Hex/Base64, default: Hex) |
SHA256 | Returns the SHA-256 hash. Provide an HMAC key to compute HMAC-SHA256. | HMAC key, Key encoding (UTF-8/Hex/Base64, default: UTF-8), Output encoding (Hex/Base64, default: Hex) |
SHA512 | Returns the SHA-512 hash. Provide an HMAC key to compute HMAC-SHA512. | HMAC key, Key encoding (UTF-8/Hex/Base64, default: UTF-8), Output encoding (Hex/Base64, default: Hex) |
Base64 Encode | Encodes the input as Base64 | |
Output
Field | Type |
|---|---|
Result | Text |
Example: Verify a webhook signature
Use the Hash module to verify a webhook signature.
In your scenario builder, add Make Function > Hash functions module.
In the Operation field, select SHA256.
In the Data field, map the raw webhook request body from a previous module.
In the HMAC key field, map or enter your webhook secret.
Set Key encoding to UTF-8.
Set Output encoding to Hex.
Click Save.
The module outputs the HMAC-SHA256 (88aab3ede8d3adf94d26ab90d3bafd4a2083070c3bcce9c014ee04a443847c0b) signature. You can compare this value against the signature sent in the webhook headers using a filter.
Use the Date functions module to add or subtract time, set specific date components, calculate differences, and format or parse dates.
Select an operation from the dropdown, then fill in the fields that appear.
Operation | Description | Additional fields |
|---|---|---|
Now | Returns the current date and time | |
Yesterday | Returns yesterday's date | Date (defaults to today if omitted) |
Tomorrow | Returns tomorrow's date | Date (defaults to today if omitted) |
Add seconds | Adds seconds to a date. Use a negative number to subtract. | Seconds (required) |
Add minutes | Adds minutes to a date | Minutes (required) |
Add hours | Adds hours to a date | Hours (required) |
Add days | Adds days to a date | Days (required) |
Add months | Adds months to a date | Months (required) |
Add years | Adds years to a date | Years (required) |
Set second | Sets the seconds component (0–59) | Value (required) |
Set minute | Sets the minutes component (0–59) | Value (required) |
Set hour | Sets the hours component (0–23) | Value (required) |
Set day of week | Sets the day of the week | Value: day name or number 0–6 (required) |
Set day of the month | Sets the day of the month (1–31) | Value (required) |
Set month | Sets the month | Value: month name or number 1–12 (required) |
Set year | Sets the year | Value (required) |
Date difference | Returns the difference between two dates | Start date (required), End date (required), Unit (days/hours/minutes/seconds, default: days) |
Format date | Formats a date as a string | Date (required), Format (required, e.g. YYYY-MM-DD) |
Parse date | Parses a date from a text string | Text (required), Format (required, e.g. YYYY-MM-DD) |
Output
Field | Type |
|---|---|
Result | Date or number, depending on the operation |
Format tokens
Token | Description | Example |
|---|---|---|
YYYY | 4-digit year | 2026 |
MM | 2-digit month (01–12) | 3 |
DD | 2-digit day (01–31) | 18 |
HH | Hour in 24-hour format | 14 |
mm | Minutes | 5 |
ss | Seconds | 9 |
Example: Calculate the number of days until a deadline
Use the Date module to calculate the number of days until a deadline.
In your scenario builder, add Make Function > Date functions module.
In the Operation field, select Date difference.
In the Start date field, click the calendar icon and set to Now; or map the current date from a previous module.
In the End date field, map the deadline date from the previous module (for example, a due date from a project management app).
In the Unit field, select Days.
Click OK.
The module outputs the number of days between today and the deadline. If the result is a negative number, the deadline has already passed.
Use the General functions module to use control flow and type conversion operations such as conditional logic, switch statements, property access, and type conversions.
Operation | Description | Additional fields |
|---|---|---|
Get | Returns the value at a dot-notation path inside an object or array | Object (required), Path (required, e.g. user.address.city) |
If | Returns one of two values based on a condition | Condition (required), Then (required), Else |
If empty | Returns a fallback value when the input is empty or null | Value (required), Fallback (required) |
Switch | Maps a value to a result from a list of cases | Value (required), Cases (array of key/result pairs, required), Default |
Omit keys | Returns an object with the specified keys removed | Object (required), Keys (comma-separated, required) |
Pick keys | Returns an object containing only the specified keys | Object (required), Keys (comma-separated, required) |
To String | Converts any value to a string | Value (required) |
To Number | Converts a value to a number | Value (required) |
To Boolean | Converts a value to a boolean | Value (required) |
Output
Field | Type |
|---|---|
Result | Any — matches the type returned by the selected operation |
Example: Assign a priority from a plan name
Use the General functions module to return a priority label based on a value from a previous module.
In your scenario builder, add Make Functions > General functions module.
In the Operation field, select Switch.
In the Value field, map the plan name field from the previous module.
In Cases field, enter the following: free -> low pro -> standard enterprise -> high-touch
In the Default value field, enter standard.
Click Save.
The module outputs high-touch.
Use the Math functions module to round off, truncate, find minimum and maximum values, calculate sums and averages, and format numbers.
Select an operation from the dropdown list, then fill in the fields that appear.
Operation | Description | Additional fields |
|---|---|---|
Absolute Value | Returns the non-negative value of a number | |
Round up | Rounds up to the nearest integer | |
Round down | Rounds down to the nearest integer | |
Round | Rounds to the nearest value | Precision (decimal places, default: 0) |
Truncate | Removes the fractional part without rounding | Digits (decimal places to keep, default: 0) |
Maximum | Returns the largest number from a list | Values (array of numbers, required) |
Minimum | Returns the smallest number from a list | Values (array of numbers, required) |
Sum | Adds all numbers in a list | Values (array of numbers, required) |
Average | Returns the arithmetic mean of a list | Values (array of numbers, required) |
Median | Returns the median of a list | Values (array of numbers, required) |
Parse Number | Parses a number from a text string | Text (required), Decimal separator (default: .) |
Format Number | Formats a number as a string with custom separators | Number (required), Decimal points (default: 2), Decimal separator (default: .), Thousands separator (default: ,) |
Output
Field | Type |
|---|---|
Result | Number |
Example: Format a price for display
Use the Math module to convert a raw numeric value into a standard currency format.
In your scenario builder, add Make Functions > Math functions module.
In the Operation field, select Format Number.
In the Number field, map the price value from your source module (e.g., 1234.5).
Set Decimal points to 2.
Set Decimal separator to. .
Set Thousands separator to ,.
Click OK.
The module will output the formatted string: 1,234.50.
Use the String functions module to transform case, extract substring, replace patterns, split and join text, and encode/decode URLs.
Operation | Description | Additional fields |
|---|---|---|
To upper case | Converts all characters to uppercase | |
To lower case | Converts all characters to lowercase | |
Capitalize | Capitalizes the first letter of the first word | |
Start case | Capitalizes the first letter of every word | |
Trim white space | Removes leading and trailing whitespace | |
Text length | Returns the number of characters | |
Substring | Extracts a portion of the string | Start (required), length |
Index of | Returns the 0-based position of a substring; returns -1 if not found | Search (required), start index (default: 0) |
Replace | Replaces a pattern with a replacement. The pattern accepts regex. | Pattern (required), Replacement (required), Replace all (default: false) |
Split | Splits a string into an array using a separator | Separator (required) |
Join | Joins an array of strings into a single string | Array (required), Separator (default: ,) |
Contains | Returns true if the string contains the given substring | Substring (required), Case sensitive (default: true) |
Encode URL | URL-encodes the text | |
Decode URL | Decodes a URL-encoded string | |
Escape HTML | Escapes HTML special characters (<, >, &, ") | |
Strip HTML | Removes all HTML tags and returns plain text | |
Output
Field | Type |
|---|---|
Result | Text (or number for length and index of) |
Example: Process text with Make Functions
In this example, you will use Make Functions to automatically trim whitespace and capitalize a string within your scenario.
In your scenario builder, add Make Functions > String functions module.
In the Operation field, select Trim whitespaces.
In the Text field, map the value from your source module.
Click OK.
Add a second Make Functions > String functions module following the first one.
In the Operation field, select Capitalize.
In the Text field, map the output of the first Text module.
Click OK.
The second module will output the trimmed and capitalized string.
Templates
You can look for Make Functions templates in Make's template gallery, where you'll find thousands of pre-created scenarios.