Building SMS to Email Integrations
Learn how to bridge the gap between SMS and email to drive better customer experiences.
Good afternoon everyone. My name is Tyler and I’ll be moderating the webinar today. First off, I just wanted to welcome you all for taking the time to join our 15 minute webinar, Integrating Text Messaging into your Business Email Inbox for A Better Customer Experience. Now, I’d like to introduce Brad Roldan. Brad is our Director of Sales Engineering and a Messaging evangelists here. Brad has a vast knowledge of Voice and Messaging APIs and he’s been utilizing those at Bandwidth for the past six years where he’s led our product development team, and he also helped launch our application platform. I’m going to hand everything over to Brad for our overview and the demo.
Why The Need For A Multi-Purpose Inbox?
Alright, thanks Tyler. And welcome everyone, to this afternoon’s webinar. I want to start off with a quick statistic that I thought would be relevant for our audience here. So, we came across this interesting stat: that 74% of consumers use three or more channels to access customer service. So you look at that number and you think, oh my gosh, that’s a lot of channels to engage with, right? So, we’re actually not here to talk about how to unify the view of all of those channels. What we’re actually here to talk about is how to add a new channel through your existing framework that you have in place. What we mean when we talk about adding a new channel, we’re actually talking about SMS, it’s probably the most common communication channel in the world.
Everyone has it on their phones today and yet very few businesses are effectively engaging through SMS or at least lowering the barrier to entry for consumers to interact through SMS. Unfortunately, many businesses are actually interacting through suboptimal paths, so when you look at the typical contact center, customer inquiries will typically come in through phone calls, right? So we’ve all had the experience of maybe having to call our airline to change flights, change itineraries, and so that’s usually phone call driven. Contact centers often interact through email, it’s probably a very common method for most contact centers. Then you’ll find progressive companies, that are starting engage with social media, like Twitter and Facebook, but then what happens when a consumer wants a transactional experience without having to load an app on their phone? Phone calls aren’t really transactional. Email is sort of transactional, but kind of an inherent delay in response times, right? So the challenge then that we ended up asking ourselves is for most enterprises and contact centers, there’s simply a lack of tools and flexibility in enabling new communication channels. So when we hear about this great communication channel that exists on everyone’s mobile phone called SMS, that doesn’t necessarily mean an enterprise or contact center is ready to enable that channel with existing tool sets. So an investment, in other words, has already been made into your enterprise platform, into your contact center platform, and whether that be through email or some other large scale CRM investment, the point is you’ve got your tools in place. Adding a new communication channel may mean a significant investment of time and resources. So just adding things like SMS into your existing business flows or business tools is not always a quick option.
Building the Perfect Email-to-SMS Gateway
The other side of the equation in this challenge is that for consumers in particular, SMS has already enabled on every phone produced for like the last 15 years. It’s available by default on every smartphone and feature phone. So you think about the segment of the population that doesn’t have a smartphone, so they don’t know about Twitter, they don’t engage with Facebook, they can interact with phone calls, but guess what, they also have SMS on their handsets as well. So consumers are already tuned for communications with SMS. They’re already having personal communications with their friends, their family. What they’re not doing today is having communications with businesses. So I think the question that we’re left with here as an audience is: how do we actually leverage an existing well understood toolset, communication channel, like email that exists in every business, in every contact center, and still leveraged the ubiquity of something like SMS, right? How do we do this without having to change our toolsets and make massive investments? Well, we wouldn’t be asking this question unless we here at Bandwidth thought we had a decent answer for you. So let’s assume we actually could find a solution for now. Bear with me. Let’s imagine the requirements that you might have in building kind a solution that would allow you to leverage existing toolsets and bridging in SMS. So the first thing that kinda comes to mind is, well, you need two way communication. So when we talk about contact centers, we talk about knowledge workers interacting with consumers. We’re not talking about digital advertising or one way broadcast type messages. We actually want a platform where consumers can interact or even initiate conversations with me, the business, right? If they’re going to initiate conversations with me, I need to be able to respond through my own toolset. So consumers initiate through SMS, I respond through whatever channel I need. In this case, we’ll assume it’s email.
I also need to be able to initiate conversations with my consumers. I’m going to do it through email and my consumers though want to receive it through SMS, so I want to be able to initiate out as well as allow my consumers to initiate inbound inquiries. The other thing that kinda comes to mind is I probably want a platform that allows me to send something a little bit longer than the typical constraints of an SMS message, which today is 160 characters and there’s the concept of long SMS, where you can actually go past 160 characters and so I’d want a platform that will allow me to continue to use email and not be constrained to 160 characters and I’m not suggesting I want to send a, a book of text. I just want the flexibility to send, you know, maybe a succinct set of instructions that might, you know, maybe not fit in a single SMS. So I want the consumer to have a single message and have a great experience without having to piece multiple SMS together. That should all be transparent, they should get one long SMS from me with all of the instructions that I’ve just sent. Maybe more importantly is, if I’m a contact center, and let’s assume I’m an assured insurance adjuster, I want to be able to receive pictures. I want us to receive attachments for my consumers, my customers, right? So imagine a scenario where a customer, for instance, is in a fender bender and needs to send a picture of the dented bumper or the airbags that had been deployed in their car. They should be able to send that through a message. They’re their own SMS/MMS app, native on their phone, send that to me through a phone number and it’ll be instantly displayed through my own systems. Then in my case, it’ll be emailed. The reverse path is also true, right? I want to be able to respond potentially with pictures of, hey, here’s an image of what a new bumper looks like. Does this one seem to match the color of your car? Okay. So these are kind of made up examples. But the reality is there could be any number of reasons why you’d want to exchange images with your consumers. Maybe it’s product details, you know, maybe it’s business hours, whatever the case may be, right? So maybe, as we kind of knocked these requirements out, the other thing that I think about as a business owner is, you know, I keep hearing about business SMS, I keep hearing that it’s a growing segment for customer communication, but I’m not 100% sure that it’s right for my business and it’s right for my customer base.
So what I’d prefer, is something that I can deploy fast, so I don’t want to make a huge investment where that would require a lot of engineering resources to build and deploy, only to find out that my customer base actually doesn’t really want to talk to me through SMS. They’re very happy with phone calls or email. The other thing is I want it to just be easy, right? I want to be able to take a platform and try it out without having to retrain my existing staff so I shouldn’t have to get a new user interface. I shouldn’t have to change my business workflows. I just want something that integrates into my existing business processes. I’ve already got a great email system, a great CRM platform in place, and it should just work natively. My agents should have zero knowledge that the far end customer is on SMS, they just need to provide great customer support, right? So we’ve got these requirements, here. Let’s think about how we could actually achieve hitting those requirements. So we look at the possible solutions in the marketplace today, the first one is you could probably go and get an off the shelf solution, right? You can go into your favorite search engine and type in email SMS gateway, and you’ll probably find a few commercial options out there in the market. A guarantee that as you dig into these, you’ll find that these solutions are often more, you know, maybe add on, they’re not designed to be integrated with your business very cleanly and a lot of them will end up using kind of an intermediary domain. So you’ll get a unique email address that lives on somebody else’s network. If you care about your brand, you probably want to preserve your own domain name in the email address and so maybe a little awkward for you to use somebody else’s domain, maybe not, but that’s an option.
The other solution is to use APIs like Bandwidth’s SMS APIs to enable something very quickly prototype, get to market, validate, and then determine if this is right for you. By coupling Bandwidth APIs with an email API provider, you could actually merge those two APIs to create a complete solution. The third option, which is kind of a heavy lift for most would be to, you know, if you’re in a large enterprise, you would probably create a project plan. You probably could allocate some budget and IT resources, engineering resources, do some requirements gathering, have a huge document on how you’re going to build a system and do all this integration with your existing business processes and workflows. Probably have a project manager to oversee all of this and make sure that the processes are getting updated accordingly. You’ll get these new tool sets and, and you’ll have this very custom solution that’s tuned just for your business. It’s a work of art. You’re very proud of it, but it took you three months to integrate and get out the door. And that was very expensive, right? So I would say option three is great when you know for sure that you have to do this. You know your customers need this, and you’ve got the budget and time to get to market. What I would argue is option two is probably going to be the best option for you today and it’s probably why you’re here right now, is to figure out how can you get to market very quickly, test, validate that your customers actually want to integrate with SMS to you or talk to you through SMS without you having to retool your entire systems or business processes. Let me break this down for you, right? This is going to be very quick.
Five Steps to Build your Own
There’s five steps. You need a domain. If you got a business, you already have a domain, you’ve got a website. So you’ve already got step one completed, if you’re just experimenting, you got to go get one, right? Just go get a disposable domain and you can experiment with that. You’ll need an email API, we used Mailgun in our example, and you’ll see all the details in the blog post if you want step by step instructions of how to get started. We found Mailgun to be a fantastic resource for developers to take email, expose all of the relevant fields through a very simple to consume API. It’s very robust, and what’s also great is their documentation. So if you get stuck, they’ve got fantastic documentation, support multiple languages. Next step, you’ll want to set up an account with Bandwidth on our application developer platform. We’ve got free trials so you can kick the tires all you want. More importantly, you can allocate a phone number in realtime and configure it for SMS. In between steps two and three, you’ve got to glue those two services together, you’ve got to glue, the email API provider to the Bandwidth SMS API. That comes in step four where we actually provide you an example of code snippet of how to bridge those two together. Okay? And then once you’ve got the code and you’ve deployed it on your own server, and I’m going to show you a live demo in just a second. You actually have a fully functioning email to SMS gateway and the reverse path as well. You get to go from SMS to email. So let’s take a quick look at how that works in action. So I said step one, get yourself that domain.
Doesn’t matter where you go. You can go to Namecheap, GoDaddy, Hover, wherever your favorite domain registrar is. Next step is you’re going to set up an account with Mailgun. So you should see that on my screen. In this case, if you have an existing domain, my recommendation, and this is completely up to you and your own business rules, but my recommendation is that you set up a subdomain. I would recommend something like sms.mydomain.com or whatever your business name is. What you’re gonna do is you’re going to delegate the MX records of that subdomain to Mailgun, and they’re going to manage all of the email portion of our email gateway for SMS. Okay. I’ve got this domain here for this particular demonstration. It’s demo.zerofacts.us. It has zero meaning behind it. It was just available and I snagged it, and so that’s what we’re using. Next thing you’re going to do is work with Mailgun to make sure it’s active, it’s validated, they’ve got documentation on how to do that. Next thing you’ll want to do is set up what are called routes, and you’ll set up a catchall rule. Basically the catchall rule says, for every email that comes in to this domain, I don’t care who it’s to, but for every email, I want you to notify my app, and I happen to have my URL of my app where I’m hosting it. We’ll talk about that in a couple of steps from now, but just add a route and you’re all done. So we’ll come back to Mailgun in a little bit. Next thing you want to do is get an account with the Bandwidth API platform.
Our developer platform is very easy to get up and running. We’re going to go through an abbreviated setup here. So first thing we’re gonna do is, we’re going to get a phone number. I’m going to pick, where should we go, Nevada? So we’re going to search for a number of Nevada. Okay, here we go. So, for those of you following right now in real time, you can actually do some live webinar participation if you want. Don’t do it yet, but go ahead and make note of this phone number we’re going to do: 775-464-1270. Once again, it’s 775-464-1270. So we’re just going to get that phone number and if you’ve not worked with our platform before, you can allocate phone numbers in real time either through the API or through the user interface. I just happened to use the user interface here. Next thing you’re going to do is you’re going to set up your application. In the interest of time, I’ve already preset the application. It’s already kind of prebuilt for us here. It’s called the SMS email relay. If you want detailed instructions, just hit that blog post and you can follow the links on step by step instructions. Just like in Mailgun, I have a URL which hosts my application that’s going to tell Bandwidth exactly what to do with an SMS once we receive it. The last thing I need to do is give a phone number to my application. So it turns out we just allocated a phone number in Nevada. It’s that 775 number, so I’m going to go ahead and add that.
At this point, Mailgun is set up, Bandwidth is set up, and you just need to grab the code. So the code is public, open source is sitting on GitHub. Again, instructions are in the blog post and then further instructions of detailed setup are all on GitHub. A developer would probably take an hour, start to finish to go through all of these steps and get deployed. A non developer, you could easily do this as well, but it might take you a little bit longer if you’ve not worked with these tool sets before. Then of course in this webinar, since I kind of preset things, we did this in about five minutes, so just some context and timing. Now the code that you get has a few things that you need to touch. Number one, you need to add your passwords, your credentials. We’re not gonna do that here on the live webinar, but the other thing we need to do is set up a file, a comma delimited file, that maps phone numbers and email addresses together. So for example, when somebody sends me a text message to my phone number that we just allocated, our app needs to know what email address it should be forwarded to. Okay, so let’s go ahead and take a look at that file right now. This might be a little bit hard to view on your screen in the live webcast here, but I’m just going to go ahead and read it out. The format is an e164, so you put +1 and the phone numbers, so it’s going to be +1 (775). Again, I’m saying the slow and loud so you can make note at home in case you want to participate. So it would be, say (775)-464-1270, and this particular comma delimited file has two entries. It’s really just an example to show you can have a full list of phone numbers and email addresses mapped in here. The second entry is actually not active, the phone number has not been allocated and the email address is fake. So anyways, there we are, we’ve got our email address, we’ve got our phone number set. Next thing we’re going to do is we’re going to deploy the code and I happen to be using Heroku to do this demonstration. So my deployment is probably going to be a little bit different than yours, but anyways, it took about 30 seconds here. It’s just doing its final touch ups and it looks like it’s done. So. Cool. So we’re done. The last thing is proof is in the pudding, right?
So can you actually send an SMS from any phone number over to an email address, so let’s go ahead and demonstrate that. I’m going to invite you to send me an SMS as well. However, please be aware that if you do, your phone number will be visible in this webinar and just be aware of that. So, if you’re concerned about privacy, don’t participate. I will sacrifice my number here for the greater good and you can see what that is, but we’re going to send a text message to (775)-464-1270 and we’re going to use a google voice for this demonstration because if they have a nice web interface, and again, I’m not able to show you my cell phone on the screen here, so we’ll do that. We’ll say, what are your business hours? Very transactional type of a message. And I’ve got my email clients set up and you can see it just popped here. The top, what are your business hours. Cool. So that was pretty fast. So remember we talked about, is that going to be fast? Yep. We deployed it pretty fast. It didn’t take a whole lot of development. The other thing that’s fast about this as you saw the time it took to get from an SMS to an email, it was pretty fast. So let’s go back in the reverse direction. Now we can say all day every day except Sundays. Just for kicks, I’m going to send an attachment with our business hours. So let’s go ahead and send that back to the customer inquiry. So Google, gmail here is thinking a little bit.
I dunno, it’s thinking, yeah, power of demos, they never go the way you think they should, even though they work perfect before the webinar. So you’ll have to trust me that it actually does go through. So it’s saving and at some point when gmail decides it’s happy, it will actually appear on the other side. So that’s it. I would show you another demo, but I’m a little reluctant to count on my email client behaving properly here. I’m not sure why it’s barfed on me here. So you’ve got the code, you’ve got the instructions, the blog post gives you the detailed instructions and there’s even more details within the code that you can download directly from GitHub. We’ve actually tested this quite a bit and it does work in near real time and, it’s very interactive unless you happen to be running a live demo in front of hundreds of people then it barfs. We’ll just let that sit and decide what it wants to do. With that, I’ll hand it back to Tyler.
Thanks Brad! Sorry we went a little bit over time, but I think Brad did a great job showing how you can easily build this app in 15 minutes or less. Thanks again for attending our Webinar.
WANT TO LEARN MORE? VIEW OUR WEBINAR
Bandwidth makes integrating SMS to your email seamless and easy