In our previous article (part 1), we covered SMS basics and how to send SMS from Marketo using webhooks. We also briefly touched on several ways to do 2-way SMS in Marketo.
In this article (part 2), we cover the first two methods on how to handle inbound SMS: the Marketo Form Hack & Custom Gateway integration.
Marketo Form Hack - Overview
This method is relatively easy to set-up and is good for handling low-volume 2-way SMS, where there isn't too much campaign complexity.
You will need a free Zapier account. Zapier is a low-cost ($15/m), easy-to-use, on-line tool to connect apps.
Zapier supports several SMS gateways out-of-the box and can also support most SMS gateways using it's 'Webhooks by Zapier' trigger.
Limitations of the Marketo Form Hack
- Not high volume - Cannot handle high-volume SMS scenarios (e.g. 100K in a few minutes)
- Not real-time - Zapier can only process inbound SMS every 5 minutes (at best, free edition is every 15 min)
- Technical knowledge needed - Zapier requires some technical knowledge to setup
- No subscription management: managing opt-outs needs to be done manually
- Creates duplicates: will create a new Marketo lead used to communicate with that person and won't merge with an existing lead that have the same mobile number
Marketo Form Hack - How To
This method works by converting an inbound SMS to a form fill-out in Marketo.Zapier is used to monitor the SMS Gateway for an incoming SMS and then it will fill out a form in Marketo with the details of the SMS.
Setup in Marketo
Step 1: Create new Marketo form. This is a blank place holder form and doesn't require any fields.
Step 2: Write down the ID of this form. The ID of a Marketo form can be found by clicking on the form and looking at the URL in the browser. In the example below, the form id is '1007':
Step 3: Create campaign to react to an inbound SMS. The Smart List will trigger on 'Fills Out Form' and uses your place-holder form.
Step 4: The inbound SMS message will be put into the Comments field, so you can use this field in your campaign.
E.g. trigger a reply SMS, if Comments=DATASHEET
Setup in Zapier
Step 1: Create a free Zapier account
Step 2: Click on 'Make a New Zap'
Step 3: Select your SMS Gateway on the left (e.g. Twilio)
Step 4: Select 'New SMS' in 'Choose a Trigger..'
Step 5: Select 'Webhooks by Zapier'
Step 6: Select 'POST' in 'Choose an Action'
Step 7: Add your SMS Gateway credentials when asked (e.g. Twilio credent)
Step 8: Select your inbound number from the 'To Number' drop down (e.g. +14793857491).
This will ensure that you only trigger on SMSes from this number.
Step 9: Configure the 'Webhook by Zapier POST'
- URL: http://[Account String].mktoweb.com/index.php/leadCapture/save
- Payload Type: form
- Data: munchkinId=[Munchkin Account ID], formid=[Marketo Form ID], Email=[Twilio From]@mobi.me, Comments=[Twilio Body]
[Account String] can be found in Marketo under Admin->Integration->Landing Pages->Settings.
[Munchkin Account ID] can be found in Marketo under Admin->Integration->Munchkin->Tracking Code.
[Twilio From] & [Twilio Body] can be added by clicking on the 'Insert fields' button in the field.
The rest of the values can be left as default values.
Step 10: Test the Zap, Click Continue and then turn on the Zap
Now every 15 minutes, Zapier will check if a new SMS was created and trigger this flow. The form we created in Marketo will be filled out and the SMS message placed in the Comments field of that form.
In Marketo it looks like this:
As you can see, it uses a unique placeholder email +email@example.com. In this way any subsequent SMSes will be written into this new lead's Commentsfield.
Custom Gateway Integration - Overview
If you have in-house developers, a lot of cash and a lot of time, then creating a bespoke integration into a SMS gateway, such as Twilio, is an option.Here are some features you should consider building when creating a custom integration:
- Manage Unsubscribes automatically (invalid numbers, undeliverable)
- Automatically exclude unsubscribed people during SMS send
- Automatically add Opt-out text to every SMS
- Easy to use from Marketo
- Handle leads with duplicate phone numbers
- Match up existing leads in Marketo with inbound SMS
Nice to have Features:
- Easily add new Inbound Numbers
- Tracked links in messages
- URL Shortening
- Handle different timezones (don't send SMS in the middle of the night)
- Report on Deliverability stats
- Unsubscribe automatically on undelivered
Hopefully, you now have a low cost option for handling inbound SMS in Marketo and a better understanding of what your developers should build if you choose to create a custom integration to your SMS Gateway.