Back in October 2014, we quietly launched webhooks in our public API. At the time, they were in beta but they’re now battle hardened and ready for business. And we’ve just given them a shiny new interface too—making them visible and easy to manage.
At this point, you may be asking yourself, what the heck are webhooks and what can I do with them? In a nutshell, webhooks provide a way for an app to send real-time information to other apps. For example, when a booking is made in Resource Guru, another app can be “told” about that booking via a webhook. Getting this information was always possible via our API, but webhooks proactively “announce” the changes instead. In the past, apps had to keep “querying” or polling the API, which created a lot of inefficiency. Now, webhooks open up a whole host of great opportunities to integrate Resource Guru efficiently with other apps. In May 2007, Jeff Lindsay wrote an article called Web hooks to revolutionize the web—how right he was!
One forthcoming integration we’re really excited about is an integration with Podio. This will utilize both our API and our webhooks to keep Podio up to date with changes in your Resource Guru account, and vice versa. For those who don’t know, Podio is an online collaboration platform used by more than 500,000 organizations to run projects and company departments. It’s a great way for your team to communicate, organize, track, and get work done in one place—and pretty soon, that will include Guru-style team scheduling :) We’re expecting the integration to go live in the next few weeks, so keep an eye on our blog.
How do I set up a webhook?
Webhooks can be created via the API, but an even easier way is to create them via the settings in your Resource Guru account (you do need to have administrator permissions, though). Just open the menu in the top right-hand corner and click on Settings > Webhooks > New Webhook and you’ll see a form like this:
Give your webhook a useful name and enter the receiving URL. If you don’t have a receiving URL already set up, you can do so using Requestbin, or one of the DIY services mentioned below. You can then select the events you want Resource Guru to send. Lastly, you can enter a secret for enhanced security (but the receiving URL will need to know how to process that for it to be effective).
“Resource Guru simplifies the way we work and gives us a holistic view of what’s happening.”
Once you’ve added your webhook, Resource Guru will start sending JSON payloads for events as soon as any relevant events take place in your account. Just remember that it will only send information about the events that you’ve specified.
All the payloads can be seen when you click “View activity” in the webhook menu.
You can set up as many webhooks as you like for the different services that you want to integrate. We looked at a lot of webhook implementations when we were designing this UI (including Slack, Mandrill, Mailchimp, Github, Podio, Stripe, Pusher, and Trello) and we’re quite proud of the job we’ve done here. Could this be the best webhook implementation on the web? Let us know in the comments! :)
One of the cool things about webhooks is that they are recognized by thousands of apps around the world. This means that you can use them to create your own custom integrations. For example, I created a custom integration between Resource Guru and Slack using Zapier. There are now quite a few services that offer DIY integrations between cloud apps, including Zapier, IFTTT, itDuzzit, and Pipethru. Feel free to set up a webhook and start experimenting!
Speaking of Slack …
The next integration on our list is going to be with one of our favorite apps—Slack. If you don’t know what it is, Slack is a platform for team communication. We’re a remote team here at Resource Guru and we use Slack all day long for staying in touch with one another. It makes us all feel like we’re in the same office, even though we’re happily working from all over the world. We don’t have a release date just yet, but subscribe to our newsletter and we’ll let you know as soon as it goes live.