Automation Studio
Journeys
Journey elements
Entry and exit points

Entry points and exit

EARLY ACCESS

A journey entry point is the starting point of a journey. It determines which profiles enter the journey, and how.

Each entry point has its own configuration and criteria. Choose the entry point that matches your use case and configure the conditions for when profiles should enter.


Predefined audience

Use Predefined audience to start a journey for profiles that match selected tags, segments, or specific profiles/companies. You must define the audience before launching the journey. Depending on the entry point type, you may be able to update the audience after launch.

Predefined audience entry points include:

To compare these options, see Choose a relevant entry point.

NOTE

You can add only one Predefined audience entry point to a journey. Other entry point types can be added multiple times.

The following image shows the available predefined audience entry point types.

One-time

Use One-time for campaigns where the audience should enter once, at the time you launch the journey.

Features

The One-time entry point has the following features:

  • Audience enters at launch: All profiles that match the criteria at launch enter the journey.
  • Audience criteria is fixed after launch: You cannot change the audience criteria after launch.
  • Profiles enter once: Profiles do not re-enter through this entry point.

Example: You launch a journey for all profiles with the tag June. Only profiles that already have the June tag at the time of launch enter. Profiles tagged later do not enter.

Configure the element

Specify the audience for the journey.

Continuous

Use Continuous for always-on journeys where new profiles should enter as they meet the audience criteria, while the journey is active.

Features

The Continuous entry point has the following features:

  • Audience enters at launch and during runtime: Profiles that match at launch enter. Profiles that match later also enter automatically.
  • Predefine the audience: You must define the criteria for the audience before you launch the journey. Audience criteria can be updated after launch while the journey is active.
  • Manually add and remove audience: You can manually add or remove audience after you launch the journey, while the journey is active.
  • Multiple journey entry: Profiles can enter multiple times, depending on journey settings (re-enter and frequency cap settings).
NOTE

If a profile is already in the journey, settings such as Frequency capping or Reenter settings might prevent this profile from entering the journey again.

Example: You added all profiles that have the tag June to the audience and launched the journey. All the profiles that have the June tag at the time the journey is launched, enter the journey. While the journey is active, this tag is added to another profile. This profile is also automatically added to the journey.

Configure the element

Specify the audience for the journey.

Recurring

Use Recurring for journeys that run on a schedule (for example, weekly or monthly).

Profiles that match the audience criteria enter the journey at each recurrence, and the journey continues to run repeatedly based on the recurrence settings while it remains active.

Features

The Recurring entry point has the following features:

  • Recurring journey: The journey runs on a schedule while the journey is active.
  • Predefine the audience: You must define the criteria for the audience before you launch the journey. You can update the criteria after launch while the journey is active.
  • Manually add and remove audience: You can manually add or remove audience after you launch the journey, while the journey is active.
  • Multiple journey entry: Depending on the recurrence criteria, the selected audience might enter the journey multiple times. Example: The same person can receive the weekly newsletter every week.
NOTE

If a profile is already in the journey, settings such as Frequency capping or Reenter settings might prevent this profile from entering the journey again.

Example: You added all profiles that have the tag June to the audience and launched the journey. At the time of recurrence, all the profiles that have the June tag enter the journey. While the journey is active, this tag is added to another profile. When the journey recurs the next time, this profile is also automatically added to the journey.

Configure the element

Add audience to this entry point

Define the frequency at which the configured audience enters the journey. Choose a recurrence type:

  • Daily: Example: Reminder about appointments.
  • Weekly: Example: Weekly newsletters.
  • Monthly: Example: Monthly payment reminders.
  • Yearly: Example: Birthday or anniversary wishes.

You can adjust the recurrence to meet your requirements.

Example: You can set a monthly recurrence either for a specific date each month or for a specific weekday, such as the first Wednesday of each month.

Add audience from People

Specify the audience for the journey.

Add audience from People

