A Flow is primarily used to send outbound communications. You can also use a Flow to export recipient data, update your Paid Media audiences, and update data fields. They are the foundation of how you deal with data in Agillic.
Flows are made up of a series of Steps. This means that a single Flow can contain different sorts of communications, leading your recipient down campaign paths dependent on whether they fit the Flow logic.
- How Do You Configure Your Flows?
- How Do You Test a Flow?
- Predicting a Flow
- How to Read the Prediction
- How to Read the Prediction for a Flow Using One or More SMS Steps
- Deactivating a Flow
- What is a 'Flow Execution ID' in Agillic
How Do You Configure Your Flows?
You build your Flows by entering the Flows module. Click on the icon in the top left corner and then select 'New Flow'. You now have your very first Step which you can alter and add as many Steps as you want to.
When configuring your Flow, you will see a series of panels to the right that control different settings. These settings allow you to control how and when a Flow should execute.
The Flow Settings, with the Schedule settings panel expanded
Target Group Panel
This panel controls which recipients go through your Flow. Click on the drop-down menu and select the Target Group you would like to assign to the Flow.
Global Target Group checkbox - Allows you to use both a Target Group and a Global Target Group to locate the right recipients. This means you can set broader rules on who should be included without having to reuse the same conditions in standard Target Groups. Recipients must belong to both Target Groups to go through the Flow.
Adding a schedule to a Flow means you can set whether you want to repeat or not. There are a number of available scheduling options.
One time - An execution in the future.
By the minute - Every x minutes between hh-hh. There's also the option to run only on weekdays.
By the hours - Every x hours between hh-hh. There's also the option to run only on weekdays.
Daily - Every x days at hh-mm.
Weekly - Repeat every x weeks on x days, starting at hh:mm.
Monthly - Repeat every x months starting at DD hh:mm. Or, you can repeat it every x months on the first, second, third, fourth, or last DD hh:ss.
Yearly - Repeat every year on MM-DD hh:ss. Or, you can repeat every year on the first, second, third, fourth, or last DD hh:ss.
You don't need to add a schedule to a Flow if you're using a Trigger, such as an Event taking place.
It's important to test and verify your Flows if you schedule them. This is because another Agillic User may Publish the Flow to Production whilst you're working on it. If this happens, the Flow will execute.
Send to recipients based on their time zone checkbox - Allows the Flow to execute at different times based on the recipient's time zones. You must enable this feature in the Settings module to use it.
Only execute on Production checkbox - Ensures that a scheduled execution won't also execute on Staging.
This is where you can set Triggers on your Flows, meaning that specific Events trigger a Flow to execute. For example, you might set a Trigger so that when a recipient makes their first purchase, changing their purchases counter to 1, an email is triggered. Select the plus icon to add a trigger to a Flow.
Note that a 'triggered' execution is an alternative to executing for a Target Group. It is rarely a good idea to implement both on the same flow. A recipient entering the flow based on a 'trigger', will not be checked against a Target Group attached to the root step of Flow.
This is where the additional settings for the Flows can be altered.
Allowed entry dates:
Date picker allows you to limit the time in which the Flow can execute. This feature is most commonly used for batched execution when you're sending a large number of communications at the same time.
Max recipients per execution:
Specify the maximum allowed number of recipients in a single execution. When it reads 0, that means the execution can have an infinite number of recipients per execution. If this is set, you can choose in what order recipients enter the Step in the 'Ordered by' dropdown menu. Again, this is normally used for batch executions.
We advise you to take advantage of the 'Ordered by' feature or the 'Max repetitions per recipient' to avoid recipients being included in a batch more than once. That is to say, if 'Ordered by' is left unconfigured, a random selection will occur for each batch. Therefore, a recipient can be randomly selected for a batch more than once.
Max repetitions per recipient:
Specify the maximum number of times a recipient can enter a Flow. When it reads 0, that means they can enter an unrestricted number of times.
Helps avoid recipients from getting stuck within a Flow by setting a time frame of how long a recipient can stay in the Flow. They might get stuck if, for example, a Waiting for Activity Step is used.
Allows you to adjust the priority of flows.
Every flow created in Agillic will by default have the execution priority set to 'normal'. You as a configurator then have the option to adjust the priority of the flow(s).
Generally this execution priority should be raised in two scenarios:
A situation where the content itself is very time sensitive, and needs to prioritised over all other scheduled outbound communication.
- If Flow A (normal priority) and Flow B (very urgent) are scheduled to send at 12:00, Flow B will be completed first.
A Point of Sale situation (triggered flow), where immediate content delivery is required.
- Event A is configured to trigger Flow C (normal priority). The recipient triggers Event A, which can take up to a few seconds to execute the flow for this recipient.
- Event B is configured to trigger Flow D (urgent/very urgent priority). The recipient triggers Event B which, due to the priority setting, will be executed nearly instantly.
Utilise this setting wisely, as it to prioritise the important flows, as marking large quantities as 'urgent/very urgent' will a diminishing prioritisation effect.
Please note that Subject Line Tests and Export Flows behave slightly differently due to their nature, and in general do not required Execution Priority.
Continuous Target Group evaluation checkbox:
If checked, recipients are re-evaluated when they reach each Step. This means that if a recipient is no longer a member of a Target Group when they enter a new Step, they will be kicked out of the Flow.
How Do You Test a Flow?
There are several ways that you can test a Flow to make sure that it works properly.
Test via Manual Execution
The most common way of testing a Flow is to apply a Target Group consisting of only your own test recipients and then manually executing the Flow on Staging. This way, it won't be sent out to any real recipients.
Test via Redirect
If you wish to test the Flow with multiple test recipients at the same time, we recommend that you use the redirect function. This allows you to redirect all the Emails or SMS from the Flow to a single inbox or phone, no matter what contact information the test recipient may have.
Test via Flow Investigator
An alternative way to execute the Flow for a single recipient is by using the 'Flow Investigator' tool. This way, you also have the added benefit of skipping any waiting Steps in the Flow. This allows you to quickly test the Flow without waiting the same amount of time as the recipient would.
Predicting a Flow
Predicting a Flow allows you to see how many recipients will be affected by the settings of a Flow if it was executed immediately. The prediction will evaluate both the Target Group and any extra settings of the Steps. For example, it checks if a recipient can receive an email in an email Step.
If there is a max number of recipients set per execution with no sorting, the prediction may not be accurate. Instead, it will take a random group of recipients from the Target Group when predicting.
The predictions are sample-based. This means we automatically divide the calculations of larger Target Groups into multiple, smaller calculations. This gives you much faster initial predictions as there’s no need to wait for all recipients to be counted before you see the numbers in the interface. So, if you’re working with large and complex Target Groups, this one will definitely come in handy!
How to Make a Prediction
- Log into the Staging environment
- Open the Flows module
- Navigate to your Flow in the folder navigator
- Double click to open your Flow in the work area
- Click the Prediction icon in the Flow toolbar which resembles a crystal ball
- Select which environment you want to predict for from the menu
Your Flow has now been predicted and is ready for you to verify the numbers. The numbers will appear for each Step in the Flow.
If you have more than 250,000 recipients, you'll need to hover over the Steps to see the progression of the prediction.
A predicted Flow with 8 recipients in the Target Group and 4 recipients going through the second branch of the split-step
How to Read the Prediction
The Prediction will generally display three different counts for a Flow. These represent different information about your Flow.
Recipients Who Can Complete the Flow
This figure is shown as the number 12 outside the parentheses in the image above. This indicates that out of the total target group size of 15, 12 recipients will enter the Flow when initiated.
This number can be affected by the two settings: 'max repetitions per recipient' and 'max recipients per execution'. If you see discrepancies between the two numbers, this is usually because recipients are already in the Flow or the recipients have already gone through it.
Recipients in the Target Group
This figure is shown as the number 15, inside the parentheses in the image above.
This is strictly a Target Group count based on the Flow settings. By comparing this count with the first number in the Prediction, you will be able to see if some of the recipients are already in the Flow or might be blocked.
Recipients Who Can Complete Each Step
Shown as the number 12 in the image above, on the highlighted steps.
This number accounts for how many of the incoming recipients can complete the step. A recipient may not be counted in a Step because of the following reasons:
- The recipient does not match the conditions listed in the Conditions panel
- The recipient does not match Conditions list in a loop
- If a recipient is not considered a valid recipient for the type of Step
How to Read the Prediction for a Flow Using One or More SMS Steps
When predicting a Flow using one or more SMS steps, the Prediction will include additional information. This is the distribution of different country calling codes and how many message parts the send out will consist of.
An SMS Flow Prediction
Amount of SMS Message Parts in an SMS Step
This figure is shown as 3 in the image above for the Step 'smsB'.
This number describes how many SMS message parts will be sent from the SMS Step if you execute the Flow immediately. By clicking on the number, you can also gain insight into how the SMS message parts are divided across the different country calling codes.
Amount of Total SMS Message Parts
This figure is shown as 4 in the image above.
This number describes how many total SMS message parts would be sent out if you executed the Flow immediately. This number is the sum of all SMS Steps in the Flow. By clicking on the number, you can also gain insight into how the SMS message parts are divided across different country calling codes.
A total overview of SMSs sent per country for a SMS Flow
Unlike a Flow Prediction which is a future estimation of the Flow execution, the Flow Status feature shows you an approximate distribution of recipients currently in the Flow. This is particularly useful for Flows containing 'Wait for X' steps, Loops, or any steps with a retry mechanism. Please note, that deleted recipients might still count as being in the flow when doing a flow status.
Flow Status on Production, showing 7 recipients currently in the Wait for Period step 'Wait for delcared ...'
Deactivating a Flow
When you deactivate a Flow, the entire Flow stops. It might be necessary to deactivate a Flow to stop a misconfigured send out or to put it in an inactive state so you can investigate later, rather than deleting it entirely.
Recipients are kicked from the Flow when they enter a new Step or complete a Loop.
The following is applicable to a deactivated Flow:
|Stops the current send out||Yes|
|Applies to the entire Flow||Yes (Can also apply to Steps)|
|Triggered recipients will be added to Flow||No|
|Will remember scheduled executions when resumed||No|
|Applies to Production only||No|
|Flow will continue for saved recipients when resumed||No|
|Current recipients are still in Flow||No|
|Subject Line Test will continue when resumed||No|
How to Deactivate a Flow
- Log in to the Staging environment
- Open the Flows module
- Navigate to your Flow in the folder navigator
- Double click to open your Flow in the work area
- Click the Deactivate icon in the Flow toolbar
All Steps in your Flow will turn dark grey and an icon next to your Flow's name will say 'Deactivated on Staging'. You have now deactivated your Flow. To deactivate the selected Flow on Production as well, you will need to Publish to Production. If you can't do this, deactivate the Flow first on Staging and then on Production. This means the Flow will definitely stay deactivated the next time you Publish.
A deactivated Flow named 'ab_test
What is a 'Flow Execution ID' in Agillic
The Flow Execution ID enables you to uniquely identify a flow execution. When enabled, the Flow Execution ID will be added as a column to Activity Exports.
You can enable exporting 'Flow Execution ID' globally by:
- Navigate to the 'Settings' module
- Click on 'Export' under System Settings
- Check 'Include Execution ID in Activity Exports' under Activity Exports
Enabling the inclusion of the Execution ID column in Activity Exports
With the Flow Execution ID, you are enabled to easily analyse the performance for unique execution in a third-party data analysis tool.