Skip to main content
1
Enter a descriptive title to refer to the workflow.
2
In the Description field, enter a description to remember details about the workflow.
3
Click Add Entry Condition.
4
Workflows work by filtering users coming in from real-time streaming sources. Select the real-time streaming source you want to work with from the drop-down menu. For a user journey across all your sources, select the ‘All Sources’ option.
5
From the Performed an event drop-down menu, choose the event name and attributes with which you want to define the entry condition.
NoteYou can add a maximum of ten event attribute filters. Note that it is compulsory to select the event name first. Within each attribute filter, you can add one condition or more than one condition block.
6
Filter users based on the following options:
  • Performed an event - Use this option to add an event name and attributes to be filtered. While defining a Performed an eventcondition, ensure that you specify the following items:
    • The recent duration within which that event must have been performed.
    • The number of times that event must have been performed. For example, performed add_to_cart event more than 2 times in last 4 hours.
  • Have Certain Attributes / IDs- Use this option to specify the identifiers or attributes in a condition. Under Have Certain Attributes / IDs, apart from the standard identifiers and attributes, you can also choose from the data types, Non-Customer Entity data (NCE), Objects and List of Objects.
    • The NCE attribute is displayed in the format: Join Key > Attribute name as shown in the image below. Here, the nce productint is the source field, productid is the Join Key and itemkeyprice is the attribute name. The NCE tag appears on the attributes for easy identification as shown below. For more information about how to create an NCE attribute and map it to catalogue, refer here.
  • Objects and List (Array) of Objects are attribute types within the Zeotap Catalogue that can hold a JSON object or array of JSON objects that contains one or more key-value pairs, also called properties. You can identify an Object attribute and List of Objects, along with its properties with the OBJ and LOBJ tags respectively next to the attribute names as shown in the image below. To learn more about Objects and List of Objects along with use cases, refer here.
  • Note that upon selecting the Objects or List of Objects attribute, you need to choose either ANY or ALL as the operator based on requirement.
  • ANY qualifies customers for your workflow if at least one of the Objects or List of Objects in the list meet the specified conditions.
  • ALL qualifies customers for your workflow only if all the the Objects or List of Objects in the list meet the specified conditions.
  • Have change in attributes - Use this option to track an attribute for any/specific change in its status. By choosing the Attribute Name and Any Change from the drop-down menu, you specify the attribute for which you want to track the change in its status. For example, suppose you want to keep a track on the credit score of a customer based on which you can create promotions. In this case, you can choose the Attribute Nameas Credit Scoreand choose Any change from the drop-down menu beside it. For more precise tracking, you can choose Has specific change instead of Any change, and establish the required conditions according to your needs.
Note:You can add a total of ten user attributes or calculated attributes filters. You can define an entry condition using just the attributes filter. Since Journeys works by processing events, in this case, all the events performed by the user are considered for the workflow.
7
Click Add Condition to complete the first stage of workflow creation.

Operator Supports

List Operators

OperatorDefinitionExample ConditionUser ProfileFilter throughJourney’s node
Contains AllFilters customers if their array attributecontains all of the specified valuescustomer.completed_coursesContains All ["Introduction","Advanced", "Certification"]Completed Courses =["Introduction","Advanced", "Certification" ]Yes

Integer Data Types

OeratorDefinitionExample ConditionUser ProfileFilter throughJourney’s node
InFilters customers if their integer attributevalue is one of the specified list of valuescustomer.age In[25, 30, 35, 40]Age - 30Yes
Not InFilters customers if their integer attributevalue is not one of the specified list of valuescustomer.ageNot In [25, 30, 35, 40]Age - 45Yes

String Data Types

OperatorDefinitionExample ConditionUser ProfileFilter throughJourney’s node
InFilters customers if their string attributevalue is one of the specified list of valuescustomer.preferred_channelIn ["Email", "SMS", "Push"]Age - 30Yes
Not InFilters customers if their string attributevalue is not one of the specified list of valuescustomer.subscription_tierNot In ["Free", "Trial"]Age - 45No
Ends WithFilters customers if their string attributevalue ends with the specified substringcustomer.email EndsWith ".edu"Customer email -john.smith@uni.eduYes
Not Ends WithFilters customers if their string attributevalue does not end with the specified substringcustomer.email Not EndsWith ".edu"Customer email -john.smith@uni.eduNo
Begins WithFilters customers if their string attributevalue begins with the specified substringcustomer.product_SKU BeginsWith "PREM"Customer.Product_SKU= PREMIUMYes
Not Begins WithFilters customers if their string attributevalue does not begin with the specified substringcustomer.account_id NotBegins With "DEMO"Customer.account_id= DEMONo

Timestamps Data Types

OperatorDefinitionExample ConditionUser ProfileFilterthroughJourney’snode
Between the last<Numeric Input> and<Numeric Input> Days/WeeksFilters customers basedon timestamp valueswithin a specified rangefrom current date goingbackwardscustomer.last_loginBetween the last 7 and 30 Dayscustomer.last_login= 2nd Aug ( Today = 3 aud )Yes
Between the next<Numeric Input> and<Numeric Input> Days/WeeksFilters customers basedon timestamp valueswithin a specified rangefrom current date goingforwardscustomer.subscription_renewalBetween the next 7 and 14 Dayscustomer.subscription_renewal= 11 Aug ( Today = 3 Aug )Yes
Between dates<Start Date> - <End Date>Filters customers basedon timestamp valueswithin a specific date rangecustomer.signup_dateBetween dates2025-07-01 - 2025-07-31customer.signup_date= 2025-07-05Yes
Note:After adding the entry criteria, you can apply conditional checks, delays or splits at any node in the workflow. You can also send the users to a Destination channel to activate them.
Last modified on February 26, 2026