The following steps show the process for the Continuous entry point. The same process applies to other Predefined audience entry points.

  1. In the entry point configuration, select Add audience from People.
  2. Select one or more audience criteria. You can select multiple options of each type. All profiles that match the selected items are included.
    • Tags: Adds all profiles that have the tags that you select.
    • Audience segments: Adds all profiles that belong to the segments that you select.
    • Person profiles: Adds all profiles that you select.
    • Companies: Adds all companies that you select.
  3. To browse more items, select View all.
  4. To find a specific item, use the search field (available after you select View all).

Choose the relevant entry point

Use the following information to choose the entry point relevant to your journey.

FeatureOne-timeContinuousRecurring
When audience enters the journeyWhen the journey is launched.When the journey is launched. After journey launch, whenever the audience meets the predefined criteria.Based on the specified interval.
Multiple journey entriesNo

A profile enters the journey only once.
YesYes
Manually add and remove audience after journey launchNoYesYes
ScenarioSingle-short, burst campaigns.

Example: Seasonal promotion.
Ongoing, automated campaigns.

Example: Appointment reminders.
Repetitive campaigns.

Example: Sending weekly newsletters.

Triggers

Triggers add profiles to a journey based on events or incoming interactions. Use triggers when entry into the journey should depend on behavior, messages, calls, or time-based rules, rather than a static audience.

Change in People profile

This entry point triggers when a person profile attribute changes and matches your configured conditions.

Example: You want to send a welcome message to end users who opt in to your communications. In the Change in people profile trigger, specify the condition that the OptInStatus profile attribute must be True. The journey is triggered when the OptInStatus profile attribute for an end user changes to True.

You can also use date-based conditions.

Example: You want to send greetings to end users on their birthdays. In the Change in people profile trigger, specify the condition that the BirthDate profile attribute is today.

Configure the trigger

In the trigger, select the attribute, operator, and the condition value. You can also use journey variables as values.

You can add:

  • Multiple criteria in a condition
  • Multiple conditions

The available operators depend on the data type of the person attribute. The following table lists the operators for each data type. You can also use person profile attributes of the List data type.

Boolean (True/False)TextNumber (Decimal, Whole)Date (Date, Date Time)
isisisis
is notis notis notis not
is emptycontainsless thanbefore
does not containless than or equaluntil
starts withgreater than or equalsince
ends withgreater thanafter
is emptyis emptyis empty
is not emptyis not emptyis not empty
is today
will be in
will be within
will be more than
was
was within
was more than

People real-time event

Use this entry point to trigger a journey when a profile records a Customer Profiles event.

Example: On your website, track the addToCart event by using Web SDK. Add the event, addToCart, to the People real-time event entry point. When an end user adds an item to the cart on your website, the event is assigned to the end user's profile, and the journey is triggered.

You can then branch your journey based on the events. Example: If the addToCart event happened, send them a follow-up message.

Use this entry point to identify how end users interact with your digital assets such as websites, how they react to your messages, and if there are any changes in their profile information.

For more information about events, see Customer Profiles.

Use cases for the trigger

The following are some examples of using this trigger.

  • In abandoned cart campaigns when you want to remind customers that the products that they selected are still in the cart
  • Offer a discount to end users who view the same item three or more times within 7 days.
  • Other advanced multi-step campaigns.

Configure the trigger

Follow these steps to configure the trigger.

  1. Define event conditions.
  2. (Optional) Map event information to journey variables.
  3. (Optional) Include historical data.

To use multiple audience segments and add the customer attributes, see Segment Audience element.

Define the conditions

Define one or more conditions that trigger the journey.

In each condition, do the following.

  1. Select the event.
  2. Select the operator for the event. You can target either customers who performed the action or those who did not perform the action.
  3. Define the criteria for the event.
  4. (Optional) If the event has properties, you can add them to the condition to refine the target audience.
Select the event

Select the event. For more information about events, see Events in Customer Profiles.

