As a small business, having a standing business phone number can be costly as well as a hassle to maintain. Especially since giving out your direct phone number isn't exactly what you might want to do. We set out to solve this with CallCenter for HipChat
What it does
CallCenter for HipChat integrates with Twilio and allows a HipChat room owner to assign one (or multiple) phone numbers to a room. When a call comes in, it can be answered from directly inside the room or be go to voicemail. A discussion can then be had in the room and everyone can collaborate about it.
How I built it
This was build using the new awesome HipChat Connect framework that allows more integration with the HipChat client as well as the Twilio rest api.
Accomplishments that I'm proud of
One of the bigger challenges that was run into was how to handle the "live" updating of the sidebar when it's displayed for a large audience while not causing a DoS attack on the service itself. We ended up creating a very protective caching layer within nginx that we're able to adjust as necessary. By doing this calls can appear in the sidebar "as live" items.
What I learned
A lot. HipChat Connect opens a lot of interesting opportunities and the biggest challenge is to figure out how to best make use of the tooling provided by it.