Skip to main content

Create Flow campaign

Create Flow campaign manually

The campaign flow builder consists of five categories of nodes:

  • Entry point
  • Condition
  • Flow control
  • Message
  • Action
note

You cannot edit an ongoing Flow campaign directly. You can only pause the current campaign and create a new one from scratch if you want to target a different set of users or segments. Additionally, users who are already in the campaign cannot be removed or stopped.

To create a flow, follow these steps:

  1. On the left navigation bar, go to Engage > Flows.

  2. Click on Create flow > Create from scratch.

note

You can also reuse an existing flow using More options > Duplicate.

  1. Select the rule when users should enter the flow.

  2. Click on the Untitled workflow (the default name) and enter the campaign name.

  1. Define the journey using Flow control, Conversations, and Actions.

  2. Set the campaign goal as required. The campaign ends when the goal is achieved.

  3. Click Publish. You will see a pop-up screen asking for confirmation.

  4. Click Publish again on the pop-up screen.

note

Once the flow is published, do not modify the segment condition.

Entry rule

This is the starting point of the flow where you can configure the criteria based on which a user can enter the flow.

User events

Select this to trigger the flow when a specific user event occurs.

To set an event for which the user qualifies to enter the flow:

  • On the flow builder screen, click on the User events node.

OptionDescription
Campaign triggers when userChoose the event for which the user qualifies to enter the flow. Learn more about how to activate events and how to add custom events.
After event, campaign triggers
  • Choose Immediately to trigger the campaign right after the event has occured.
  • Choose At a specific time to trigger the campaign on a specific date for the qualified users.
  • Choose After a delay to trigger the campaign after a specific number of hours, days, or weeks from the event occured time.
    You can also define a custom property (Click Add property input) by which you want to trigger the campaign.

    1. Set the duration in minutes, hours, days or weeks.
    2. Choose when to remind - Before or After, and
    3. Enter your preferred event property in the last box.
    For example, send a notification 2 days before a subscription renewal date, Send a greeting on the customer's birthdate, send a reminder 30 minutes before the appointment, or send a thank you message an hour after the flight departure.
Campaign frequency & durationSetup when to run the campaign.
  1. In Run this campaig, choose between Once per user or Everytime when the event happens.
  2. In Start and End, set the duration of the campaign (date and time).
Target audience
  • If you want the campaign to be applicable for specific users groups, select One or more segments and choose your preferred user segments.
  • If you want the campaign to be enabled for all users, select All users.

User entered a segment

Select this to trigger the flow when a user enters a segment.

To trigger the campaign when a user enters a segment, on the flow builder screen, click on the User enters segment node.

OptionDescription
User entered segmentTriggers the campaign when the user enters a specific segment. Select your preferred segment in the respective box.
After entering segment, campaign triggersOnce a user enters the segment, choose when to schedule the campaign - Immediately, At a specific time, or After a delay.
Frequency & durationSet the campaign's frequency and duration.
Run this campaignChoose whether to run the campaign only Once per user or Every time event happens.
Start / EndChoose the duration of the campaign using the calendar boxes. It should be a future duration.
Target audienceSelect one or more segments to make the campaign applicable to users in specific segments. Select your preferred segments in the Select segments box.
[OR]
Select All users to make the campaign applicable to all users.
note
  • Segments created using the date, time, or date-time data types refresh only at midnight. For example, if you set up a campaign to trigger every 5 minutes or every hour, the segment's user list won't receive real-time updates. The user list will be refreshed at midnight.

User exited a segment

Select this to trigger the flow when a user exits a segment.

To trigger the campaign when a user exits a segment, on the flow builder screen, click on the User exited segment node.

OptionDescription
User exited a segmentTriggers the campaign when the user exits a specific segment. Select the segment in the respective box.
After exiting segment, campaign triggersOnce a user exits the segment, choose when to schedule the campaign - Immediately, At a specific time, or After a delay.
Campaign frequency & durationSet the campaign frequency and duration.
Run this campaignChoose whether to run the campaign only Once per user or Every time event happens (every time a user exits a segment).
Start / EndChoose the duration of the campaign using the calendar boxes.
Target audienceSelect one or more segments to make the campaign applicable to users in specific segments. Select your preferred segments in the Select segments box.
[OR]
Select All users to make the. campaign applicable to all users.
note

Segments created using the date, time, or date-time data types refresh only at midnight. For example, if you set up a campaign to trigger every 5 minutes or every hour, the segment's user list won't receive real-time updates. The user list will be refreshed at midnight.


User present in a segment

Select this to trigger the flow when a user is in a particular segment.

OptionDescription
User segmentTriggers the campaign only when the user is in a specific segment. Select your preferred segment in the Select segment box.
[OR]
To enable it for all users, select All users.
Select start date and timeChoose the date and time when you want to run the campaign.

Condition to trigger flow campaign

This section helps you set the qualifying condition for users to enter a specific step of the flow. You can choose the target audience based on their user property values, current segments, event occurrence, or opt-in status.

User property check

Checks if the user property matches a specific value. You can validate the value using the operators is, isn't, contains, or doesn't contain.

Is in segment check

Checks if the user is in a specific segment.

Has done event check

Checks if a specific event has occurred to the user.

Opt in check

Checks if the user has opted in for notifications of a specific channel.


Flow control

This section allows you to control the movement of the user within a flow. You can choose to wait for a specific duration before proceeding to the next point of the flow or end the flow if there are no further flows.

Wait until a specific timestamp

This allows you to set a future timestamp (date and time) for which the user has to wait at a specific point in the flow before proceeding to the next action.

  1. Drag-and-drop Wait until a timestamp to the preferred step of the flow.
  1. Click on the calendar box and select your preferred date and time. To set the current date and time, click Now.
  2. Click Ok to save.

Wait for this duration

This allows you to define a relative duration during which the user must wait at a specific point in the flow before proceeding to the next action. You can set the duration either in days, hours, or minutes.

  1. Drag-and-drop Wait until this duration to the desired step of the flow.
  1. Choose your preferred duration in Days, Hours, or Minutes. For example, setting 12 days, takes the next action configured in the flow after this duration.

End flow

Drag-and-drop End flow to the last step of your flow. However, this step is optional and signifies the completion of the flow.

  • Drag-and-drop End flow to the end of the flow.

Message (Conversations)

This category lets you configure conversations across different channels. You can also configure different actions based on the message delivery status. For example, after sending a WhatsApp notification to announce a new product launch, you can nudge users who have read the notification by sending a discount coupon after 24 hours. Increase user engagement and ROI by sending out different messages when the user reads the message and clicks on the CTA used in the message template.

Prerequisites

Before adding channels to a flow, ensure the following:

  1. The senderID/channel is configured.
  2. A template is available for that channel.

Channels configuration

Use this to send a WhatsApp notification. You can set when to proceed to the next step of the flow using Add wait upto - Immediately, Duration, or Timestamp.

  • Immediately: Proceed to the next step of the flow immediately after sending the message.
  • Duration: Proceed to the next step after a specific number of days, hours, or minutes from the message sent time.
  • Timestamp: Proceed to the next step on a specific date and time.

