Tag Archives: Facebook Messenger

Building a Chatbot for the Deans’ Office

Summer vacation is a time that growth-oriented educators use for reflection, rejuvenation, and professional development. As a new dad with a baby at home, this wasn’t an ideal summer for me to travel to conferences or take courses; instead, I focused on growing my tech skills. The end result is a cool product that I built to satisfy my curiosity in artificial intelligence: a chatbot.

If you aren’t familiar with the concept of a chatbot yet, you soon will be, as they are on the brink of becoming ubiquitous. In brief, a chatbot is a bit of code that masquerades as an interlocutor inside a messaging app, such as Facebook Messenger, or WhatsApp, or iOS’s native text-messaging app. You typically use these messaging apps to talk to people you know, but more and more you are going to find yourself talking to businesses though this medium. Or rather, you will be talking to bots that are programmed to do a limited number of tasks while interacting with you in what seems like natural language.

Why is this process going to happen? Because that’s where the eyeballs are. I remember seeing a Wired Magazine article in 2010 declaring the death of the Web, and thinking to myself, “That’s ridiculous; the Web is still young, and I love the Web. Why would I ever stop using the Web?” But the authors (Chris Anderson and Michael Wolff) were prescient. I avoid using a web browser as much as possible these days and interact with the internet through apps instead. I don’t open Firefox and navigate to google.com; instead I tap the Google app on my iPad. But now, not even six years later, the techno futurists are assuring us that we are on the brink of the next era. In this new phase of the internet, we will interact with all of our favorite sites and services without ever leaving our texting app. How do they know this? Well, it’s already happening in Asia. (WeChat and Line are two of the messaging apps that are on the cutting edge of this change.)

As recently as this past May, it would never have occurred to me to build a chatbot. But about a year ago, I heard about a much-ballyhooed a.i. digital scheduling assistant named Amy, produced by a company called x.ai. I signed up for a beta account, and then waited, and waited, and waited. Then suddenly in May I came off the wait list and started testing out Amy. Amy isn’t a chatbot, but she is an a.i. bot that works through your email and calendar. While complex and powerful a.i. personas such as Siri get most of the attention, the new wave of useful bots are built to do very specific tasks, but do them with excellent results. Amy only does one thing: If you have agreed to set up a meeting with someone, she takes care of the irritating emails back-and-forth as you and the other party(s) try to find the right time and place. She does this amazingly well, and uses such convincing natural language that you would believe that she is a real person.

I got to use Amy for about a week to impress a couple of colleagues at work, but then summer vacation began, and I was left wondering what other bots are out there that I should know about. I began reading every article on the topic that I could get my hands on, and I discovered a young but rapidly expanding world of chatbots. For the last month I’ve been using a chatbot that helps you save money, called Digit. It isn’t exactly a bank account, but it’s very close, and you can see that very soon we will all be interacting with our banks via bots like this. Unlike quite a few bots that I’ve tried out this summer, Digit really works. It isn’t buggy and it does what it says it’s going to do; namely, it sweeps tiny amounts of cash out of your checking account when you aren’t looking, and then holds them in a (rather lame, non-interest-paying) savings account. Digit sends you upbeat text messages to update you on your savings, and you can text message it back to ask it how much money is in your account, or to ask it to transfer cash back to your real bank account

The success of Amy and Digit got me thinking about my job in the Deans’ Office at George School. We are a high-traffic corner of the school’s administration, and we are frequently bogged down in onerous data-collection tasks. What if we had a chatbot that worked on a platform that the students use often, such as Facebook Messenger? Would this more frictionless medium make it easier for us to collect information that we need, such as vacation travel plans? And would we be able to reduce the number of phone calls that we receive asking for information that is available on the school’s web site if people could just ask a bot that lives in their phone? Too bad, I thought, I’ll never get to find out, since I don’t have the coding skills to build a chatbot, and this cutting edge tech must be far beyond my abilities, right?

As a flag-waving member of the Connected Educator community, I do a lot of my professional development through Twitter. And good old Twitter brought me the solution in the form of a tweet from a company called Flowxo. They claim that you can use their platform to build a chatbot without having to write any code. And so my three-week adventure in building a chatbot for our Deans’ Office began in earnest.

