When you think of an API, you probably don’t picture a bunch of drawings on a whiteboard. But exactly one year ago, our plans for HipChat Connect were just that. In a year, this idea evolved through several stages and finally made it to public GA with over 30 partners. We’ve learned a lot about shipping and partnership in the process, and we hope what we’ve learned will be helpful to other software development teams (like yours, maybe).
Archive for the ‘API’ Category
Since its introduction a month ago, HipChat Connect has produced over a dozen add-ons from our friends at services like Zendesk, Meekan, and StatusPage, with more coming from New Relic, PagerDuty, and Zephyr. And this is just beginning.
Since so much has happened, we’re giving you a quick summary of our new add-ons and their capabilities. Whether you’re a part of an engineering, marketing, or customer service team, these add-ons will make your work life better.
Coffee is the center of the tech geek universe; the bean is our sun to which we gravitate.
With HipChat’s explosive growth, what used to be an easy coffee run became a trek around the building with folks handing over cards, cash and various forms of wampum. Couple that with people wanting their coffee black, with skim milk, almond milk, a Slim Jim hanging off the top – the ordering process got hectic.
This is coffee, not a Bloody Mary!
We started with a hand written list. Soon after realized, “wait, we’re a tech company. Let’s solve this.”
Next, was a list application. It worked well enough, but there were issues with getting folks on board. The app was static and without any back end or data persistence – it was just people and coffees.
So, the list application was 86ed.
Someone needed to up the ante: someone needed to create…a HipChat Bot.
Tired of lists, Leo Balan created the Caffeinator, a HipChat Connect add-on. Over a weekend, Leo cobbled some time together during his daughter’s naps. His desire for easy coffee ordering was that strong.
Leo assumed trying to write a HipChat Bot, test it, deploy it and into the Product Growth room would be hard. Turns out, it was pretty easy.
Coffee was on its way
Following a comprehensive and easy to follow guide, Leo created The Caffeinator. That informative guide became Leo’s bible.
Leo set up his dev environment and the results looked promising. He was pretty sure he pulled it off. The next step was creating a HipChat account with a test room.
The basic breakdown is pretty simple:
Create a “coffee run group”, and then add everyone you want to include. People will input their default coffee order.
Every morning The Caffeinator will reset, and all members have to do is opt-in. Your default order will be saved – a simple command will earn you your daily brew.
Alphabetical by last name, you can see the next three people whose turn it is to buy. Once someone has bought, they can either “/done” or someone can do it for them. The buying order automatically updates.
So now, coffee orders around the HipChat offices are pretty easy.
I need this for my team. Can I use it?
The Caffeinator came together quickly, so there’s room for improvement. We’re sharing the code with our users because we want to challenge our community. What’s the next for The Caffeinator?
HipChat Connect add on’s are brimming with untapped potential; if we’re creating applications that can tackle an office coffee run, what’s the next innovation of tomorrow?
Get involved, check out the code, make improvements, offer suggestions.
Coffee today, Mars tomorrow?
If you’re a Bitbucket user, we’ve got some great news for you. We’ve worked with the Bitbucket team to create a new integration to provide more useful information about your repositories within your HipChat rooms.
The new integration includes notifications for the following actions:
- Commits – when a new commit is pushed, or commented on
- Pull requests – when a pull request is created, commented on, merged, or declined
- Issues – when an issue is created, updated, or commented on
By piping notifications into your chat room, you can hold a conversation about latest commits, pull requests, and issues with your developers right away. HipChat lets you host lightweight code reviews right within your chat room and ship code faster.
This integration is pre-installed on all HipChat groups. You can find instructions on how to configure the new integration in our documentation.
If you’re new to Bitbucket, be sure to check it out – unlimited private Git or Mercurial repositories. Host your code in the cloud, for free.
This is a guest post by Gaetan Gachet, Head of Business Development at Algolia.
Algolia is a software editor that provides an instant search API, optimized for database search and navigation. Algolia removes the technical hassle of implementing and configuring meaningful and performant search as you type on web and mobile apps. They are the guys behind Hacker News’ search.
Algolia’s first steps with HipChat
As a young company, iterations happen so often and have such a strong impact that we need to make sure everyone, from the developers to the sales guys, has the same level of information at any given time. HipChat lets us do that.
Our first extension of HipChat was to implement public chat rooms to track notifications from our GitHub repository to know what is happening on our website. We see notifications for every GitHub commit, deployment and various bugs on our website. We then began tracking deal flow as well. Now the whole company gets notified whenever a new user signs in or converts.
This has been tremendous for the daily life of our team. Nobody gets left behind and everyone can share his input, even on topics he is not directly involved in.
How one specific need pushed us to think out of the box!
As we matured we realized that the technical nature of our product, a simplified API for real-time search, required greater customer support. We feared losing potential customers along their journey because we weren’t answering their immediate questions or recognizing unidentified friction.
To overcome this, we needed an outstanding live support process to assist existing customers and first-time visitors on our website. The obvious choice was to go with a live support solution but we wanted a solution that could integrate with HipChat.
“Specifically, we did not want to separate our customer support from our internal communication and notification processes. We didn’t find any solution that would do that, so we built it, using HipChat’s API!”
Also, public chat rooms are not limited to a single user. This is very helpful on our end for multi-level/multi-topic support. For instance, we can have our CTO and Business Dev team members answering questions in the same chat room.
This is also true on our customers’ end. As long as they are logged in their Algolia account, anyone on their side can access the chat room. It makes live support a lot easier and allows us to efficiently tackle all the problems in one conversation.
HipChat is particularly well suited for our developer-focused support. We can easily share screenshots and code examples. These developers often use HipChat in their own work environment and they are very comfortable using it.
How Algolia’s HipChat based live support works…
See the code here
Whenever a user hits this button, we use HipChat’s API to check if anyone on our team is available.
If one of us is online, we create a chat room using the API and display it for the user directly on the website.
On our end, every time a user wants to start a conversation, we use HipChat’s API to notify our team (the admin) that someone wants to chat. We only select “Available” accounts connected from the desktop HipChat client.
Everyone who is available gets notified like this:
We also offer a “full-screen” mode so that the user can keep chatting with us while using our website. We just split the page in two parts using HTML iframes.
Finally, we have set up a daily job that deletes temporary rooms created during the day. This job also backs up the conversations on Dropbox for later usage.
Oh one more thing: because Guest Access is free, it costs us nothing more than our existing HipChat plan!
Good news! HipChat Add-ons, which includes our rewritten REST API, Atlassian Connect support, and Marketplace installation, is now live to the public.
To demonstrate the usefulness of add-ons, Don Brown, our resident API expert, rewrote the Bitbucket integration into a one-click add-on experience.
The old Bitbucket integration involved two tabs, multiple copy-paste steps, broken link navigating, and lots of clicking. It took, at a minimum, eighteen steps.
With the new Bitbucket add-on, we’ve lowered it down to six:
- Visit HipChat and login
- Click on “Rooms” tab
- Click on desired room
- Click on “Add-ons”
- Find Bitbucket addon, and click “Install”
- Type the repository name, and click “Add”
No more copy/paste of obscure links, tokens, or IDs. No documentation to read.
This plugin is installable by any room owner and does not need any account admin privileges, so if you own a HipChat room, you can set it up yourself.
For those who don’t know Bitbucket, be sure to check it out. Unlimited private Git and Mercurial repositories, issue tracking, code review, and more.
There’s a new rooms/topic method in our HTTP API that allows you to change a room’s topic. Use it to display important metrics, server health, who’s on-call, how many open support tickets you have, when your next release is, or whatever else you’d find helpful.
Two of the most beloved HipChat features have always been @mentions and our inline previews for images and links from services like Twitter, YouTube, and GitHub. Unfortunately it wasn’t possible to take advantage of this awesome functionality when using our rooms/message API, but that changes today! You can now choose to have your API messages treated just like your own messages by setting the
message_format=text argument. The default value is
html which lets you do your own lightweight HTML formatting instead.
This is a powerful change because you now have a way for your automated tools to notify people (even if they’re offline);
as well as send in helpful links like Tweets so your team is aware of the latest happenings;
Oh, and as you may have noticed, we’ve added gray as a background color option since it looks a lot nicer for this type of data.
Check the API documentation for full details. Enjoy!
Note that this isn’t a streaming API and that there is a delay of about a minute before sent messages will be available using this method. If you are hoping to build a bot or some other real-time interaction drop us a note and let us know that you’d like to help test our upcoming XMPP support.