How to add two-way SMS to your Marketing Cloud campaigns with Process Builder
Marketing Cloud has a native product for SMS messages called MobileConnect, which is a great built-in way to combine SMS messages with other types of marketing messaging. Combined with Ad Studio, you can even create a Journey that sends your subscribers an email, an SMS message, and a Facebook ad either in tandem or based off of their current and past behaviors.
There is a limitation, though. MobileConnect only allows you to broadcast an SMS and craft auto-responses if the subscriber replies. So, a lot of marketers look to other solutions for two-way SMS. By two-way SMS, I am referencing the ability to have a back-and-forth conversation with the subscriber.
For example, let’s imagine that you are a company that provides dog walking services. You would like to create a journey that blasts out a SMS message with a coupon code for unengaged subscribers as a way to get them to use your service. However, you don’t want to just blast out a coupon code. You also want to schedule a dog walker for them over SMS, rather than directing them to your app or website.
So, now we have a use case for both Marketing Cloud Journeys and two-way SMS. You want to blast out an SMS nurturing campaign and also allow for a back-and-forth conversation to continue on.
There are several third-party SMS companies out there. The conventional solution to including a third-party service in a Journey is to spend at least 30 hours of development time creating a Custom Journey Builder Activity, which requires creating a web app that takes the Journey data as an input and sends the SMS request out as an API call to the third-party SMS app.
However, if your Marketing Cloud is connected to Salesforce core, you can leverage Process Builder to achieve this integration in a fraction of the time with zero coding resources.
First, you want to choose a third-party SMS service that has an app in the Salesforce AppExchange and leverages Process Builder to trigger messages. Both TextUs and Twilio have apps on the App Exchange, and both have a method of using Process Builder to send SMS messages. I am sure there are even more options out there. For this example, we are going to focus on TextUs, though Twilio uses the same method to leverage Process Builder.
TextUs has two versions: TextUs for Salesforce, and TextUs Next. TextUs for Salesforce is what you will find in the AppExchange and the implementation guide on that listing has a nice step-by-step guide to deploying SMS messages with Process Builder. TextUs Next is not an the AppExchange, but is available from the company. It is also not yet well documented, so the below screenshot applies to TextUs Next, which I have built and tested with the guidance of one of their developers.
TextUs for Salesforce TextUs Next both come with an Apex class that is installed with the managed package. When you build out a process, you will be calling that Apex class and sending it values that it needs in order to send a message to the correct person.
You can trigger the process by creating a record or changing a record. These are both actions that can be triggered from Marketing Cloud’s Journey Builder. For this example, we are going to create a record on a custom record type called Marketing Cloud Message.
The first step is creating a custom object in Salesforce with the following fields:
The Message Text is what you are going to want the SMS message to say. The Phone Number is for the recipient. The User Phone and Email fields are who the text is coming from, since TextUs allows text messages to come from specific users (as opposed to a generic short code, which is what is available from MobileStudio).
Now you are going to go to Process Builder and create a process that is triggered when a new Marketing Cloud Message record is created. You will then include an Immediate Action with an Action Type of Apex and the Apex Class Next Send Texts to Mapped Recipient if you have TextUs Next. If you have TextUs for Salesforce, the class is called tubl__SendMessageInvocableAction. If you are using Twilio, the class is called Twilio Send SMS Message. You will then populate the relevant fields as required by the SMS service with mapped fields from the record that you created.
The next step is going to be incorporating the creation of these outgoing messages into Marketing Cloud. In Journey Builder, you are going to start by creating a Multi-Step Journey. The Activity that is going to create the message record is generic Object Activity at the bottom of the canvass. This activity allows you to select any object in your Salesforce Core universe.
After dropping this activity onto your canvass, you are going to search for the Marketing Cloud Message object and select Create New from the next screen. You will then see all of the fields you created when you built the object in Salesforce.
You will map these fields to the information that will make up message. For the Message Text field, you will write out the content of the SMS. For the Phone Number field, you will select the contact’s phone number from either the Journey Entry source, or the Contact’s Marketing Cloud record, if it is appropriately mapped to the Marketing Cloud Contact model. You will also need to map any additional attributes required as Apex Variables. For example, TextUs Next requires the User Phone and User Email to be mapped as variables. Twilio only requires the Message and Phone Number.
And that is it. This can be the only activity in the journey, or you can build more around it. After the SMS goes out, any responses will be handled in the third-party platform, whether that is within Salesforce or on the service’s own platform.