How to Integrate SmartFlows and Engage

This guide describes how to use SmartFlows and Engage together. Learn more about:



Engage is a simple and effective way to manage, execute, and measure SMS and voice campaigns with your contacts. This ready-to-use application allows you to focus less on the technical side of building campaigns, and more on engaging with your target audience.


While SmartFlows lets you build custom flows, Engage lets you easily execute them. By creating your flows in SmartFlows and using Engage to send outbound communications, you have the ability to connect with your audience in an effective and personalized way.


Using SmartFlows and Engage Together

Follow the steps below to connect your SmartFlow with an Engage campaign:

  1. Build, save, and deploy your flow in SmartFlows.

    Note: Your flow must begin with the Campaign trigger action.

  2. Open Engage. You’re automatically brought to the Campaigns page.

  3. Click the Add New Campaign button above the table. The New Campaign form opens.

  4. Fill out the form. In the type of campaign section, select Custom, then select your saved flow from the drop-down list.

  5. Save and publish your campaign.

  6. Back on the Campaigns page click the Run button to manually start your campaign, or it will run according to the assigned schedule. When your campaign runs, it will initiate the flow you built.


For a more in-depth guide about building campaigns in Engage, check out the Engage Quick Start Guide.


Sample Flow and Campaign

Say you would like to send out an appointment reminder phone call. This is just one way you could configure your flow and campaign:

  1. Build your flow:

    • Campaign: This action triggers, or kicks off, your flow. When your Engage campaign runs, your flow will begin.

      • In the Expected Input section on the Configurations Panel add in the variables we will pull from the campaign list later:

        • In the Name field type, “$FIRSTNAME”, then click the plus sign button. Repeat for “$APTDATE” and “APTTIME”.

          The Inputs section of the Configuration Panel for a Campaign trigger action

    • Dial: This action calls the folks with an appointment coming up.

      • In this example, we will configure the Inputs in the Configurations Panel as follows:

        • # To Dial: This is the recipients number (i.e., the contact number for folks with appointments coming up). Since there will be multiple recipients we will use a variable ($ANI) and the actual phone numbers will come from our campaign list below.

        • Send DTMF After Answer: Leave blank

        • Specify From #: This is the number that would appear on the caller’s Caller ID. Click the magnifying glass icon and choose the variable $DNIS. The actual phone number will come from your campaign form (below).

        • Timeout (sec): Leave default value 45.

        • VM Detection: In this example we don’t want to leave a voicemail if the recipient doesn’t answer so we will leave it unchecked.

          The Inputs section of the Configuration Panel for a Dial action

    • Play Audio: This action plays a message with the upcoming appointment details.

      • Connect the Play Audio action to the On Answer exit port of the Dial action (i.e., the first exit port).

      • Click Configure Audio in the Configurations Panel. The Audio Settings pop-up opens.

      • From the Channel ID drop-down list, select “DIAL_2.CHANNEL_ID”.

      • You can include either a Text-to-Speech (TTS) message or audio file. In this example we will add a TTS message. Make sure Audio Text (TTS) is highlighted on the right side of the pop-up.

      • TTS is fully customizable, but we will use the default flow settings and include the following message “Hi $FirstName, this is a reminder of your appointment on $AptDate at $AptTime. To change your appointment, or if you have any questions, please give us a call. Have a great day!”

        • $FirstName, $AptDate, and $AptTime are the variables you added to the Campaign action Expected Inputs and will come from your campaign list below. Pull those into your message through the Available Variables section of the Audio Settings.

          The Audio Settings pop-up window with the Available Variables section expanded

      • Click the blue plus sign. Your message appears in the Intro section on the left of the pop-up.

        The Audio Settings pop-up window with text-to-speech input added to the introduction

      • Exit the Audio Settings pop-up.

    • Hang Up: This action ends your workflow.

      • Connect the Play Audio exit port to the Hang Up action. No configuration is needed for this action.

      • Connect the Dial action exit ports for No Answer, On User Busy, and On Voice Message to the Hang Up action.

    Your flow will look something like this:

    A sample flow starting with the Campaign trigger action

  2. Update the flow Name to “Appointment Reminder Call”.

    • Click on a blank space within the board to show the overall flow Configurations Panel on the right.

      The overall flow level configurations panel

  3. Click Save. After you see the “Saved Successfully!” message in green, click Deploy. The “Deployed Successfully!” message appears.

  4. Navigate to Engage and click the Add New Campaign button.

  5. Fill out the New Campaign form:

    • Campaign Name: We will name this campaign “Appointment Reminders”.

    • Description: Since our campaign name is descriptive and unique, we can leave this blank. But if you have many similar campaigns, we recommend adding a description to help differentiate between them at a glance.

    • Add your list: The list determines the campaign recipients, and is where we will get all of the data for variables included in our flow (i.e., $ANI, $FirstName, $AptDate, etc.).

      • In this example, we will create a new list. Click the “upload” link and the Create & Upload New List pop-up opens.

        • List Name: “Upcoming Appointment Reminders”.

        • List Description: Since our list name is descriptive and unique, we can leave this blank. But if you have many similar lists, we recommend adding a description to help differentiate between them at a glance.

        • Select your CSV list of contacts to be uploaded: In this example we will click the Download CSV template link and create a new file. Make sure your file includes all the data you want to pull into the message, and the column headers match your variables (e.g., include a column called “FirstName” with each recipient’s first name to match the $FirstName variable). You’re list could look something like this:

          Sample list headings and one row of data

        • Once your new CSV file is completed and saved, click Choose CSV file and select your file.

        • The headers from your CSV file are automatically extracted and you have the option to use those, or create new ones. In this example, click Use existing headers.

        • Click Submit at the bottom of the pop up. Once you see the “List saved successfully” message in green, exit the Create & Upload New List pop-up.

    • Your list, “Upcoming Appointment Reminders” is selected and the Method of Contact and Split Contacts by Timezone fields appear.

      • From the Method of Contact drop-down list select “ani”.

      • Click the Split Contacts by Timezone check box. This ensures your recipients are called at the appropriate local time (based on area code).

    • Select the type of campaign: Click Custom, and select “Appointment Reminder Call” (the flow you created above) from the drop-down list.

    • Skip over the campaign content field. You already configured that in the Play Audio action above.

    • Decide when you want to run the campaign: You can run your campaign manually or based on a set schedule. In this example we will run the campaign manually, so the default selection doesn’t need to be updated.

    • Skip over the number of retries field. This is only available for campaigns run on a schedule.

    • Assign the number that you want to send your campaign from: Click the magnifying glass icon to choose a number from your inventory (this will be the $DNIS variable assigned to the Dial action above).

  6. Click Save Draft and Publish.

    • If you're ready to run your campaign and kick off the flow immediately, click the Run Campaign button on the Campaign form.

    • You can also run your campaign later by clicking the Run button the Campaigns page.

    • A confirmation message appears. Click OK.


Congratulations! Your flow and campaign are fully integrated and any time you click the Run button, your flow will begin.



  • Your SmartFlow must begin with the Campaign trigger action. This is what links your flow and the Engage campaign.

  • You must build and deploy your flow in SmartFlows before configuring your Engage campaign so that your flow is an available option in the Custom campaign drop-down list.

  • We recommend giving your flow, campaign, and campaign list unique names so that they are easy to identify and link together.

  • If you make any changes to your flow in SmartFlows, you also have to update your Engage campaign. Open your campaign and reselect your Custom flow from the drop-down list. Save your changes and publish. Your campaign is now up to date.

  • If you want to test out your flow and campaign before sending calls to actual customers, assign a test list to your campaign with just one phone number that you own (e.g., your cell phone). Save and publish your campaign, then click Run. You should receive a call to the number included on your list, and can experience the flow yourself. Then you could tweak the message included in your Play Audio action, or add additional actions to your workflow as needed. Once you’re happy with the flow experience, remember to update your campaign list, save, publish, and run!


For more detailed information about using SmartFlows or Engage, check out: