What is a chatbot?
Every so often, I’m asked this question.
Reading chatbot industry articles often leaves you spinning in a sea of terms such as “natural “language processing,” “artificial Intelligence,” and “machine learning” – and other language that’s often reserved for the computer science doctorate elites. However, we can distill this stimulating and exciting branch of science into much more accessible terms.
Simply put, a chatbot is a computer program designed to converse with people.
The current generation of chatbots – which interact with users over text messengers such as Kik and Facebook Messenger – are simply computer programs that live on the internet and communicate to the chat infrastructure (and their users) using the internet.
When you configure your chatbot, you’re required to specify a webhook. The webhook tells Kik where on the internet to find your bot.
How does a Kik chatbot work?
When a Kik user sends a message to your chatbot, their messages go from their device – the phone or tablet running the Kik app – to Kik’s servers. Kik’s server infrastructure handles tasks like login and message management. Kik then sends the message via REST to your chatbot via the webhook you created when you configured your bot.
That webhook we mentioned earlier? That’s your bot’s address on the internet. It’s the bot’s “point of entry” for messages. The bot can process the message, formulate a reply and then send it back to Kik.
Who can build a chatbot?
If you’re planning on crafting and deploying your own chatbot, then typically you’re going to need programming skills and experience. If you’re not a coder, read on – we’ve listed some links to chat agencies that can help you build your bot.
You’ll also need a place to host your chatbot.
Because Kik’s chat infrastructure is RESTful, you can develop your bot in any language you like, as long as it has support or libraries available that can request or get / post data to internet web servers. This includes very popular languages such as Python, or node.js. We even have bot development SDKs for these languages that can help speed up the development of your bot.
Where does a chatbot run?
You’ll also need somewhere for the bot to run – after all, it is a program. For development purposes, this can be your own Mac or PC, as long as Kik can see your webhook. Most developers start off using a tunneling proxy server such as ngrok until they can deploy to their production environment.
Additionally, many chatbots are hosted in the cloud. Services such as Heroku, Amazon AWS, and Google Cloud Platform are cost-effective ways to deploy a chatbot, without having to worry about managing an actual physical server.
How do I get started?
Step 1: Give your bot a purpose.
Before writing the first line of code (or using one of the chat companies listed below), decide what you want your bot to do. Will it be a trivia bot? Choose your own adventure? Will it be a utility? Perhaps a reminder bot or something that will help others?
Step 2: Give your bot a personality.
What will interacting with the bot be like? Will this be a laid-back, cool bot? Or will it be professional and serious? Who will your bot be talking to? Sit down and work out your bot’s personality, its purpose, and the target audience.
Step 3: Work out how your bot will work.
Once you have an idea of what your bot is going to be like, you’ll want to design the interactions, or chat flows, that the bot will have with its users. Think of it as sort of a script for the bot – or a roadmap to navigate the bot’s functionality.
We’ve published a great article on how to build a great bot – it’s recommended reading for anyone who’s building a chatbot, regardless of the platform. Be sure to check out other bots as well, and decide what will work (and won’t work) for your bot. Pay special attention to why the bot is popular and how it interacts with users.
Step 4: Get to know the platform.
You can’t build a house without having an understanding of what tools are available to you. Explore the chat platform and learn what types of messages you can send and receive, and how they can be used.
We have many tools to get you acquainted with the platform easily. Review the API documentation as well – that’s where you’ll learn not only about the message types, but also what rules need to be followed for the bot to function properly.
Step 5: Get to know the code.
We’ve put together a great “How To Get Started” sample code package and have published it as open source, so anyone with Python programming experience and a desire to develop their own Kik bot can hit the ground running.
Head over to the Python example on GitHub.
The README file on the github repo has detailed instructions on how to set up your chatbot. You’re welcome to clone the repo and use it as your starting point in building a Kik chatbot.
Do I really need to be able to program?
There are many chat agencies that specialize in building chatbots for other people. Everything in this post would still apply. The rules for building an amazing chatbot experience are no different when working with a chat agency.
A few agencies that do great work with Kik are: Automat.ai, imperson, Massively, and Sequel.
The benefits of using a chat agency are:
- They take care of the technology behind the bot.
- They let you concentrate on the bot experience.
- They can usually target multiple chat platforms simultaneously.
We hope that after reading this post, you’ll be well on your way to building and launching your own chatbot – one that will become a source of fun and delight for Kik users.