Follow these guidelines.

  • To select a custom event, you must define the event, along with its properties, in Customer Profiles.
  • For channel events, you can also select details about the communications. Example: For the Email link clicked event, select the name of the journey from which the link was sent to the end user.
  • For Product events, the person entered journey and person exited journey events are available. Use the event property fields to add the following:
    • The name of the journey or journey version (communication) where the event occurred.
    • The time when the event happened and the number of occurrences.

You can search by event name and filter by event type.

Select the operator

Select which end users you want to target.

  • Happened: Targets end users who performed the action. You can set the time and number of occurrences. Example: To trigger the journey and send a communication the third time an event happens within a 7-day period, specify the time as within the last 7 days and the number of occurrences as equals 3 times.
  • Not happened: Targets end users who did not perform the action. Example: An end user did not launch an App after a certain period.
NOTE

Do not use Not happened condition by itself. Use it only with the Happened condition. This is because while it is possible to trigger a journey when an event occurs, it is not possible to start the journey when an event does not occur.

Example: Start the journey when Event A happened AND Event B did not happen.

Define the criteria for the condition

Each event has specific fields for the criteria. Complete all the fields.

Add event properties to the condition (Optional)

If the event has properties, you can add them to the condition to refine the target audience. Select Property.

Add as many properties as required.

In the example shown in the following image, itemId, which is a property in the Item viewed event, is added as a filter.

Map event properties to journey variables (Optional)

If the event has properties, you can map them to journey variables. You can reuse these variables later in the journey.

Example: In your journey, you use the Wait for an Event element to wait for the end user to book an appointment. The event has properties such as Appointment time and Appointment name. You can save these properties as journey variables. At a later stage in the journey, you can use these variables to send the end user a confirmation message with the appointment details.

Depending on the configuration, the values of the mapped variables could change as the end user moves through the journey.

Example: Your journey uses order delivery status as a variable. As the delivery event progresses to the next stage, the delivery status variable changes from Pending to Dispatched.

You can pass list attributes to journeys. For more information, see Pass lists in events to journeys.

For more information about creating and using variables, see Map event properties to journey variables.

Include historical data (Optional)

If you select this option, events that happened before the start of the journey are included.

If all the events in the conditions already happened before the journey started, the person does not enter the journey. If the journey is recurrent, the person enters the journey only if these events happen again.

Inbound message

Use this entry point to trigger a journey when an end user sends a message that matches configured conditions, such as keywords. Depending on the channel, the end user can send the keyword as the message body, button text, or button payload.

Depending on the channel, conditions can match:

  • Message body
  • Button text (WhatsApp)
  • Button payload (WhatsApp)
  • Anything (fallback)
NOTE

You can add multiple Inbound message entry points to a journey.

Configure the trigger

Follow these steps to configure the trigger.

  1. Select the channel for which you want to create the trigger.
  2. Select the recipient.
  3. Define conditions to compare the end user's message with the value that you specify. If the condition is fulfilled, the journey is triggered.
  4. (Optional) Save the inbound message information in variables.

Select the channel

In the Channels and conditions section, select the channel for which you want to create the trigger. Communication with the end user happens through the selected channel.

The default channel is SMS. To use a different channel, delete the existing channel and select the required one.

Select the recipient

Select the channel name to open the card. In the To recipient section, select the recipient.

Define conditions for the inbound message

Define conditions to compare the end user's message with the value that you specify. If the condition is fulfilled, the journey is triggered.

You can specify multiple conditions within the entry point.

You can set conditions for the following:

  • Message body: Compares the body of the message against the condition value.
  • Anything: Use this option so that end users enter the journey even if their message contains something that is not included in the conditions. Exact matches have a higher priority over Anything. Example: You have two journeys that are waiting for a message from the same end user. In one journey, the condition is to match the exact word yes. In the other journey, the condition is Anything. The end user responds yes. In this case, the journey that matches the exact keyword is triggered.
  • Button text (WhatsApp only): When the end user selects a button to respond, this condition compares the button text against the condition value.
  • Button Payload (WhatsApp only): When the end user selects a button to respond, this condition compares the button payload against the condition value.