1. WhatsApp channel configuration

  1. In From, choose the sender's number.
  2. In To, choose the variable that contains the WhatsApp number of the user.
  1. In Templates, you can select from the following options:

    • AI generated: Choose this option to generate templates dynamically using advanced AI technology. You can configure all the necessary options, including Include emoji, Include quick reply buttons, and Consider brand guidelines.
    • Existing templates: Select this option to choose from manually created templates and choose your preferred Template. You can also see the preview of each template using the eye icon. You need to Map template variables to properties.

    Map template variables to user or event properties

    If there are variables in the template, you will see an option to map those variables to user or event properties. To map:

    a. Click on the specific Map variable option you want to configure.

    b. To map a user property, select User property and choose the desired property from the dropdown.

    c. To map an event property, select Event property, and enter the relevant event variable.

    d. To map a static text, select Static text and enter the text that you want to replace with for the variable.

  1. If your template includes media content, you can add it in the Template media section.

    • In Template media, select Dynamic to send personalized media to each user, and choose the dynamic variable that contains the media file.
    • Select Static to send a single media file for all users. Upload the static file using the +Upload option.

  1. Enable During workflow business hours to send the message only during business hours.

2. SMS channel configuration

  1. In From, choose the sender's number.
  2. In To, choose the variable that contains the mobile number of the user.
  1. In Templates, choose the SMS template that you want to use.
  2. In Template variables, map each variable in the template with user properties, event properties, or static text. For more information, see Map variables to user or event properties.
  1. Enable During workflow business hours to send the message only during business hours.

3. Email channel configuration

  1. In From, choose the sender's number.
  2. In To, choose the variable that contains the email address of the user.
  1. In CC, add the email addresses to which you want to send a copy of the email. Recipients in the CC field are visible to all the recipients of the email.
  2. In BCC, add other email addresses to which you want to send the email copy. Recipients in the BCC field won't be visible to anyone else.
  3. In Templates, choose the email template that you want to use for sending the message.
  4. If there are variables in the template, you will see an option to map those variables to user or event properties.
    In Template variables, associate each variable with a user or event property as explained here.
  5. Enable During workflow business hours to send the message only during business hours.

4. GBM channel configuration

  1. In Template, choose the GBM template that you want to use for the notification. To know how to create a template, see GBM template.

  2. If there are variables in the template, you will see an option to map those variables to user or event properties.
    In Template variables, associate each variable with a user or event property as explained here.

  3. If your template includes media content, you can add it in the Template media section. Know more about

5. Push notification channel configuration

  • In Template, choose the push notification template that you want to use for the notification.

6. Line channel configuration

  1. In Template, choose the Line template that you want to use for the notification. To know how to create a template, see Line template.

  2. If there are variables in the template, you will see an option to map those variables to user or event properties.
    In Template variables, associate each variable with a user or event property as explained here.

  3. If your template includes media content, you can add it in the Template media section. Know more about

7. Voice call channel configuration

  1. Check Enable answering machine detection (AMD) to automatically identify answering machines.
  2. In Bot flow, choose the welcome flow to be triggered (Automation) for the current channel.
  3. In From, choose the IVR number(s) through which the voice call is made. When multiple IVRs are added, calls are made from any of those numbers randomly.
  4. In To, choose the variable that contains the user identifier.
note

For a detailed help doc on how to create an outbound campaign via Voice channel, see this article.

Map template variables to user or event properties

When using templates that contain variables, you can map those variables to user or event properties, or you can choose a static text replacement for a variable. This gives you control over how you customize your template content.

To map template variables:

  1. Click on the specific Map variable option you want to configure.

  2. To map a user property, select User property and choose the desired property from the dropdown. For URLs, you can just append the user property to the configured URL.

  3. To map an event property, select Event property, and enter the relevant event variable (key name). For URLs, you can just append the event property.

  4. To map a static text, select Static text and enter the text that you want to replace with for the variable.

Add media content in your template - Static or Dynamic

If your template includes media content, you can customize how this media is sent to users based on the template type. In the "Template Media" section:

In the Template media section:

  • Select Dynamic to send personalized media to each user, and choose the dynamic variable that contains the media file.

  • Select Static to send a single media file for all users. Upload the static file using the +Upload option or paste the URL of the media file.

Define flows based on delivery statuses

This helps you to automate campaign triggers based on the delivery status of your messages to achieve more effective marketing outcomes. You can also have customizable wait times. If users don't take action within the specified period, trigger follow-up actions like reminders. This can maximize engagement and campaign effectiveness.

