Inspiration
BuildFax has the only national database of building permits, with almost half of the country being updated on a monthly (or even more frequent!) basis. The ever-changing nature of the BuildFax database, combined with the substantial differences in what types of work requires a permit throughout the U.S., means that the BuildFax sales team often has a hard time guiding clients on the fly to what data will work best for their use case.
The Cisco Spark collaboration suite is an ideal way for the BuildFax sales team to communicate with each other and with the sales support team to get answers, and so it's also an ideal way for the sales team to query the BuildFax database on the fly, with natural language, instead of having to use SQL.
What it does
The BuildFax Sales Bot takes natural-language questions from the BuildFax sales team, translates them into SQL, and executes them against the BuildFax database, returning answers that help the sales team tailor their pitches to specific customer requests.
How I built it
I built the BuildFax Sales Bot using the node-sparkbot NPM library and the wonderful Cisco Developer Cloud9 walkthrough. I also used some Amazon Web Services: in order to handle the natural-language processing and executing the queries, I used Lex, Lambda, and Athena.
Challenges I ran into
I tried a substantial number of different Cisco Spark libraries and other ways of connecting into Spark, and found BotKit, Hubot, and other options overly complicated and frustrating. The Cisco Developer portal for Spark with the ability to run HTTP POST calls directly, as well as the Cloud9 5-page walkthrough were both greatly appreciated, and should probably be elevated as better options than using some of the third-party tooling.
I also ran into issues with Spark itself with messages failing--if you've had failed messages, they stay at the bottom of your chat log, so you can't see new messages without scrolling upward. It's unusable from a UX standpoint unless you individually delete all of the failures.
Accomplishments that I'm proud of
The BuildFax sales team is really excited about the BuildFax Sales Bot, and we'll be serving our customers much better as well!
What's next for BuildFax Sales Bot
I'm already getting requests for more-intelligently handling queries based upon the client's location of interest. For example, being able to write something like, "/ask What types of permits are required in zip 90210?"
Built With
- amazon-web-services
- cloud9
- node-sparkbot
- node.js


Log in or sign up for Devpost to join the conversation.