Use the following operators in the conditions.

  • Is equal to person attribute - checks whether the message body contains the person attribute that you select. The case is ignored when comparing the value.
  • Matches text - checks whether the end user's response matches the condition value exactly. The condition is fulfilled if the end user's response contains only the condition value and nothing else. You can specify multiple condition values. Example: Condition value: time End user's response: time. The condition is fulfilled. End user's response: timezone, time!!, what is the time? The condition is not fulfilled because the response contains additional characters that are not part of the condition value. The case is ignored when comparing the value.
  • Matches RegEx - checks whether the message body contains a regular expression pattern that you define. Ignore case (Optional): Specify whether to ignore the case when evaluating the condition. Multiline (Optional): Use this option when you want to match the message body against multiple lines of text. The validation is successful if any of the lines match.
  • Contains text - checks whether the message body contains the keyword that you specify in the condition value. You can specify a group of characters, such as a symbol or keyword, in the condition value. You can specify multiple condition values. Example: Condition value: time End user's response: time, timeframe, 3times, time!!, what is the time? The condition is fulfilled because the message contains the keyword. The case is ignored when comparing the value.
  • Contains word - checks whether the message body contains the exact word that you specify in the condition value. The word in the message body can have symbols or spaces before or after the word, but must not contain digits or other letters. Example: Condition value: time End user's response: time. The condition is fulfilled because the message contains the exact word. End user's response: time!!, what is the time? The condition is fulfilled because the message contains the exact word with either symbols or spaces before or after the word. End user's response: times, timeframe, timezone, 3times. The condition is not fulfilled because the word in the message contains additional characters that are not part of the condition value. The case is ignored when comparing the value. You can specify multiple condition values.

The system follows the above order to process inbound messages. If a condition with a higher priority is fulfilled, the journey takes the action for that condition and ignores the other conditions.

NOTE

You can reuse keywords across multiple active journeys. Example: Use common keywords such as Yes or No in multiple journeys. In cases where 2 or more journeys are waiting for the same inbound keyword from the end user at the same time, the end user's input is forwarded to one of these journeys randomly.

Save inbound message information in variables

You can also define variables to capture and store inbound message information.

Define the data that you want to capture from the inbound message. You can capture the following information.

  • Message body
  • Recipient
  • Sender
  • Message ID
  • Gateway ID

You can save either the whole or part of the information.

  • Whole text: Save the whole of the information.
  • RegExp parse variable: Use a regular expression to capture a specific keyword in the message content.

For more information, see Journey Variables.

Start incoming call

When end users call your phone number, you can add them to the journey by using the Start incoming call entry point. This entry point starts an inbound IVR call session. For more information, see IVR.

Date or Time

Use the Date or Time trigger for time-sensitive communication. The trigger uses the date or time information that is stored in the Person profile in Customer Profiles.

NOTE

This trigger uses the UTC time zone.

For messaging campaigns where timing is key, you can also use the Wait for a Date journey element.

Prerequisites

The following are prerequisites to using the trigger.

  • User profile must be present in Customer Profiles.
  • The profile must have a custom attribute that contains either date or date and time. Use this attribute in the trigger.

Create the custom attribute

Create a custom attribute in Customer Profiles. Example: You want to remind end users about their appointment. Create the AppointmentDateTime custom attribute.

Add the attribute to the Person profile and update the attribute value. To do so, use manual import in Customer Profiles in the Infobip web interface, or use the Customer Profiles API (opens in a new tab), Web SDK, or Mobile SDK.

You can now use this attribute in the trigger.

Configure the trigger

In the trigger, select the custom attribute, an operator, and the condition value.

(Optional) You can repeat the action every year. Select Do this action every year for each person. This option ignores the year in the custom attribute.

Operators in the trigger

You can use the following operators in the condition.

