Development Consulting

Conversational Applications & Chat Bots

A Conversational Application provides a messaging interface for a personalized conversation between your company and a user. The ad hoc interaction is designed to provide hyper-relevant & personalized content via automated SMS text messaging that doesn’t feel automated. Keyhole has significant project experience in this space and can assist your development in the following ways:

Application Development

Creating custom SMS-based Conversational Applications for any use case or augmenting existing applications with SMS functionality.

KHS {Convo} Customization

Customization of SMS framework KHS {Convo} for various convo application use cases.


Teaching development teams conversational application constructs to implement its own application or chatbot.

Try Out A Conversational Application Demo: KHS {Convo}

Text message the word to 913-270-0360.

Text “knots” to
Text “quiz” to
Text “metric” to
Text “movie” to

Learn About Conversational Applications & Chat Bots

The premise of a conversational application is just the same as a normal conversation, an “exchange of ideas” between two or more people. In an application context, it’s a series of questions and answers.

The benefit of a chatbot or conversational application is that the conversation is automated. Programmed to interact with your users, it can provide additional touch points and customer service in an automated, yet personalized, way. Conversational applications (such as a chatbot) are among the most visible examples of machine learning in action.

There is no need to install or download apps, or pop open a browser and type in a URL; just have a conversation through your texting app. Which you probably do many times a day, so user training isn’t not required.

Related Blogs & Tutorials

Demo Example: KHS {Convo}

{KHS} Convo is an open source JavaScript framework that lets you build conversational applications using modern development techniques. It was created by our team at Keyhole Labs and can be used, modified, or distributed for your uses. Alternatively, you can engage Keyhole Software for conversational application consulting for its customization.
Out of the box, KHS {Convo} is designed as a Node-based server API utilizing Twilio for SMS support. The analytics dashboard is implemented with React. Additionally, KHS {Convo} uses React to generate a link to a dynamically-generated HTML user interface to provide a rich user experience.

Provides highly customizable SMS capabilities with basic functionality built in, omitting the need to build custom conversational applications from the ground up including:

  • Conversation Programming API 
  • Built-in validation framework for date, time, and custom queries.
  • Dashboard to monitor and track SMS users and conversations, with Developer Text SMS Emulator
  • Programmable Finite State Machine that defines multi-branching conversations
  • Session Management
  • Persistent store of all users conversations with Analytics dashboard
Text messaging applications can be enhanced by delivering a URL that renders a web-based HTML user interface to provide a more dynamic, rich user experience.

This provides an improved mobile experience without having to build a native mobile application.

The user experience between a user and an SMS application can be thought of as a conversation. A user texts a question or topic, and a reply is returned, then another question and reply is performed until a desired result is accomplished.

Now, this is not a universal user experience, but for many use cases it can provide an easy to deliver users functionality quickly and conveniently. There is no need to install or download apps, or pop open a browser and type in a URL; just have a conversation through your texting app. Which you probably do many times a day, so you don’t require user training.

The demo application number is 913-270-0360.

Time, Date & Math Calculator – Text MARKDOWN_HASH5fc732311905cb27e82d67f4f6511f7fMARKDOWN_HASH or MARKDOWN_HASH07cc694b9b3fc636710fa08b6922c42bMARKDOWN_HASH.

Tip Calculator – Text MARKDOWN_HASHfcae93e205a7cfbe7f59e6e7e97bab9aMARKDOWN_HASH and a tip percentage with totals will be returned. 

Take a Quiz – Text MARKDOWN_HASHda89e38d2085d08a94af46c0706b4caeMARKDOWN_HASH to take a multi-question programming quiz.

Fly Fishing Knots – Our developer’s hobby is fly fishing, so you can use it to get images on how to tie common fishing knots. This example introduces how a mobile web app can be introduced into the conversation. Select the type of knot and you will be provide a link that when touched will display a graphic on how to tie. TEXT MARKDOWN_HASHc3dfc41854db8a41252a5d6a003f7b4aMARKDOWN_HASH

Tailwaters via Corps of Engineer Data – Text message MARKDOWN_HASHfa070437452bac48db8b9cef1cba9c8eMARKDOWN_HASH to get up-to-date tailwaters data of Tablerock Lake.

Metric/English Conversion – Text utility that converts numbers from Metric to English units and vice versa. In doing so, it also, provides access to a mobile web user interface. Text MARKDOWN_HASH1df9ee129de1d441217c246b67d03b70MARKDOWN_HASH

These are just a couple of ideas for text message application utilities. There are all kind of other possibilities for enhancing application with text messaging features. Now the application architecture behind this SMS platform will be walked through.

Chat Bot Architecture


The SMS application is built upon both client side and server side as JavaScript, React.js and Node.js respectively. The data store is a NO-SQL base is MongoDB and we use Twilio for SMS support.

Texting Application Use Cases

Promotional Offers

Text promotional offers to subscribed users, like coupons, sales, or marketing messages.

Gather Sign Ups

Users can text in their participation in an event, like RSVPs, guest counts, or names of participants.

Quick Info Request

Users can get information on a product by texting a particular keyword to your number. “Product A” webpage sent.

Customer Engagement

Users can text in to participate in a giveaway, drawing, or contest & respond using automated queries.

Appointment Management

Scheduling and confirming appointments. Example: Send appointment details, “request ‘C’ query to confirm.”


Users can quickly and easily add timesheet entries using SMS. Example: “7 hours today ‘ABC Project’ “

Contact Request

Users can state needs & a representative will get in touch. Example: “Have a question about your insurance? Text us ‘help’ and we’ll give you a call.”

Contact Keyhole

About Keyhole

Keyhole Software is a software development and consulting firm. We help clients of all sizes across the United States with teams located in Kansas City, St. Louis, and Lincoln, NE.