How We Created an Open API and Added 500 New Integrations with Zapier

July 16, 2016 at 8:31 PM by John Keith in meeting technology, release announcement

Join a Live Webinar!
Getting Started with Lucid Meetings
Tuesdays at 5PM Eastern / 2PM Pacific
Wednesdays at 1PM Eastern / 10AM Pacific
Click here for details

In our article, What is a meeting management platform?, we start with this statement:

"Lucid Meetings is an online meeting management platform for designing, running, and continuously improving the business meetings that power your organization’s success."

When you declare that you're a platform, you better be able to back that up with some reasonable definition about what that means. In the above support article, we list quite a few properties of a Meeting Management Platform (read about them), including one line about how only a few "platforms" connect to your larger business ecosystem:

Only a few meeting management platforms include ... "Open APIs and extensive business system integrations"

This post is about that one line.

Creating an Open API

An Open API, or perhaps better put, a Public API, is the user interface for software developers seeking to integrate an API-oriented application into other business systems. A Public API (application programming interface) provides documented mechanisms for external software developers to safely observe, measure, and control the application (Lucid Meetings). It's a contract of sorts between the people who create software and the people who would extend that software in new and interesting ways. I love Public APIs.

In the modern age, most web software either provides or makes use of internal APIs for connecting the core software pieces to one another. Lucid Meetings certainly does. But having an internal API does nothing for your external developer community; we've long recognized that a Public API would be a great addition for our Lucid customers and partners. Last month we finally fixed that deficit.

See related documentation, The Lucid Meetings REST API, for a programmer's description of the entire API.

Getting Technical

Developing an open, public API for a web service such as Lucid Meetings can be a daunting task. While there is no shortage of best practices recommendations, there is also no single, prescribed approach for doing this work. In short, there are many ways to get this wrong, and no precise way to get it right. To focus our attention, we established a few guiding principles at the outset:

  1. Create a full featured API with read, write, and modify capability
  2. Adopt a pragmatic, RESTful approach that developers could embrace
  3. Use established patterns for resources (nouns) and actions (verbs)
  4. Use established patterns for authentication and authorization
  5. Fully, completely, lovingly document everything about the REST API
  6. Provide a large sample of relevant examples in our documentation
  7. Demonstrate the value of the API with a single, significant integration

It's fair to say we focused a lot of development attention on the correctness and completeness aspects of the API. Essentially, we focused on the first six points in our guiding principles list, researching relevant API theory as well as the current pragmatic thinking about REST API best practices.

And all that work paid off with a well organized, very usable API for technical developers to create new and interesting integrations with other applications.

What About Our Non-Technical Customers?

The last guiding principle, about demonstrating the value, is perhaps the most important. We can create APIs till the cows come home, but if we can't show how they add value then we're pretty much just talking about their potential, rather than their reality.

We needed a way to showcase the value of our newly minted API and we needed a way to directly enable the success for thousands of customers and their people.

Enter Zapier (rhymes with happier!)

Adding 500 New Integrations with Zapier

We've long been fans of the Zapier approach for connecting web-based applications to one another. You can boil it down to "when this happens in application X, do that in application Y." For example, "when a meeting is scheduled in Lucid Meetings, add a corresponding meeting to my Google calendar." This simple, "if this, then that" model provides a surprisingly effective means to demonstrate the value of an API.

zapier-logo.png

I think of Zapier as an integration broker, providing connectivity between applications that implement versions of "when this happens..." events and/or respond to "create one of these" actions. With our Open, Public API in place we've been able to demonstrate its value in a very significant manner by developing a single Zapier application that creates brokered connections between Lucid Meetings and a large number of well known, popular web applications (more than 500, and growing every day).

To learn how we used our API to create the Zapier integration, see our documented example: An Integration Example (Zapier)

The best part about the Zapier approach is that you don't need to be a technically adept software developer to use it. If you've ever used or configured a web application, and have an understanding of your business need, then you can create interesting mashups between applications that don't necessarily know anything about one another.

So far we've tried the following combinations, and we've definitely learned some tricks through that process. We've also begun to create predefined Zapier connections (shared "Zaps") for popular integration targets to make the connection process even easier.

WHEN A NEW MEETING IS SCHEDULED...

  • Create Google Calendar events from new meetings scheduled in Lucid
  • Create Office 365 events from new meetings scheduled in Lucid
  • Post new meetings scheduled in Lucid to Slack

WHEN NEW MEETING RECORDS GET PUBLISHED

  • Post new Lucid meeting records to Slack
  • Save new Lucid meeting records (text file) to Google Docs
  • Save new Lucid meeting records (Word file) to Google Docs
  • Create Evernote notes from new Lucid meeting records
  • Save new Lucid meeting records as PDF files in Dropbox
  • Save new Lucid meeting records as Word files in Dropbox
  • Save new Lucid meeting records as Word files in OneDrive

WHEN NEW ACTION ITEMS ARE ADDED

  • Create Trello cards from new Lucid action items
  • Create Wrike tasks for new Lucid action items
  • Create GitHub issues from new Lucid action items
  • Create Smartsheet rows for new Lucid action items
  • Create Teamwork tasks for new Lucid action items
  • Create Asana Tasks from new Lucid action items

WHEN A MEETING STARTS

  • Post to Slack when a meeting starts in Lucid
  • Get an SMS alerts when a meeting starts in Lucid

WHEN THINGS HAPPEN IN OTHER SYSTEMS...

  • Schedule meetings in Lucid from new Google Calendar events
  • Schedule meetings in Lucid from new Office 365 events
  • Schedule Project Kickoff meetings in Lucid when new Teamwork projects are added. Fancy, eh!
  • Create Lucid action items from new Trello cards
  • Create Lucid action items for new Wrike tasks
  • Create Lucid action items from new GitHub issues
  • Create Lucid action items from new Teamwork tasks
  • Create Lucid action items from new Asana Tasks

What's Next?

We're super excited about the rapid expansion in our known integrations, enabled by the development of our open, public API, and brokered by Zapier. It's a real game changer for our customers.

We continue to evolve our Public API. Since its initial release in 2016, we've made a number of focused improvements. We plan to continue that work to support our developer community and to extend our existing integrations.

And we're looking forward to highlighting some of the more useful integrations over the coming months. We'll be talking about these integrations in more detail, but we'd also love to hear directly from you, our customers, about what's most valuable.


Find this useful?