OperatorDescriptionExample
Is inSend a message a specific period (hours or days) before the date/time in the attribute.AppointmentDateTime is in 4 hours: profile enters 4 hours before the appointment.
WasSend a message a specific period (hours or days) after the date/time in the attribute.TrialExpiryDate was 1 day ago: profile enters 1 day after expiry.
Is todaySend a message on the date in the attribute.DueDate is today
Is tomorrowSend a message 1 day before the date in the attribute.
Was yesterdaySend a message 1 day after the date in the attribute.

External source

Add people to your communication from external sources.

Flow API

Flow API sends data from external systems, such as a web page or a CRM system, to the journey that you created on the Infobip web interface. Use this entry point to automatically add people to the journey based on external triggers. Example: An end user submits a form on your web page or there is a new entry in your CRM system. Thus, you can automate processes such as welcome messages, lead nurturing, and reminders.

You can even transfer variables over Flow API. When you create a variable in Journey, it is available to use in the Flow API trigger.

To create a journey with Flow API as the entry point, do the following:

  1. On the Infobip web interface (opens in a new tab), go to Automation Studio > Journeys.

  2. Select Create journey.

  3. Select Start from scratch.

  4. Select External source > Flow API. The entry point contains a unique URL where the end users' data is sent.

  5. To automatically add participants to the journey, do one of the following:

  6. Configure the rest of the journey as required.

  7. Launch the journey.

    NOTE

    The Add person to flow endpoint has been deprecated. When you create a new journey, use the Add participants to flow endpoint instead.

When the journey receives the data from the external systems, it does the following:

  • Updates existing profiles in Customer Profiles.
  • Creates new person profiles in Customer Profiles.
  • Adds these persons to the communication.

For technical information, see the API Developer Hub (opens in a new tab).

Existing Journey

Use the Existing Journey entry point in conjunction with Add to Journey to build powerful modular journeys. This entry point serves as the first step where users join the journey from a different active journey. Journeys that have the Add to Journey element can be selected when you create a Journey with this entry point.

SFTP Import

The SFTP Import entry point is available if you would like to import csv or tsv data into Journeys from your remote external server using secure file transfer protocol (SFTP). This is a useful approach when connecting to an external source through Flow API is not an option.

Once a connection between Journeys and your server is established, the SFTP connector checks the target folder on your server every 10 minutes. Any new files that you add to the folder since the last check are added to the target journey. Old or existing files in your server that have already been processed by the connector are not modified, deleted, or moved from the folder.

Infobip never changes the data in any way. As the csv or tsv data is hosted on your server, you always have full control of your data.

Select External Source then SFTP Import entry point when you create your journey. Define how the file should be processed in the entry point sidebar menu.

OPTIONDESCRIPTION
SFTP ServerSelect from an existing server that you use for sftp connection or create a new sftp connection to the server where you host your files for upload.

When you select Create New SFTP Connection, you should provide your server address, port, and authentication information. Test to verify that the connection has been successful, and activate it when you are ready to go.
File pathSet the path to the file(s) on the SFTP server that you want to fetch. Applicable if you have different folders for different journeys, or are using different folders for different departmental data.
Filename pattern (optional)Set an optional filename pattern to extract files that only follow a naming convention or pattern and inject them to Journey.

We use the following symbols:
- Wildcard asterisk * masks the sequence of symbols. For example, *.csv will fetch all .csv files
- Question mark (?)
to mask one symbol. For example, J???Data.csv will fetch both - JuneData.csv and JulyData.csv files
DelimiterSelect the delimiter that will be used to split values in the files. The delimiter you choose must match the delimiter used in your file.

; (semicolon)
| (pipe)
Tab
Custom (any character max. one)
, (comma)
Column MappingMap the file columns to the exact Attributes / Variables in Journey because the system does not automatically know how the file is structured.

