Automating SMS using Marketo Engage

Mike Stowe
RingCentral Developers
4 min readOct 3, 2023

The platform known as Marketo Engage is a major component to Adobe’s overall marketing CRM (Customer Relationship Management) platform called Experience Cloud. Marketo, according to Adobe’s website, is: “the complete toolkit to deliver winning lead and account-based marketing automation, from acquisition to advocacy.” This really means that the product is the key lead management and marketing automation component to their overall CRM offering. The product can send out newsletter, emails, social notices, and mobile notifications while tracking their effectiveness like open rates.

This tutorial will focus on how Marketo can be leveraged to send out SMS messages with the assistance of RingCentral.

Before you get started, please ensure the numbers you plan to send SMS from are registered under the appropriate TCR Campaign in the RingCentral Admin Portal. To send automated or marketing messages, these numbers must be assigned to an “Automated” campaign type. You cannot use a conversational campaign to send automated or marketing messages.

Step 1: Set up JWT token

In the RingCentral Developer platform you can create your JWT Key for use with the RingCentral Labs Marketo SMS App. Through the Marketo SMS App you will be able to use Marketo webhooks to connect to the RingCentral SMS APIs. Please note, this app is in beta and is not officially supported by RingCentral.

Once you have signed in to the platform, follow these steps:

  1. Click on your profile name to access the pull-down menu. Click on “Credentials” as shown in figure 1.
Figure 1: Access JWT Credentials

2. Click “Create JWT” which will bring up the following screen:

Figure 2: Creating the JWT key

3. Create a name or label for this JWT that will help you recognize what this token is for in the future, and enter it in the Label field.

4. Under environment, ensure Production is selected

5. For what apps are permitted to use this credential, check “Only specific apps of my choice.” You will then be prompted for a Client ID.

Figure 3: Specifying a Client ID for the JWT Key

6. Enter “fKZNy9WuNShd7aQcu6Z2sj” as the client ID and click Add App. You should now see “Marketo SMS App” listed as an authorized app for this client ID.

7. Choose an expiration date or leave blank. If you enter an expiration date, your token will stop working after this time, and you will need to create a new token before the expiration or you will not be able to send SMS through the Marketo SMS App API.

8. Click create JWT. You should now see your credentials screen.

9. Click the copy icon next to your JWT to get the full JWT code.

Figure 4: Generated JWT Key ready for use.

Setting up Marketo

Marketo uses a concept called webhooks to integrate with outside applications like RingCentral. In Marketo, find the link called “Webhooks” under the Integrations branch which is under the Admin item on the right-hand navigation menu. Create a new webhook and name it appropriately.

Enter the following values:

Description: Using Marketo to send out an SMS message

URL: https://marketo.apps.gamechanging.dev/api/sms

Request Type: POST

Template: jwt=JWT_TOKEN&fromNumber=SENDING_NUMBER&toNumber={{lead.Mobile Phone Number}}&type=NUMBER_TYPE&text={{lead.RCContactMessage}}

Request Token Encoding: Form/Url

Response Type: JSON

Important notes:

  1. Replace JWT_TOKEN with the JWT Token you generated in Step 1.
  2. Replace SENDING_NUMBER with your RingCentral SMS enabled phone number you would like to send the message from
  3. Replace NUMBER_TYPE with either “standard” if you are using RingCentral’s default SMS solution (Enhanced Business SMS) or “hvsms” if you are calling a number that has been enabled for High Volume SMS.
  4. lead.Mobile Phone Number and lead.RCContactMessage should reflect the placeholder or variable names within Marketo for the contact’s phone number and the message content that should be sent
  5. You can replace {{lead.RCContactMessage}} with a static/ generic message, or to create a custom message in your template you can use a hidden field in the form called “RCContactMessage.”
  6. Be sure to save your webhook when you are done.

Once you have a webhook created and appropriately named you can use it in your campaigns. As an example, we can create a web form within Marketo that we can use to collect some basic information from prospective clients. Items like first name, last name, email address, mobile phone number, Message, and RCContactMessage (our generic message back to them) would be the bare minimum.

When the form is submitted our Marketo information is either updated or newly created.

You can then create a campaign that gets activated when the form is submitted. The campaign, when triggered, would call the webhook that we created to accomplish the SMS portion of the tasks.

You are now ready to test and start using your new web form and campaign to automatically send SMS messages through RingCentral!

--

--

Mike Stowe
RingCentral Developers

Developer, actor, and a *really* bad singer. Fan of APIs, Microservices, and #K8s.