The Iterator tool can convert an array of objects (strings) into separate elements.
"Stings" is an unlimited set of data within an entity. For example, a deal in a CRM system has items of goods. Let’s imagine that one deal comes to Albato, while it can have an unlimited number of goods. Each item of goods has its own unique fields: name, quantity, and so on. All these fields come in one array.
Each item of goods is a “String”, and all of them together are called “Strings”.
In automation scenarios, the "Iterator" tool will process each element of an array separately. It means that steps which are in the automation scenario after the "Iterator" tool will run as many times as you have received elements in the array. It is also possible to set other Albato tools to each entity.
What problem does the tool solve?
Let’s suppose that we want to create a new item in Inflow (inventory management platform) copying each item from the Bitrix24 deal. But we don’t know in advance how many goods will be in the deal.
We will use the Iterator tool to create as many goods in Inflow as there are goods in the Bitrix24 deal. It will convert each deal into separate items of goods, so we will be able to process and save each item separately.
We will add the Iterator tool before the action step - Inflow “New Item”. This step will run as many times as the number of goods the automation will receive in the Bitrix24 deal.
As a result, if we receive 5 goods in a deal, the Inflow “New Item” action will run 5 times, and 5 items in our Inflow account will be created.
How to set up Iterator
Use case example with CoinMarketCap and Telegram
Our goal: receive data by Telegram message on price change for a range of cryptocurrency. Set up a filter to send data only if the price has changed by more than 1%.
First create an automation with CoinMarketCap and Telegram.
Next click the + button to add a tool.
Pick the tool from the list.
Specify the string from the CoinMarketCap step, which needs to be converted into separate elements - rates of one currency.
In the Telegram step, we are specifying variables that will be sent in a message.
Done! Now we will receive Telegram messages with new data.
CoinMarketCup rate change data comes in complicated format - as numbers.
This is where the Albato Math Operation tool comes in handy. In its settings, we specify where to apply the mathematical operation, the "rounding type" and the number of characters after the decimal point.
Now this math operation is applied to each element in the array, and we get the data in a readable way.
The last step is to add a delay before the "Math operation" tool to send a Telegram message only if the changes are more than 1%.
Add two conditions using the "OR" setting.
Save the settings. Now we can start this automation. Data will come only for those cryptocurrencies that have been changed for the last hour by more than 1%.