Ensure that the values you enter here exactly match the column names in the file, and also check that any data types match too. The system will not be able to correctly 'read' mismatched data types. For example, if you were to use Date Time data type with a Date field you may see errors when you upload a file.

The following sections are available:

- Contact information: It is mandatory to have at least one column for contact information (phone number/email address).

The maximum limit for contact information columns is two - One column for a phone number and one column for an email address.

If the contact information of an entry in the csv is incorrect, then the entry will be marked as invalid and will not be processed.

In scenarios where both a correct phone number and an email address are provided in the entry, then the entry will be processed by the connector and marked as valid in SFTP Import performance reporting.

If one piece of contact information is valid and the other is invalid then the entry will be marked as invalid by the system and not processed.

However, if one piece of contact information is valid but the other piece of contact information is empty (no contact information provided), then the whole entry will be counted as valid and it will be processed by the system.

You can see the SFTP Import performance data including valid and invalid entries in the SFTP Import reporting tab of View Journey Performance.

- Person attributes: Standard/Custom attributes that will be used in Journey for personalization/segmentation. All attributes used here should be created in Customer Profiles before import.

- Variables: Used if you do not want to retain this info in Customer Profiles (session-based data). Variables used here should be created in Journeys before import.

Example import schedule

Jane uploads File_A to Folder1 at 12:00 (at this moment Folder1 only contains this file). The SFTP connector checks the folder at 12:01 and sends the data from File_A into the target journey in Journeys. At 12:02, Jane uploads File_B to Folder1 (Folder 1 now contains File_A and File_B). The SFTP connector checks the folder again at 12:03 and sends the data from File_B into the target journey (as File_A has already been processed in an earlier run).

New end users created via SFTP Import are marked with a unique identifier in Customer Profiles to show how they entered the system. This data can then be filtered to allow you to track these end users in the system.

If an account user duplicates a journey containing the SFTP Import entry point, all files that were originally uploaded in the original journey are uploaded to the new journey starting with the earliest file uploaded.

Upload history is not retained in the duplication process, so the new journey has no record of what happened in the original journey. When the new journey is activated, all file data is added again. Depending on the purpose of the journey, this may cause unexpected results. This is a risk as the warning message below explains.

IMPORTANT

For data consistency purposes, do not process the same file over SFTP Import in multiple journeys. While it is technically possible to reuse/import the same file multiple times, follow a one file, one journey policy.

If you do process the same file in multiple journeys, you may see different data outputs depending on which journey runs first.

Manage SFTP server connection

Manage the connection to your SFTP server by opening the SFTP Import entry point and navigating to the SFTP Server field.

From there you can create a new connection or edit an existing connection by selecting the server from the list and selecting the pencil icon to expand the edit connection window.

In edit mode, you can see the number of journeys that are using the connection. To ensure data integrity, you cannot save any edits you make to the server until all journeys using this connection are finished. Select the See n instances button to view which journeys use the connection.

If no journeys are connected to the specific connection, then you can edit the connection as you need. Remember to test the connection to ensure everything works properly.

NOTE

If you no longer use a server and want to delete the connection, then you can also do so in edit mode. You can only delete connections that are not connected to any active journeys.

Manage journey versions

To make changes to an existing or active journey that uses the SFTP Import entry point, you can create a new version of the journey.

When you launch the new journey version, any unprocessed records in the original journey version are forwarded to the new journey version.


Exit

When the journey is ready, the next step is Validation. Once you select Validate, if there are no errors reported, the Exit element appears automatically after each unconnected element in the journey. When it comes to IVR journeys, the exit element finishes an active call. If you validate the communication while the call is still ongoing, it ends.

Exit also helps calculate how many customers from a specific communication branch finished the journey.

The following image shows the exit element in a journey.







Need assistance

Explore Infobip Tutorials

Encountering issues

Contact our support

What's new? Check out

Release Notes

Unsure about a term? See

Glossary
Service status

Copyright @ 2006-2026 Infobip ltd.

Service Terms & ConditionsPrivacy policyTerms of use