Communicating with customers is crucial but it can be costly to spend engineering cycles building out engagement experiences.
In this talk, you will learn how to build three pieces of a customer journey all using low code tooling, from signing up for notifications to creating a WhatsApp/SMS Survey and finally saving the data to a database/spreadsheet application.
Attendees with no coding experience will have everything they need to get started, and experienced engineers will have a user journey and starting point to expand upon.
Auto-generated transcript - may contain errors.
Tap a timestamp to jump the video.
Hey, everybody. How's it going? I am so excited to be here today. I don't know about you all, but this is, like, my first conference back. I don't know. I'm seeing some nodding in the audience. So it is it's incredible. I'm I'm so so happy to be here, and I'm so excited to talk to you about a topic that I feel genuinely passionate about, which is low code tooling.
So, yeah. I'm a developer evangelist at Twilio. And in my day to day, I'm working with developers, quite a bit. I run hackathons with some of our customer companies, and I go to events, and it's really, like, the best job ever because I'm just getting to watch people build cool things all the time.
And one of the things that I've noticed over the past two years is that people really like low code tools. And, like, if you're a programmer in the audience and you're kind of like, are you sure? It's true. They really do. I've seen principal engineers dive into using a drag and droppable editor to rapidly prototype something.
And I think that that's a big big place where Lookout tools can come in handy, is when you want to do something where you're rapidly prototyping, you're building something that you want to demo a couple of hours later. But I also think that there can be great value in using these tools to build things if you're not a programmer and you don't know how to code.
So I got this email a couple of weeks ago from a founder, and they run this company with this product that's really cool. It uses a lot of human to human text messaging, and one of the things that they were running into is this problem where some of their customers don't collect a phone number in their sign up flow.
So obviously, that poses a problem if what you're trying to get them to do is to have a phone number where they can then text a human and keep them in the flow. So I was thinking about this problem that they had, and there were a couple of things about it that I really loved.
So the first thing that I loved is that they use SMS and WhatsApp. And obviously, I'm a little biased because I work for Twilio, but I really believe that SMS and WhatsApp messaging is a really effective form of communication and of marketing. And the data doesn't lie.
Ninety eight percent of people open a text message. And about ninety percent of every text message sent is opened within three seconds. And if you're one of those people sitting with like a million unread text messages, like, just close your ears, this doesn't apply to you.
But another piece of data that I found really interesting is that seventy percent of millennials say that they actually prefer to receive promotions and surveys via text message, and they're more likely to engage when they receive it that way. The other thing about this problem that, as I was chatting with the founder, came up is that, you know, a lot of engineers have a lot on their plate, especially if it's a start up and they're building the product.
They really can't take time away from a sprint to go back and change a sign up flow. And really, they don't need to. At the end of the day, if there's another person that could do this, it doesn't really need to be the engineer that does it.
So they can keep focusing you know, building out the product and doing what they need to do. And then the last part of this that, again, you know how I feel about low code by now, but I really believe that low code tools are magic.
I think it speaks a lot to where we all are as technologists, that we now have the ability to use tools that can basically generate code for us. Now, that's not to say it will always be production ready. There may be some things you need to go back in and change around.
You know, but the fact that you can use a visual editor that can actually build software opens up the doors for so many other people to be able to build software. And just to kind of level set here, when I say low code tools, I'm referring to kind of a broad array of different things.
So there are those editors that, like Appian or Twilio, we have one called Studio, where it's very much you have widgets or nodes that you can kind of move around and do different things. There's also serverless environments, AWS Lambda, Azure Functions. At Twilio, we have Twilio Functions as well, which those often involve writing some node code.
But as you're going to see in what we're going to build together, oftentimes, you can kinda copy and paste some code and and really get to building something without really needing to write any code yourself. So for today, I came up with what I think is a great start up idea.
So if anybody wants to fund it, please come find me after. I live in London and I live very close to Columbia Road Flower Market. And if you've ever been and if you've ever been near the end of the day, you may have seen all of the stall owners rapidly trying to get rid of the flowers that they can't take with them.
There's one guy who's my favorite and every week he goes, sunnies four or five. My genius idea is that I'm gonna buy up all the flowers that nobody wants, and I'm gonna have local florists put together a bouquet, and then you can order it via text message and it will get sent to your house.
So my problem is is I need a landing page. I need somewhere for people to actually sign up so that they can start getting information about my incredible flower business. So if you go to flower dot u k right now, this is actually a live working demo.
So if you want to follow along, you can do that. Just so you know, I will not use your phone numbers for any nefarious purposes. I will send you one text message after I'm done here, just so that you can see, the flow of what we're gonna build, next, and then I will remove your data and delete it.
So it's there if you would like to participate. So what we're gonna do is we're going to set up a landing page. And the landing page will have sort of two components to it. One will be the sign up page, and that's what you're gonna see if you go to flower dot u k right now.
And that also integrates with a verification service that we have at Twilio that does the two step verification for you. The next thing that we'll do is we're gonna set up an SMS survey, and we're gonna do that using Studio, which is a drag and droppable canvas sort of experience.
And again, there will be no code involved in that. And I'm going to build that around NPS. If you're familiar with that, it's a marketing metric that people use a lot of times to measure how people feel about their brand. And then the last thing that we'll do is we're going to take all of the data that came back from that survey, and we're going to save it in an Airtable base.
I love Airtable. Is anybody out there does anybody like Airtable? I see some hands raised. Airtable is just an incredible product. I actually recently, was working with a conference, and I saw some, like, truly amazing Airtable bases. So Airtable is, like, kind of a cross between a spreadsheet and a database, and they call, like, sort of that sheet that you see a base.
And really, I wish I could, like, give somebody an award for how amazing some of these things were. But that's what we're gonna use for that last piece of what we're gonna do. For the starters, we're gonna buy a Twilio phone number, and then we are going to connect our landing page to Twilio Verify, so that when you get all set up, it will give you that two step verification process, and you don't have to do any of it yourself.
We'll head over to Studio, set up the survey, and then we're gonna copy and paste a little bit of JavaScript code and functions, so that we can send all of the data from our survey over into our Airtable base. And then Airtable does a little bit of math for us and will spit out the NPS score for us.
So the first thing we'll do is buy a phone number. And if you engage with the demo, you're gonna see a code come through. It should be t f twenty one. So if you see this and you're like, I wanna go build this and try it out, you can try that promo code and you'll get fifteen pounds of credit.
So you'll see that you can search for really any number all over the world. There are some restrictions where we don't have them, but we definitely have some in Great Britain. And I really just wanna make sure that this number has SMS capabilities since that's the main thing that we're gonna be using it for.
We do have fax capabilities. I don't know if anybody wants to build anything with fax. I I personally would love to see somebody build something with fax, so please let me know if you end up doing that. And then you'll see as we go through the console here, there's places where you can configure what you want to happen when a call comes in, what you want to happen when a message comes in.
So after you buy the number, this part's actually pretty simple. We have this tool called Quick Deploy. And basically what happens is once you go to this Quick Deploy landing page, as long as you're logged into your account and you purchased a number, you just have to hit a button.
And what's gonna happen is it's going to spin up all the code that you need inside our serverless environment. So you'll see here my account name is pre populated. The number that I just bought is right up there. The only other required field here is a passcode, and that's because, as I mentioned, we're gonna have the sign up page where people sign up, and then we're gonna have a broadcast page.
And the broadcast page is where you as an admin can actually write out the message that you wanna send, and you're gonna need a passcode in order to send that out, because we wanna make sure that nobody can spam you. And if you're gonna run this in production, I'd also recommend putting some more security measures in place, but for the sake of this demo, we're just gonna use the passcode.
So after you hit the deploy button, this is the page that you're gonna get. So you you can see there's the area where someone puts their phone number in, and then they can also sign up for specific notifications that they wanna receive. Right now, if you were to go and do this yourself, you would actually see pie and cake, because my friend and coworker she thinks everybody needs to be team pie or team cake.
You cannot be both, you can only be one or the other, and savory pies don't count. So if you need an icebreaker for the speed work speed networking session, you have one right there that you can ask. So I probably don't wanna use Piratecake in my actual application.
If I'm running a flower business, it's probably not gonna look the most professional. So I am gonna go in here where the file's populated after I quick deployed. And all I need to do is just edit the labels in the HTML. So all those files up at the top under functions, those are all JavaScript files.
We're not gonna touch those. We're just gonna go down here to the HTML files, and really just need to change these labels here. You can change them to be anything that you want. I'm going to choose promotions, surveys, and I think the third one I chose was product updates.
But again, it's totally up to you based on your business and what you think your customers might want to receive. Maybe they only want to receive the promotion side of things, or a sale, or something like that. And if you want to add another item to this list, all you need to do is copy and paste one of those divs and just add it below, and just make sure that some of the other, like the value and the type, you just need to make sure those all have unique values.
So if anybody ever edited, like, their live journal or their Myspace or anything like that, it's pretty much the same thing here. And then the only other thing that we need to do, again, since we have both the broadcast page and the subscribe page, we need to make sure that those two things match, and that they're in the same order, just so that we can ensure that the customer is actually signing up for the right option, and we're not going to, you know, get any wires crossed there.
The other thing that could be helpful, if you are deciding to use something like this, you can customize anything else on this page, really, to be whatever you want it to be. Of course, there's, like, you know, a Twilio logo on it right now, but you can remove that.
This is all built on a design system that we that we came up with, but you can customize it. You can change it around. So this is really just a starting point for whatever you might want it to be. And so after we finish with that, all you have to do is deploy, and then your changes are all gonna be live here.
So you see we've got promotions, surveys, product updates. And then if we go over to the broadcast, same thing. We also have an everyone option on the broadcast page. So if you want to just send it out to everybody on the whole list, you can certainly do that.
Alright. So I just wanted to show you quickly, if you didn't wanna participate in the demo, but still wanted to see what it looked like. When you sign up and put your number in there, you get this code here. And again, there's nothing else you need to do.
Like, you you hit deploy, and this is all just the two step verification process will happen for you. So now we have a landing page, all done. So the next thing we need to do is we need to build out the SMS survey.
So let's say that I went ahead and, you know, I ordered some beautiful flowers. I have that customer data in my system that somebody did that. And now I wanna know what their experience is like. I wanna hear how it went for them.
We're gonna set up this NPS survey. And NPS is really based on two questions. The first question that you ask is, on a scale of one to ten, how likely are you to recommend this product or service to a friend or colleague? And then the second question is, why did you give us that score?
So it's pretty simple, pretty straightforward. And we're gonna do this using Studio. So we need to give our Studio flow a name. It's called a flow because it's kind of like, you know, a little little flow chart there. And you'll see in just a moment kinda what the canvas looks like here.
So at the top, we have this trigger widget. And that is going to kick off the execution of flow. We have an area where you can say what you wanna happen when a message comes in, what you wanna happen when a call comes in.
And for this example, we are gonna write something from the broadcast page. So I'm gonna write a message that asks, would you like to participate in a quick survey? Type y for yes, n for no. And it's very important, I'm sure all of you probably know this already, but you always wanna give people an option to opt in and opt out.
And we have some keywords built in, so that if someone says stop, we're always gonna take them off off of that list and never message them again. So we're gonna expect them to say either y or n. So we need to split the experience based on that condition of whether they say yes or whether they say no.
And how we're gonna do that is we're gonna use this split widget. And you'll see that we have some templating language there with like the little mustache mustache brackets. So anytime you need to access anything from the flow, whether it's someone's phone number that they're messaging in from, or the body of a message that they send, you can always use this templating language.
And there's good documentation on it, but it's also fairly intuitive. Because if you think about it, we're trying to get the body of the message that comes from the trigger widget. So you can kind of follow that there and see how we're accessing that.
Now, we're gonna set it up so that if anybody messages in sort of any of these keywords, whether it's like an upper case y, a lowercase y, a capital, all caps yes, we're gonna clearly define it. There's definitely more intelligent ways of going about that, more conversational ways.
Definitely look into like Google Dialogflow if you're interested in any of that. We're gonna keep it simple for today. And so if somebody says no, we just wanna choose this widget that's send message. So there's two widgets for messaging. One is send and wait for reply.
One is just send message. So if you think about it, if someone says no, we wanna stop the execution right there, conversation's over, we don't need the program to wait for them to say something else. So we just need the send message widget.
However, if somebody says yes, we want them to stay engaged, we want the program to keep running, so we're gonna use send and wait for reply because we're gonna expect that they're gonna send a reply back. So here in this first one, I'm just gonna go ahead and write that first question that we had.
On a scale of one to ten, how likely are you to recommend this to a friend or a colleague? And then after that, I can just go ahead and repeat the same exact thing for the next question that I'm gonna ask, which is the reason why.
And if you're wondering where these responses are living, they're living in the ether. They're living in I was about to say the metaverse, but I don't know if I'm allowed to say that. That's that's kinda like a real thing now. They're living all of that all of that data, again, is kind of living in what we call the context, which is really similar to like a session.
If you've ever stored something in a session, stored something in cookies, it's kind of like that. So it's all all available to you and we'll use the templating language again later on when we wanna send all of the data that comes back from people's responses over to our Airtable base.
So, yeah. And again, you got the the promo code there in case you want it. So we'll wrap things up, say goodbye, and thank people for taking the survey. And then all we need to do is hit publish on the flow. And then the very last thing that we'll do just to make our survey complete is we need to connect it to the phone number that we bought at the beginning.
And it's a pretty simple process of how to do this. We just need to go back to the number that we purchased, click into the console, and then when we scroll down to the bottom of it in that area where it asks what we want to happen when a message comes in, we can just choose Studio from this drop down, and it should populate your Studio flow.
And then just hit save on that. Sometimes I forget to hit save, and then nothing's working, and I'm like, why? So this is kind of what it would look like. And this is what I'll send you after I get off stage if you did opt into the demo.
So you'll get to experience it firsthand. But yeah, I'm just gonna ask, would you be willing to to part to participate in a survey? Type y for yes, n for no. And then if everything's working properly, we should see a message come up on my phone.
And since, really, we're just testing for functionality now, we don't need to go through the whole survey. We just wanna make sure that it's working. So we got a response. We're good to go to the next step. Alright. So we've built a landing page.
We've built a survey. Last thing that we're gonna do is save all of this to our Airtable base. Airtable, in its simplest form, can look basically like this, like a spreadsheet. You'll see over here, we have this auto incremented field. And then we have the score that people send in, the reason, and then we have a column where it calculates whether they are considered a promoter or a detractor.
So I believe it's if you give an eight or a higher score, then you're considered a promoter. Someone who would say nice things about the brand. If it's lower than eight, you're If it's like, oh, it's like seven to five or something, you're kind of neutral.
And anything lower than that, you're considered a detractor, so you probably didn't have a great experience. The cool thing too, like any spreadsheet I suppose, but you can, you know, calculate whatever you need. And so if you look down, it's kinda tiny, but in the bottom there, that's actually our NPS score.
So once all of the messages come in here, if I ever need to check and see what an NPS was of an event that I ran or something like that, I can just check the score at the bottom there. One of the things I really love about Airtable is they have this auto generated documentation.
So if you have a base, which that spreadsheet sort of view, that's considered a base, if you have that and you click into the docs, it will give you all of the information you need about that particular base, and you can test out different things and connect with the API through it.
So we're gonna need two things for connecting Airtable with Twilio. We're gonna need the base ID and an API key from Airtable. So this gives us the base ID here. The base ID will always begin with the word app. So I am going to go into a Twilio function that I made ahead of time.
I just called it Turing Fest. And I already loaded in the environment variables, which are the base ID and the API key. I really like you all, but I don't trust you yet. So I don't want you to see all of my secrets and access my account.
The other thing that you need to do is just add the NPM module for Airtable. And if you put that in there, if you don't specify a version, it'll pull the latest one. So for this particular demo, that should work just fine. I'm gonna make a function called write air table.
And at the end of this talk, you'll get a list of all of the resources that you would need to do this yourself. So there is a blog post that has this block of code in it, and all you need to do is copy it and paste it over.
Of course, if you wanna make any changes to it, you certainly can. Just need to make sure that you leave in where it connects with the API key and base ID. And also make sure that you are using the right variable names for the fields, because the columns in the base need to match the names of the variables that you're passing through.
And then the next thing that we need to do is, there's actually a widget in the Studio Flow that will allow you to run a function. So what we're gonna do is we are gonna run the function after someone gives the reason. So at that point, we'll have the score that they gave and the reason.
And so we just need to run that function, pass those variables in, and then that's gonna send it over to Airtable and insert it as a new row at the bottom. So it should auto populate here as long as you have refreshed the page since you've gone over and created your function.
You should be able to use the drop downs here and find that right air table function that you put in there. And so, this is the part where you have to add in the parameters. You're gonna use that templating language. And so, again, if you gave your widgets nice readable names that you can remember, then you can access those.
For instance, the widgets dot reason dot message dot body. And so, the one kind of gotcha for this is that we named the variable on this one numerical score instead of score. So just make sure that you have that proper naming there. Naming is really hard, and that is, like, the one thing that always gets me.
So now we just have to publish the flow, and that's it. We we should have a fully working app at this point. So, we're gonna give it a go here. We're gonna see, I'm gonna take the whole survey. And, if all goes according to plan, when you look at the bottom of our air table base, we should get that response popping up in there.
Let's see if it goes. Yep. It went in. So in a very short amount of time, we were able to build a landing page. We were able to set up an SMS survey, which, by the way, you could easily port over to WhatsApp if that's, where your customers, engage more often.
And then we also set up this Airtable base and wrote some data to it. If you're interested in building this yourself, you can go to my website slash resources. And there are three blog posts there. And if you put them all together, it's exactly the experience that we did just now.
And I would really love to hear if anybody does end up building anything with this. I love hearing about what people build, so please please share that with me. And I came across this quote from Marshall McLuhan, who was the author of The Medium is the Message.
And I was thinking about it a lot as it pertains to text messaging and voice, and really just all of the ways that we engage with each other, especially in the past couple of years like we've had. And one of the things that I really like about text messaging and and SMS is that it is an experience.
Right? You you're having this conversation, you're having this experience with someone, and that experience can have a huge influence on your behavior, especially if it's a positive one. So, I hope today maybe you learned something new, that you didn't know before, about SMS or about low code tools.
Thank you so much for spending your time here listening to the talk, and you can find me on Twitter. I would really love to hear about anything that you might be building with these tools or otherwise. And I hope you guys enjoy the rest of Turing Fest. Thank you.