After signing up on Flowxo’s website and poking around a little, I tried brainstorming a list of all of the things with which a chatbot might be able to help the Deans’ Office. Examples include:

  • Collecting vacation travel information
  • Providing information on upcoming assembly times/subjects
  • Providing information about sports contests times/locations
  • Answering questions about school rules
  • Answering questions about sign-out procedures
  • Communicating about minor discipline
  • Submitting reports about missing belongings
  • Providing updates about inclement weather delays/closings
  • Allowing students to pull up individualized schedule information

I spent a couple of weeks tinkering during spare moments when my son was asleep. (Time: a rare commodity when you have an eight-month old.) Through a lot of trial and error and ignorant bumbling, I came to the conclusion that Flowxo’s “application” template would help me design successful functionality for collecting vacation travel information and allowing students to submit reports of missing belongings. My attempts to use RSS feeds from the school’s website to move information in the other direction (from the school to the end user, as opposed to from the end user to the school) were unsuccessful. After my chatbot is unveiled, it’s possible that members of the school’s IT team will be able to quickly help me to figure out the things that I couldn’t do on my own. I wanted to stubbornly work on this project by myself, so I didn’t ask anyone for help. (Although my wife, mother-in-law, and an advisee helped me test the bot once I activated it.)

The two “flows” that the chatbot now performs are simple, but they work beautifully. Both gather information from users through relatively elegant natural language, then they fire off automated emails with the data collected. The vacation travel information flow isn’t nearly as detailed as the online form we have on our web-based parent portal, but we struggle to get anything close to 100% of parents to submit the information using that form. If students or parents will adopt the chatbot and enter the information that way, it will be a big win as far as I’m concerned.  Over time, I may be able to improve upon the flow to get it closer to the full online form, but in the meantime, it collects the basic facts that my office needs.


Dean Eric’s Chatbot in action

In case you are I thinking about making a chatbot for your school, I should warn you that there are a lot of hurdles on which one can trip. Flowxo has a great site and provides a wonderful service, but it took a long time for me to understand their system. (You need to hit the “refresh” button on your browser after everything you do, and it took me days to figure that out.) The Flowxo directions also make it sound pretty easy to submit your bot to Facebook so that they’ll let it run in Messenger, but that step nearly tripped me up completely. You need to submit a privacy document full of legal language, plus a screencast of your chatbot in action. I didn’t know how to do either of those things. Some rapid googling helped me get those tasks done, and ultimately Facebook approved my app within a day. After that, I still found that the bot wasn’t operating correctly, and I nearly destroyed all of my work in a panic as I tried to fix it.

The chatbot is now running on the Facebook Messenger app if you want to check it out, but it is useless if you aren’t a George School student or parent. There’s nothing to be ashamed of there. Just as Amy from x.ai does one thing and does it very well, my bot does two things, and does them (fairly) well. It’s the right tool for the specific task; nothing more. I’d like to expand the chatbot to other messaging apps other than FB Messenger, but Flowxo doesn’t yet offer those integrations. (It works with Slack, which is awesome, but we don’t use Slack at GS.) If I could run the bot on the native iOS and Android messaging apps, that would cover something close to 100% of our student body.

As I wrap up this post, there are still a couple of weeks until the start of school. I don’t know if the chatbot will be adopted with love or mocked and misused for the amusement of teenagers. However, I feel satisfied that I tried something I didn’t think I could pull off, and it is now up and running. I’m not aware of any other secondary schools that have a chatbot yet, so for once I’m truly out there on the cutting edge. It may never happen again. (There are an awful lot of schools out there, so I’m guessing some other enterprising faculty members have got some bots online.)

Final note: In the chatbot community, people care about the distinction between bots that are truly a.i. and those that are not. Dean Eric’s Chatbot is not a.i.; it is basically a glorified voicemail automated phone tree type of setup, albeit operating via a much hipper medium. While I was working on building the bot using Flowxo, I saw a tweet from IBM saying that you could build a bot in ten minutes using Watson and Bluemix. For one glorious day, I abandoned Flowxo and worked on a truly a.i. bot on IBM’s platform, but I found their interface to be buggy, and I had to give up. So my chatbot isn’t powered by IBM’s amazing Watson technology, and I’m at peace with that.