Iterator
An iterator is a tool that helps businesses and developers to achieve complex automation that needs to be executed in a loop
It works when the data is coming to the connector in an Array format where the number of data or type of array may vary below are a few examples for better understanding ;
Ecommerce
The items in the cart may vary from one customer to another so one order may contain multiple items, here using Iterator it’s possible to extract line items and send messages to the customer to admin like how many items, item details, item total, etc
Sales Report
If a business wants to send a daily sales report via WhatsApp, Email to one or many users as below;
Executive Wise Sales Report to Manager
Manager Wise Sales Report to Sales Head
Total Sales Report to CEO
This can be achieved using Iterator if the business stores the sales reports in any of the CRM in the required format, for an example from the Zoho CRM Deals module it can extract this information and send it via WhatsApp, Email on a daily basis
Personalized Offers
If an eCommerce business wants to send a personalised offer to a group of customers who purchased from the store between specific dates with the above specific value for an example you want to offer 20% discount for customers who purchased between 1st of December to 31st of December whose total amount is more than $100
By making use of HTTP Module, Iterator, Filter, Formatter, Send Messages business can fully automate the process all without any coding
Abandoned Carts
You can setup to send periodic reminders and followup to complete the purchases by directly giving the URL to checkout to their WhatsApp
Data Sync from Any Sources
Businesses can sync the contacts periodically from any of the source like your CRM, Google Sheets etc where the system expects more than one data like sync the new contacts from your existing CRM to Picky Assist Contacts so that you can automatically send them a welcome message, enroll them into a drip campaign, start a conversation in the teambox and assign to an agent and much more
Setting Up Iterator
Every step in the connector has an option to enable “Iterator” kindly note this works only with data coming as an array format.
Select Field
This is where you need to select an array from an HTTP API response or Webhook which needs to be processed with Iterator
Limit Line Items
An array may contain many items like a search result many contain 1000 of results and you want to filter only the first 10 results and then select 10
Execute Further Steps in Loop
By default Iterator loops only the step in which the Iterator is enabled so if you wish to Iterate other steps then you need to tick this, kindly note this will create a looped action and a maximum number of execution is limited to 2000 irrespective of your array count. Use this feature carefully and only when you need the same.
Remap Subscriber for Iterator
This feature helps you to select the contact dynamically for each iterator which helps you to perform more complex filters and actions based on each contact data saved with Picky Assist, make sure you are mapping the Mobile Number field with the correct field from the array.
How it Works
The iterator simply means an object which holds an array of data, think about an excel sheet with many rows and columns you can see each column and row is named like A, B, C, and D which helps you define the relationship of a row or columns with others like AA, AB, BA etc
Important Points & Limitations
The iterator works only if the selected data is in an array format
Maximum 2000 execution will take place in a single iteration step irrespective of the number of records and actions you configured to Iterate
Only the steps and actions configured below the Iterator step will consider for Iteration so kindly place the Iterator position accordingly in a step
Kindly do a test with data containing few arrays thoroughly before making this live as a wrong configuration can lead to performing mass actions like if you configure to send WhatsApp Messages then a wrong configuration can send upto 2000 messages to a single contact
Always double-check that your configuration doesn't lead to any infinite circular loops.
It's possible to process an array of array, nested arrays by processing the iterator output in another step with the iterator enabled.
Last updated