How We Created an Open API (and Added 1,000 New Integrations with Zapier)

lucid-meetings-banner-blue.png

 

Originally Published: July 16, 2016 when Zapier had 500+ Applications!

We began planning our public API implementation in late 2015. We had numerous requests for full Read/Write API access to the data model and were responding to stated customer needs.

By early 2016 we had the first version of the API tested and preview-ready. But an interesting thing happened — we started hearing that people wanted a “simplicity layer” on top of the programmer-level API. What form would that take, exactly?

We started hearing that people wanted a “simplicity layer” on top of the programmer-level API

Well boy howdy, were we ever glad to find Zapier! Here’s the thing, Zapier provides a “point solution”-oriented approach that addresses specific needs that real people in the real word have identified—needs that were outside our direct experience.

The core trigger-action model implemented by Zapier is super easy for non-technical users, and the promise of building a simplicity layer was compelling and real. With Zapier’s codeless integrations (“Zaps”), extending Lucid Meetings with workflow automation became easy as pie.

The Bottom Line

By developing a Zapier application (this is the piece that each online service builds to expose their service via Zapier), we gained several immediate benefits for our nascent API work:

  • an independent software application using our API,
  • a challenge to improve and extend our API in interesting ways,
  • immediate integration opportunities with hundreds of other services,
  • an opportunity to talk about easy-to-use integrations with our user community.

We were super excited to launch both the API and hundreds of Zapier-based integrations just a few months later.

But here’s the biggest takeaway—in the short time since our initial Zapier release we’ve gained another 500 integration opportunities, simply by being part of the Zapier ecosystem!

As a service provider, we’re thrilled to have our integration reach extended every day as new applications are launched on Zapier. And as customer advocates, we’re even happier when those applications make life easier for users of our platform and services.

Read on for more background on our integration approach. Or skip all that and just start boosting your productivity by automating Lucid Meetings workflows this New Year.

About our API and Zapier Integration

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 1,000 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 1,000, 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 quite a few combinations, and we’ve definitely learned some tricks through that process. We’ve also craeted 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 in 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.