Dynamic Tasks
NEW FUNCTIONALITY - COMING SOON!
CONTENTS
How to write a dynamic task rule
What are dynamic tasks?
Dynamic tasks are a type of advanced logic rule that allow tasks, sections, or answer options to be shown or hidden based on certain conditions. These rules can reshape the mission structure based on information from the place, user, or incoming task responses. Some examples of when to use a dynamic task include:
- Show tasks to a specific type of user and hide the same tasks from other types of users
- Show a range of tasks that have become applicable based on a task response
- Hide a section that is not applicable at a specific place
- Hide a range of multiple-choice or multiple-select answer options that are no longer applicable based on another response given by a user
How to write a dynamic task rule
In the advanced logic text editor, rules will be grouped under the dynamic tasks category if they leverage SHOW or HIDE in their action statement.
To write a dynamic task rule:
- Navigate to the mission builder logic tab:
- Review the mission structure in the structure panel and use applicable abbreviations to reference a task or section within a rule. In this example, Section A (SA) contains a yes/no task that asks whether or not any displays exist in the account. Section B (SB) pertains to displays and is irrelevant if no displays exist. A dynamic task rule can hide SB if Task 1 (T1) is answered No.
Rules must contain a condition, action, and event. The example rule is defined as follows:
Condition | Action | Event |
IF NOT SA.T1 | THEN HIDE SB | ON RESPONSE |
Translation: If Task 1 (T1) in Section A (SA) is answered ‘No’, hide Section B (SB) when the response to T1 is submitted.
For more information on advanced logic rule syntax, click here.
Dynamic task use cases
Use Case | Example Rule Syntax | Mobile User Experience |
Show/hide task based on user property | IF ALWAYS user.example_property like ‘Example Value’ THEN HIDE Tx ON START | A user whose property ‘example_propety’ contains the string value ‘Example Value’ will not be shown Task x from the start of the Mission. |
Show/hide mission section based on place property | IF ALWAYS place.example_property like ‘Example Value’ THEN HIDE Sy ON START | A user submitting a mission response at a place with an ‘example_property’ value containing the string ‘Example Value’ will not be shown Section y from the start of the Mission. |
Show/hide a range of tasks based on a task response | IF Tx > 5 THEN HIDE Ty-Tz ON RESPONSE | If a user submits a response to Task x with a value greater than 5, Task y and Task z will not be shown to the user after the response to Task x is submitted. |
Show/hide an answer option based on a task response | IF Tx like ‘Example Value’ THEN HIDE Ty.Ax ON RESPONSE | If a user submits a response to Task x that contains the string value ‘Example Value’, Task y's answer option x will not be shown to the user after the response to Task x is submitted. The other answer options available on Task y will be shown to the user. |
In these examples, show can be used as the action to enact the inverse of the described behavior.