Transform
The Transform action connector helps in manipulating texts and numbers as required. It helps you to manipulate and structure data according to our needs.
For example, suppose in the previous trigger specific data is selected to be displayed. In that case, the action defined by the Transform connector can manipulate or change it to meet your display requirements.
Set up the Transform Connector
Perform the following steps to set up the Transform action connector:
- Click Configure Action Step from the left navigation panel.
- Click Action Step to configure third-party services.
- Within the Configure Action Step, click the Transform connector.
- You will see these actions under the Choose an Action tab: Aggregate Data, Date and Time Transformer, Filter Data, JSON Stringify, Merge Data, Modify Object Fields, Remove Duplicate Data, Sort Data, Template and Transform.
- In the Input Value field, enter the value to aggregate. For example, fetch the response from the previous step, i.e., 2.response.
- Click + Add Fields to Aggregate button. In the Field Name, enter the nested path to the numeric field. For example, “user.details.age.”
- In the + Add Statistics field, select the value you want to use for aggregating the data. Here, we are using Total and Average.
- Optionally, enable the Show Optional Fields toggle button to view the optional field.
In the Select Null Value Handling drop-down, select either Exclude or Zero to handle null values.
If Null Value Handling is set to Exclude, null or undefined values are ignored. However, if it is set to Zero, these values are not excluded and are instead assigned a value of 0.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Date field, enter the date to add a duration in ISO format. If left blank, current date is selected.
- In the Select Unit drop-down, select the time unit to add to the date. For example, Minute, Hour, Day, Week, Month, Year.
- In the Add Value field, enter the number you want to add. For example, if you choose Minute and enter 1, it will add 1 minute to the date.
- In the Select Output Format drop-down, select the output format for the date.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Date field, enter the date to extract the date-time component. If left blank, the current date is automatically selected.
- In the Select Date-Time Component drop-down, select the date-time component to extract. For example, if you choose Year, it will extract the year from the input date.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Date field, enter the date to format. If left blank, current date is selected.
- In the Select Output Format drop-down, select the date-time component to format. For example, if you choose YYYY-MM-DD format, it will format the input date based on the output format.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Select Output Format drop-down, select the date-time component in which you want to fetch the current date. For example, if you choose DD/MM/YYYY, the current date will be retrieved in the same selected format.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Start Date field, enter the start date to calculate the time difference. If left blank, the current date is automatically selected. In the End Date field, enter the end date.
- In the Select Unit drop-down, select the date-time component to fetch the gap. If you choose Year, the difference between the two dates is fetched in year.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Date field, enter the date from which you want to subtract the date-time components. If left blank, the current date is automatically selected.
- In the Select Unit drop-down, select the date-time component to subtract from the input date. If you choose Week, the week is subtracted.
- In the Subtract Value field, enter the value to subtract.
For example, if you choose Week in the Select Unit drop-down and enter 2 in the Subtract Value field, it removes two weeks from the input date.
- In the Select Output Format, select an output date format.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Value field, enter the JSON data (objects or array of objects) to filter.
- In the Filter Conditions section, click + Add Condition button to add the filters.
Based on the example code, enter "name" in the Select Input field, choose the Matches operator, and enter a value (e.g., "John"). This filters the array and returns only the objects where the name is John.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Value field, enter the JSON data (objects or array of objects) to stringify.
- Optionally, enable the Show Optional Fields toggle button to display the optional fields.
In the Select Indentation Spaces, select the spaces for JSON indentation in the output. By default, 0 is selected.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Name and Input Value field, enter the JSON data (array of objects) to merge.
- In the Merge Method drop-down, select the method to merge the data.
If the Merge Method is Merge:
If the Merge Option is Matching Fields:
- In the Select Merge Option drop-down, select the type of merge method, i.e., Matching Fields, Position, and All Possible Combinations. Here we are selecting Matching Fields.
Note: Merge by Position applies to all provided input data, while Matching Fields and All Possible Combinations work only for the first two input data sets.
- In the Field Name field, enter the name of the field to compare and merge.
- In the Match Options drop-down, select any one of the options:
- Equal: Returns objects where the specified field name matches in both objects.
- Not Equal: Returns objects where the specified field name does not match in both objects.
- Keep Both: Includes all objects in the output, regardless of matching criteria.
- Enrich First: Merges both objects, keeping all fields while prioritizing values from the first object (similar to a left join).
- Enrich Second: Merges both objects, keeping all fields while prioritizing values from the second object (similar to a right join).
If the Merge Option is Position:
- In the Select Merge Option drop-down, select the type of merge method, i.e., Position.
Position-based merging takes the first object from each array and merges them. If you have three arrays of objects, it will pick the first object from each and combine them in the output.
If the Merge Option is All Possible Combinations:
- In the Select Merge Option drop-down, select the type of merge method, i.e., All Possible Combinations.
- All Possible Combinations generates and merges every possible pair from the first two input arrays. For example, if the first array has 2 objects and the second array has 4 objects, the output contains 8 unique combinations.
If the Merge Method is Append:
- If the Merge Method is Append, it will merge all the data from the array of objects into a single array.
- In the Select Merge Option drop-down, select the type of merge method, i.e., Matching Fields, Position, and All Possible Combinations. Here we are selecting Matching Fields.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output. You will see a new field added to the object.
- In the Input Value field, enter the JSON data (objects or array of objects) to add.
- In the Select Operations drop-down, select Add New Field.
- In the Field Key field, enter the key of the object to add.
- In the Field Value field, enter the value of the key to add.
- Enter the dot-notation path to access nested fields in the Target Path field.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output. You will see a new field is added to the object.
- In the Input Value field, enter the JSON data (objects or array of objects) to remove.
- In the Select Operations drop-down, select Remove Field.
- In the Field Key field, enter the key of the object to remove.
- Enter the dot-notation path to access nested fields in the Target Path field.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output. You will see the object key is removed.
- In the Input Value field, enter the JSON data (objects or array of objects) to modify.
- In the Select Operations drop-down, select Update Field.
- In the Field Key field, enter the key of the object to update.
- In the Field Value field, enter the value of the key to update.
- Enter the dot-notation path to access nested fields in the Target Path field.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output. You will see the updated field value.
- In the Input Value field, enter the JSON data (objects or array of objects) to remove the duplicate.
- Optionally, enable the Show Optional Fields to display the optional fields.
In the Key/Nested Path field, enter the key or the nested path to remove the duplicate. You can enable the check for case-sensitive duplicate values.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- In the Input Value field, enter the data to sort.
- In the Field Name, enter the field name to sort based on the input value. If left blank, an empty string is automatically selected.
- In the Select Sort Direction, enter the sort direction, i.e., Ascending or Descending.
If your input is an array of objects and you want to sort by a specific field (e.g., "age"), enter age in the Field Name and select Ascending from the Sort Direction drop-down.
Example Input:
return [{"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}, {"name": "Charlie", "age": 20}];
Example Output:
[ {"name": "Charlie", "age": 20}, {"name": "Alice", "age": 25}, {"name": "Bob", "age": 30}]
- Optionally, enable the Show Optional Fields toggle to display the optional fields.
Click the Enable case-sensitive sorting checkbox to match cases when sorting data.
- Click Proceed.
- Click Test Action.
- Click Save and Exit to view the output.
- On the Transform Configure Action page, enter the following details:
- Click the Add Input button, and enter a variable name for the Input Name (say, “name”) and an Input Value for the variable (say, “john” in lowercase letters).
Note: You can even pass the value directly into the Transformation box.
- Let’s enter the JSON code that uses the “capitalize()” modifier in the Transformation box. Use the following code: {“result” : “{capitalize(name)}” }
- Click the Add Input button, and enter a variable name for the Input Name (say, “name”) and an Input Value for the variable (say, “john” in lowercase letters).
- Click Proceed.
- Check if the details are correct. If yes, click Test Action.
- Once set, click Save and Exit.
- toFixed is the helper function
- 3.15656 is the decimal value
- 2 is the specified number of decimal places to which the output will be displayed
- Configure your HTTP Trigger and use the trigger data in the input value field.
- To replace all the occurrences of the word hello with hi.
Here’s a screenshot that shows the output:
trim
Use this modifier to remove white spaces at the beginning and end of the string, including tab, space, null byte, new line, and carriage return.
Example: trim(Data)Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
capitalize
Use this modifier to convert the input data into the capital (upper) case.
Example: capitalize('input data') or capitalize(variable)Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
camelCase
Use this modifier to convert the input text into the camel case.
Example: camelCase('input data')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
kebabCase
Use this modifier to convert the input text into the kebab case.
Example: kebabCase('input data')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
snakeCase
Use this modifier to convert the input text into the snake case.
Example: snakeCase('input data')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:escape
Use this modifier to escape HTML characters.
Example: escape('<data input>')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
split
Use this modifier to split the text into an array.
Example: split('data-input' , '-')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
join
Use this modifier to join all items of an array to make a single string.
Example: join(…arrayRef|string , '-')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
upperCase
Use this modifier to convert the input text into upper case.
Example: upperCase(Data)Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
lowerCase
Use this modifier to convert the input text into lower case.
Example: lowerCase(Data)Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
repeat
Use this function to repeat the input string a specified number of times.
Example: [[repeat string_name number]].
In the above example:
- repeat is the helper function
- string_name is the input string which you want to repeat
- number specifies the count of repetition for the string
Note: The input value must be a string, and the number should be an integer value.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
startsWith
Use this function to check whether the input string starts with the specified letter or string. This returns a boolean value, i.e., true or false.
Example: [[startsWith string_name “letter/string”]].
In the above example:
- startsWith is the helper function
- string_name is the input string which you want to verify
- letter/string is the string that you want to check against the beginning of the input string.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
In case of incorrect input:
Output:
endsWith
Use this function to check whether the input string starts with the specified letter or string. This returns a boolean value, i.e., true or false.
Example: [[endsWith string_name “letter/string”]].
In the above example:
- endsWith is the helper function
- string_name is the input string which you want to verify
- letter/string is the string that you want to check against the end of the input string.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
In case of incorrect input:
Output:
contains
Use this function to check whether the input string contains the specified letter or substring. This function returns a boolean value: true if the specified text is found, and false otherwise.
Example: [[contains “string_name” “letter/substring”]].
In the above example:
- contains is the helper function
- string_name is the input string
- letter/string is the substring that you want to search in the input string.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
Data Processing and Transformation
uniqueItems
Use this modifier to remove duplicate items and return unique values from an array.
Here’s a screenshot that shows the input:
Example: uniqueItems(Data)Here’s a screenshot that shows the output:
findInCollection
Use this modifier to return objects from an array specified in the conditions.
Example: findInCollection(Data, 'Name= John Harper')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
filterCollection
Use this modifier to filter an array and remove all objects which do not match the condition.
Example: filterCollection(Data, 'Name=John Harper')Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
mapCollection
Use this modifier to map the collection data. This function will help users create a new collection by mapping data to different keys.
Example: { "userslist": "{mapCollection(users,'Name=John Harper&book =Harry Potter')}" }Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
size
Use this modifier to retrieve the size of an array.
Example: size(Data)Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
Miscellaneous
Using Multiple Filters
You can also pass data in for more than one filter, as shown below:
{
“name”: “{lowerCase(firstname)|upperCase($pipe)}”
}Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
- Under Choose an Action tab, select the Template action.
- On the Template Configure Action page, enter the details given below:
- Click the Add Input button, and enter a variable name and value in the Input Name and Input Value fields respectively. For example, enter Entry Title in the Input Name field and in the Input Value field, fetch the entry title configured in the previous step as shown in the screenshot below:
Note: You can also pass the value directly into the Template box.
- In the Template field, provide a template and fetch the values from the previous step as shown below:
- Click the Add Input button, and enter a variable name and value in the Input Name and Input Value fields respectively. For example, enter Entry Title in the Input Name field and in the Input Value field, fetch the entry title configured in the previous step as shown in the screenshot below:
- Click Proceed.
- Check if the details are correct. If yes, click Test Action.
- Once set, click Save and Exit.
- [[#each data]] loops through the data array.
- [[this.name]] accesses the name property of each object in the array.
- [[#unless @last]] checks if the current item is not the last one in the array; if it is not, a comma is added.
- [[#each data]] loops through the data array, creating a list item (<li> </li>) for each iteration that displays the name value. The result is an HTML list where each name appears as a list item.
- [[#if Data.author]] checks whether the author exists.
- If the author is present, the full name is displayed within an <h1> tag.
- If the author is not present, the message "He is not an author" is displayed.
- In this scenario, since the author exists, the name is shown.
- [[#unless Data.isAdmin]] checks if isAdmin is false.
- If it is, the message "You are not an admin" is displayed.
- In this case, since isAdmin is false, the message is shown.
- The template uses [[#each products]] to loop through the products array.
- For each product, it displays the name, price, and stock status within a list item (<li>).
- The [[#if inStock]] helper checks if the product is in stock and conditionally shows the correct status.
- The result is an HTML list of products, showing their names, prices, and stock availability.
- The [[size Data]] helper counts the elements in the Data array.
- The output is the total number of items, which, in this case, is 5.
- and is the helper function
- true is the first boolean value
- false is the second boolean value
- or is the helper function
- true is the first boolean value
- false is the second boolean value
- fromNow is the helper function
- 01/08/2028 is the date from which you want to check the time
- MM/DD/YYYY is the date format of the specified date
- diffDate is the helper function
- 01/08/2028 and 01/09/2028 are the dates to find the difference between
- MM/DD/YYYY is the format of the specified dates
- Months represent the desired output of the difference that you want i.e., months will fetch the difference between the two dates in months.
- addDays is the helper function
- 01/08/2028 is the date in which you want to add the days
- MM/DD/YYYY is the format of the specified date
- 5 represents the total number of days you want to add in the specified date.
- subtractDays is the helper function
- 20/08/2028 is the date from which you want to subtract the days
- MM/DD/YYYY is the format of the specified date
- 5 represents the total number of days you want to subtract from the specified date
- formatDate is the helper function
- 16/08/2024 is the date string
- DD/MM/YYYY is the format of the specified date string
- YYYY/MM/DD represents a new format in which you want to transform the date string
- formatDate is the helper function
- encodeURI is the helper function
- URL is the specified URL to encode
- ol is the helper function
- array_of_strings is the array of strings
- ul is the helper function
- array_of_strings is the array of strings
- #list is the helper function
- array_name fetches the array of objects from the previous step
- this.name points to the attributes of the array.
- [/list] indicates the end of list
- italic is the helper function
- Hello World is the string which you want to return in italic format
- table is the helper function
- array_name is the array of objects
- capitalize is the helper function
- hello world is the string which you want to convert in capitalized format
- upperCase is the helper function
- hello world is the string which you want to convert in uppercase format
- lowerCase is the helper function
- HELLO WORLD is the string which you want to convert in lowercase format
- camelCase is the helper function
- Hello world is the string which you want to convert in camelcase format
- kebabCase is the helper function
- hello world is the string which you want to convert in kebabcase format
- snakeCase is the helper function
- hello world is the string which you want to convert in snakecase format
- replace is the helper function
- Input string is the string you want to modify
- one char, one word, or string is the character, word, or string that you want to replace
- with this string is the new string that will replace the specified part of the input string
- replaceAll is the helper function
- data is the string you want to modify
- one char, one word, or string is the character, word, or string that you want to replace
- with this string is the new string that will replace the specified part of the input string
- uniqueItems is the helper function
- myarray is the array of strings
- escape is the helper function
- <data input> is the input HTML
- split is the helper function
- data-input is the input string
- “ ” is the character to split the data input
- join is the helper function
- myarray is the array of strings
- “-” is the character to join all the items of the array
- sum is the helper function
- 5, 10, 15 are the integer values to be summed up
- random is the helper function
- 1 100 are the integer values to fetch a random value
- max is the helper function
- inputarray is the array of numbers
- min is the helper function
- inputarray is the array of numbers
- size is the helper function
- inputarray is the array of numbers
- now is the helper function
- toISO is the time format in ISO 8601
- jsonStringify is the helper function
- myarray is an object
- findInCollection is the helper function
- inputarray is the array of objects
- name=Jim is the filter criteria to return the object data
- filterCollection is the helper function
- myarray is the array of objects
- active=true is the filter criteria to return the object data
- trim is the helper function.
- Hello World is the input string.
- truncate is the helper function
- string is the input string
- number of characters is the limit to reduce the input string length
- ending string is the special character or ellipses used to end the string
- word break specified as true/false to break the word
Let’s look at each of them in detail.
Aggregate Data
The Aggregate Data action makes it easy to calculate key statistics, such as totals, averages, minimums, and maximums, for numeric fields within an array of objects. Whether the data is straightforward or deeply nested, this action helps you quickly extract meaningful insights without manual calculations.
Example Code:
return [
{ "user": { "details": { "age": 25, "score": 85 } } },
{ "user": { "details": { "age": 30, "score": 90 } } },
{ "user": { "details": { "age": 35, "score": null } } }
]
Let’s see the configuration for this:
Date and Time Transformer
The Date and Time Transformer makes working with dates and times effortless. It simplifies the process of adjusting dates, calculating time differences, or formatting them for reports.
Let’s see the configuration for each operation:
Add Duration to Date
This operation adds days, months, years, etc. to the input date.
Extract Part of Date
This operation extracts the year, month, day, etc. from the input date.
Format Date
This operation allows you to format a date to match your needs. For example, if you want the date in YYYY-MM-DD format, you can apply the formatting.
Get Current Date
This operation retrieves the current date in different formats.
Calculate Time between Dates
This operation retrieves the time difference between two dates.
Subtract from Date
This operation removes the days, months, years, etc. from a given date.
Filter Data
The Filter Data action extracts specific objects from an array based on defined conditions, ensuring accurate and efficient data filtering.
Example Code:
return [
{ "name": "John", "age": 30 },
{ "name":"John", "age":"22"},
{ "name":"alice", "age":"21"}
]
Let’s see the configuration for this:
JSON Stringify
The JSON Stringify action converts an object (or array of objects) into a JSON-formatted string.
In the ChatGPT connector, the output is generated in JSON format. This action helps to properly indent the JSON, making it easier to read and use in the entry data.
Let’s see the configuration for this:
Merge Data
The Merge Data action lets you combine multiple items into one, using various merge methods.
Let’s see the configuration for each operation:
Modify Object Fields
The Modify Object Fields action lets you modify, remove, or add fields within objects or arrays of objects. It fully supports nested structures and allows you to target specific paths using dot notation, giving you precise control over your data.
Example Code:
return
[{
"name":"John",
"age":"20"
}]
Let’s see the configuration for each operation:
Add New Field
This operation adds a new field to the object. If the field already exists, an error is thrown.
Remove Field
This operation removes a field from an object or an array.
Update Field
This operation updates the value of an existing field or creates it if it does not already exist.
Remove Duplicate Data
The Remove Duplicate Data action is designed to clean up data by eliminating duplicate values from arrays, objects, or nested structures. It identifies duplicates based on a specified key or criteria, ensuring accurate and efficient data refinement.
With support for both case-sensitive and case-insensitive comparisons, this action can handle complex data types, including nested objects and arrays.
Example Code:
return [
{ "name": "John", "age": 30 },
{ "name":"John", "age":"22"},
{ "name":"alice", "age":"21"}
]
Let’s see the configuration for this:
Sort Data
The Sort Data action sorts arrays of objects, numbers, or strings, supporting multi-field and nested field sorting with dot notation. It also allows case-sensitive or case-insensitive string sorting.
Example Code:
return [1, 20, 4, 5 6];
Let’s see the configuration for this:
Transform Modifiers
Transform modifiers help in manipulating texts and numbers as per our needs. This function utilizes JSON code and modifiers to transform data.
The Transform connector also helps in mapping different JSON objects into one object, as seen in the sample transform input data:
{
"first_name" : "{user_first}",
"last_name" : "{user_last}",
"full_name" : "{join(user_first,user_last,' ')}",
"country" : "india",
"time" : "{now('toISO')}"
}
The Transform connector also helps in mapping different JSON objects into one object, as seen in the sample transform input data:
The Transform function has specific modifiers that can manipulate the data. Let’s look at the applicable transform modifiers in detail.
Mathematical Operations
number
Use this modifier to convert text into numbers.
Example: number('3')
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

sum
Use this modifier to perform the addition of all numbers.
Example: sum(5,10,2)
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

random
Use this modifier to generate random numbers from a specified range.
Example: random(1, 100)
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

max
Use this modifier to retrieve the largest number from an array.
Example:max(arrayRef)
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

min
Use this modifier to retrieve the smallest number from an array.
Example: min(arrayRef)
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

toFixed
Use this function to return a decimal value truncated to the specified number of decimal places, without rounding.
Example: [[toFixed 3.15656 2]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Text Processing
truncate
Use this modifier to reduce the length of a string to a specific number of characters or words using ellipses or word-break options.
Note: The boolean value (true, false) implies whether you want to break the word or not. True means you want to break the word, and false means not. The space after the word is considered a break.
Example: truncate (string,number of characters,'ending string', ‘word break’)
Note: If the limit for the number of characters is more than that of the string, the output will contain the complete string without ellipses.
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:
Here’s a screenshot that shows the input when the word break is set to true by default.
Here’s a screenshot that shows the output:

Note: In the truncate modifier, string and the number of characters are the two mandatory fields. If we do not specify the ending string, it would take the ellipses (...) or any other characters the user enters such as (***).
replace
Use this modifier to replace any character, word, or string given in the 2nd argument with the 3rd argument.
Example: replace(Data, 'one char, one word or string', 'with this string')
Note: The replace modifier can only replace the first occurrence of a character/word/string.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
replaceAll
Use this modifier to replace all the characters, words, or strings given in the 2nd argument with the 3rd argument.
Example: replaceAll(Data, 'one char, one word or string', 'with this string')
Note: The replaceAll modifier will replace multiple occurrences of a character/word/string with the same pattern.
Here’s a screenshot that shows the input:
Here’s a screenshot that shows the output:
You can also pass the data configured from the previous step and replace the content. Here is an example:
text
Use this modifier to convert numbers to the text type, i.e., this modifier typecasts data which means that the data type gets changed to string.
Example: text(3)
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

uuid
Use this modifier to retrieve the unique ID based on UUID v4.
Example:
uuid()
{ "uuid" : "{uuid()}"}
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Date and Time Processing
now
Use this modifier to retrieve the current timestamp.
Example: now(toISO)
Options: toISO | toDate | toGMT | toUTC | toTime
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Template
This action enables you to format your data using HTML, incorporate inline CSS, and apply custom helper functions for data formatting. It includes many predefined functions, making it easier to transform inputs into your desired formats.
Additional Resource: Refer to the Handlebars document for details on custom functions that can be used within the Template.
Examples
Let’s look at some of the basic examples of the Template action.
Example 1:
Data Array:
data = [{name: "Alice", age: 25}, {name: "Bob", age: 30}]
Explanation:
This results in the names being joined with commas, except after the last name.
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Example 2:
Data Array:
data = [{name: "Alice", age: 25}, {name: "Bob", age: 30}]
Explanation:
This results in an unordered list.
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Example 3:
Data Array:
Data = { author: true, firstName: "Yehuda", lastName: "Katz"}
Explanation:
Here’s a screenshot that shows the input

Here’s a screenshot that shows the output:

Example 4:
Data Array:
Data= { isAdmin: false}
Explanation:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Example 5:
Data Array:
data =
{ products = [ { "name": "Laptop", "price": 999, "inStock": true }, { "name": "Smartphone", "price": 499, "inStock": false }, { "name": "Tablet", "price": 299, "inStock": true } ] }
Explanation:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Example 6:
Data Array:
Data = { "data": ["a", "b", "c", "d", "e"] }
Explanation:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Template Helper Functions
The Transform action connector is a robust tool for manipulating text and numerical data according to user specifications. To offer users even greater flexibility in data transformation and manipulation, Automate offers templating.
This enhancement significantly expands the capabilities of the Transform action connector, making it even more powerful and user-friendly.
Let’s look at the applicable template helper functions in detail.
and
Use this function to perform a logical AND operation between two boolean values. You will get true if both boolean inputs are true, and false if either of the boolean values is false.
Example: [[and true false]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

or
Use this function to perform a logical OR operation between two boolean values. You will get true if either of the boolean values is true, and false if both the boolean inputs are false.
Example: [[or true false]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

fromNow
Use this function to check the time from an existing date with the specific date.
Example: [[fromNow “01/08/2028” “MM/DD/YYYY”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

diffDate
Use this function to calculate the difference between two dates.
Example: [[diffDate “01/08/2028” “01/09/2028” “MM/DD/YYYY” “Months”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

addDays
Use this function to add days in the specified date.
Example: [[addDays “01/08/2028” “MM/DD/YYYY” 5]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

subtractDays
Use this function to subtract days from the specified date.
Example: [[subtractDays “20/08/2028” “MM/DD/YYYY” 5]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

formatDate (Scenario 1)
Use this function to parse the date string according to the second argument, and then generate the output as per the third argument.
Example: [[formatDate “16/08/2024” “DD/MM/YYYY” “YYYY/MM/DD”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

formatDate (Scenario 2)
Use this function to format the current date and time in ISO 8601 format.
Example: [[formatDate]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Refer to the below table to understand more about the formatDate function:
Date Format |
Output (as of August 15th 2024, 8:41 PM IST) |
Description |
---|---|---|
'MMMM Do YYYY, h:mm:ss a' |
August 15th 2024, 8:41:35 pm |
Full date and time with month name, day of month with suffix, year, 12-hour clock, minutes, seconds, and AM/PM. |
'dddd' |
Thursday |
Day of the week. |
'MMM Do YY' |
Abbreviated month name, day of month with suffix, and year in two digits. | |
'YYYY [escaped] YYYY' |
2024 escaped 2024 |
Year with custom text insertion. |
'' (empty string) |
2024-08-15T20:41:35+05:30 |
Default ISO 8601 format (date and time with timezone offset). |
'LT' |
8:41 PM |
Localized time. |
'LTS' |
8:41:35 PM |
Localized time with seconds. |
'L' |
08/15/2024 |
Localized short date. |
'l' |
8/15/2024 |
Localized short date without leading zeros. |
'LL' |
August 15, 2024 |
Localized long date. |
'll' |
Aug 15, 2024 |
Localized long date with abbreviated month. |
'LLL' |
August 15, 2024 8:41 PM |
Localized long dates with time. |
'lll' |
Aug 15, 2024 8:41 PM |
Localized long date with time and abbreviated month. |
'LLLL' |
Thursday, August 15, 2024 8:41 PM |
Localized long date with day of the week and time. |
'llll' |
Thu, Aug 15, 2024 8:41 PM |
Localized long date with abbreviated day of the week, month, and time. |
encodeURI
Use this function to encode the junk data and space in the URL.
Example: [[encodeURI “URL”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

ol
Use this function to return the ordered list.
Example: [[ol array_of_strings]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

ul
Use this function to return the unordered list.
Example: [[ul array_of_strings]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

list
Use this function to return the fetched array of objects.
Example: [[#list array_name]] [[this.name]] [[/list]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

italic
Use this function to return the string in italic format.
Example: [[italic “Hello World”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

table
Use this function to return the array in tabular format.
Example: [[table array_name]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

Note: You will get the Inline helper ‘xyz’ not found error if any pre-defined class is not found/present.
Let's explore the helper functions that are a part of the Transform action, but can also be implemented within the Template action.
capitalize
Use this function to convert the first letter or character of the input data into the capital (upper) case.
Example: [[capitalize “hello world”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

upperCase
Use this function to convert the input text into upper case.
Example: [[upperCase “hello world”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

lowerCase
Use this function to convert the input text into lower case.
Example: [[lowerCase “HELLO WORLD”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

camelCase
Use this function to convert the input text into the camel case.
Example: [[camelCase “hello world”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

kebabCase
Use this function to convert the input text into the kebab case.
Example: [[kebabCase “hello world”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

snakeCase
Use this function to convert the input text into the snake case.
Example: [[snakeCase “hello world”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

replace
Use this function to replace any character, word, or string given in the 2nd argument with the 3rd argument.
Example: [[replace “input string”, “one char, one word or string”, “with this string”]].
Note: The replace modifier can only replace the first occurrence of a character/word/string.
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

replaceAll
Use this function to replace all the characters, words, or strings given in the 2nd argument with the 3rd argument.
Example: [[replaceAll data, “one char, one word or string”, “with this string”]].
Note: The replaceAll modifier will replace multiple occurrences of a character/word/string with the same pattern.
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

uniqueItems
Use this function to remove duplicate items and return unique values from an array.
Example: [[uniqueItems myarray]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

escape
Use this function to escape HTML characters.
Example: [[escape “<data input>”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

split
Use this function to split the text into an array.
Example: [[split “data-input” , “-”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

join
Use this function to join all items of an array to make a single string.
Example: [[join myarray, “-”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

sum
Use this function to perform the addition of all numbers.
Example: [[sum 5 10 15]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

random
Use this function to generate random numbers from a specified range.
Example: [[random 1 100]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

max
Use this function to retrieve the largest number from an array.
Example: [[max inputarray]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

min
Use this function to retrieve the smallest number from an array.
Example: [[min inputarray]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

size
Use this function to retrieve the size of an array.
Example: [[size inputarray]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

now
Use this function to retrieve the current timestamp.
Example: [[now toISO]].
Options: toISO | toDate | toGMT | toUTC | toTime
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

jsonStringify
Use this function to stringify an array. JSON Stringify is a method used to convert a JavaScript object, array, or other value into a JSON-formatted string.
Example: [[jsonStringify myarray]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

findInCollection
Use this modifier to search and return the objects based on the specified criteria.
Example: [[findInCollection inputarray, “name=Jim”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

filterCollection
Use this modifier to filter an array and remove all objects that don't match the condition.
Example: [[filterCollection myarray "active=true"]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

trim
Use this function to remove whitespace characters from the beginning and end of the string. This includes tab, space, null byte, new line, and carriage return.
Example: [[trim “ Hello World ”]].
In the above example:
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

truncate
Use this function to reduce the length of a string to a specific number of characters or words using ellipses or word-break options.
Note: The boolean value (true or false) indicates whether you want to break the word. True means you do want to break the word, while false means you do not. Note that a space following the word is considered a break. For instance, with a boolean value of true, 'hello world' would break after 'hello'.
Example: [[truncate string,number of characters,”ending string”, “word break”]].
In the above example:
Note: If the limit for the number of characters is more than that of the string, the output will contain the complete string without ellipses.
Here’s a screenshot that shows the input:

Here’s a screenshot that shows the output:

This sets up the Transform action connector.