Taking ODL bookings and sending them to Slack

Published on 23rd June 2016 by Jon

At Open Device Lab Bournemouth we take bookings to use the Lab. We’ve often toyed around with creating a bespoke solution that works to our needs, but by combining different services from around the web we’ve created our own Swiss Army Knife of processes and tools that help the ODL run. One of these is notifying Slack of ODL bookings as they happen.

Some of these tools and processes might be valuable to other ODLs, so we’d like to share them with you.

Taking Bookings

Since the start, we’ve used YouCanBookMe for bookings, which links up to a Google Calendar and allows external visitors to see available times in the Lab and book into them. It also means we can book the Lab from within Google Calendar, blocking times out to visitors on the outside – this is invaluable when your ODL is also your meeting room!

Screen Shot 2016-06-07 at 15.07.41.png

YouCanBookMe has been a flexible and useful tool and without it we would have had a much harder time organising and handling bookings.

Last year, we upgraded to the Professional plan at YCBM. If you’re a non-profit, in certain circumstances YCBM are kind enough to discount the already reasonable £7 per month to upgrade.

With the Pro upgrade comes a crucial piece of functionality we needed: Link Fields. With Link Fields, we can send over fields to the booking form. We had a real problem with the older booking form that gave people a textarea to fill out the devices they wanted to book, hoping they’d be sensible.

It didn’t work out. Often we’d get people asking for things we didn’t have, or even things that didn’t even exist – iPad 7 anyone? (Maybe there’s something they know that we don’t.)

We overhauled the site to force people to choose their devices before coming to the booking. This means we can take that list of devices and pass it straight through into the form using a link field. As the user selects devices, they queue up into a hidden field, which we pass on when we send them over to YCBM.

Because the devices on the ODL site are pulling in from a live Google Spreadsheet, they come with extra information, including their ODL ID number (for internal use) and the box they’re hiding in – invaluable information for our ODL caretaker to know exactly where to look. When you’ve got over 400 devices to search through, it helps to know where to start.

With this, we receive the booking email from YCBM with the devices inside when the booking is made! Nice! We’re done, right? Time for a cup of coffee and a siesta.

But wait, there’s more!

Getting bookings into Slack in real time

As all the cool kids do, we use Slack at Base. And our #ODL channel was looking pretty lonely, so I decided to fire in bookings in real time to the ODL channel so it is easy to alert people and then discuss actions.

You could use the built-in Google Calendar Slack extension, but then that would fire every time anyone added an event to the ODL calendar, including internal ‘blocking’ bookings. Additionally, every YCBM booking comes with a lot of extra information in each calendar booking, which would quickly spam up a channel – we only need to know the name, the booking date, and what devices.

Zapier is a free tool we can use. It’s a little like IFTTT on steroids, allowing you to link up a lot of services into Zaps. YouCanBookMe and Slack already exist as services on there, so go through the steps to add your respective accounts and you’ll have yourself set up in no time.

Zapier has a paid plan, but for the speed of bookings we get we don’t need to upgrade.

Your zap should look something a little like this:

Screen Shot 2016-06-07 at 14.28.32.png

And then our formatting looks like this:

Screen Shot 2016-06-07 at 14.27.43.png

And then, it comes out in Slack like this!

Screen Shot 2016-06-07 at 14.17.41.png