The following table provides the delivery statuses supported for different channels:

ChannelSupported statuses
WhatsApp/Email/ Google Business MessageDelivered, Not delivered, Read, Replied, and Button clicked.
Push notificationDelivered, Not delivered, Clicked, and Impression.
SMSDelivered, and Not delivered.
VoiceAnswered, Not answered, Busy, and Failed to connect.

The following table provides the different wait time supported:

Wait timeDescription
ImmediatelySelect this option to trigger the next action in the flow or launch a campaign instantly without any delay when a specific delivery status is identified.
DurationChoose this option to set a custom time duration before triggering the next action or campaign. For example, you can wait for 1 hour, 1 day, or any other specified time frame to allow users to interact with the message before proceeding with the campaign.
TimestampChoose this option to set a specific date and time for the next action or campaign to be triggered.

Use cases:

Below are some examples that illustrate how to effectively use the feature:

  • Delivery Status: Delivered:
    Use Case: After a promotional message is delivered, wait for 24 hours to see if the message is read by any of the recipients. If the user does not read the message during this time, send a reminder to prompt their attention and increase the chances of interaction.

  • Delivery Status: Read:
    Use Case: After a message is read by a user, wait for 24 hours to see if the user interacts with the message using the call-to-action (CTA). If the user does not take any action, even after the 24-hour period, send an automatic reminder to re-engage them with the content and encourage them to respond to the CTA.

  • Delivery Status: Replied:
    Use Case: After a user clicks on a button in the message, wait for 12 hours to see if they complete the desired action, such as signing up for an event or making a purchase. If the action is not completed, send a follow-up message with more information or a special discount to entice them to complete the action.

  • Delivery Status: Button Clicked:
    Use Case: If a user clicks on a survey link but does not complete the survey, wait for 48 hours to see if they return to complete it. If no response is received, send a gentle reminder with a shortened survey or an incentive to increase survey completion rates.


Action

This section helps you configure other actions in the campaign's flow, such as adding users to segments and making API calls.

API call

Use this to call any internal or external API in between flows. For more information about APIs, see here.

Update user property

During Flow campaign interactions, you can update user properties. This includes user details such as subscription status, preferences, or gather other relevant information. This enables you to create highly personalized experiences for each user, enhancing user engagement and enriching your user data for better insights and decision-making.

note

You can only update custom user properties and the tags property. However, modifying standard user properties, which are available by default, is restricted to avoid any unintended changes that might impact the user experience in a Flow campaign.

To update a user property in a flow campaign:

  1. In Action, select Update user property and drag it to the desired position in the flow.

  2. In Property name, choose the custom property that you want to update.

  3. In New value, enter a new value that you want to assign to the selected property.

  4. For a Date property, you will see two options:

    • Select Real-time value to set the date when the user reaches the step in the Flow campaign.
    • Select Custom to set a static date of your preference.

Add goal

A goal is an activity that a user performs after receiving the campaign message. You can also set the objective of a flow campaign. Once a user achieves a goal, the flow automatically exits the user from the campaign.

For example: Product promotion:

  1. E-commerce Campaign:

    • Description: Promote new products via messaging.
    • Goal: Track clicks on product links.
  2. Event Registration Campaign:

    • Description: Encourage event sign-ups.
    • Goal: Track clicks on "Register Now" button.

To add a goal:

  1. In the campaign flow builder, click Add new goal to flow.

  2. In Name, enter a name for the goal.

  3. In Event, choose the event that you want to associate with the goal. See how to add events.

  4. In Goal validity, set the validity of the goal using any of the following:

    i. Choose Duration to set the validity of the goal in Hours, Days or Weeks and enter your preferred value in the respective text box.

    ii. Choose a Timestamp to end the validity on a specific date and time. Select your preferred date and time using the calendar box.