Integrating Headless CMS with Zapier
Tags: webdev, javascript, productivity, tooling
Published: 2021-03-03 13:40:50

###Introduction:

One of the enormous problems I've faced while working on projects is having to deal with integrating content and events into third-party services.
It's time-consuming, demands in the application in question grow, so does the mental strain in keeping up to pace with all the changes in the REST APIs involved. If that wasn't challenging enough, customer demands to integrate with all sorts of third-party services can (if left unchecked) be unsustainable in the long-run.


###Zapier: The integration helper

Zapier is a web service that automates data flow between over 500 web apps, including MailChimp, Salesforce, GitHub, and Trello.

Imagine building an application that triggers when a user fills out your Typeform form, then automatically creates an event on your Google Calendar, sends a Slack notification, and finishes up by adding a row to a Google Sheets spreadsheet.
Writing all those functionalities from scratch is overkill and can be time-consuming. In such cases, Zapier comes in extremely handy.
  
For engineers tasked with writing manual integrations or reverse engineer some task, thinking about solving the same problem with Zapier cuts down most of the work they probably need to do.
The reason being is that instead of having to deal with parsing and validating JSON schemas and having to generate request payloads manually, all of this is handled by Zapier's internal integrations, removing the need to develop and maintain code for every REST API.

In terms of Content Management, this can be incredibly useful for managing the flow of content across various channels, including other CMS systems. 
 For example, Agility CMS already has a modern-webhook system that integrates exceptionally well with [Zapier's back-end system](https://zapier.com/engineering/automating-billions-of-tasks/) (and [here](https://zapier.com/developer/documentation/v2/how-does-it-work/)).
Because of this, all of the changes made on Agility CMS are available nearly instantaneously* via Zapier's ability to integrate with subscriber RestHook systems. It's essential for ensuring that all the various channels receive the new content the moment they become published.

This article would use Agility CMS as a case study because of its seamless integration with Zapier and Its other exciting features that other headless CMS might not have.


###Connecting with Agility CMS

For this tutorial, we will be using Agility CMS as our case study.
When you create an Agility CMS Zap, you'll need to enter your Agility CMS API key along with some other required fields.


![Agility CMS API Key](https://cdn.zappy.app/6b86d4b1c34ef09b3a317dd6d1cb6000.png)


To locate your API Key in your Agility CMS account, please follow these steps:

1. Log into the Agility Content Manager.
2. Click on "Settings" on the left-hand Navigation
3. Choose "API Keys"
4. Click the "Copy" button beside each of the authorization values and paste into the appropriate field.


![Agility CMS API Key in account](https://cdn.zappy.app/61ee211553cf8ac15c710c054ce99110.png)


Paste your key back into your Zapier account and then “Continue.”
If all steps were successful, your Agility CMS account will now be successfully connected.

###Conclusion
Agility lets you integrate your content into almost any website and application due to the flexibility it has in regards to how you do so (REST endpoints, Webhooks), and now with [Zapier integration] (https://zapier.com/help/doc/how-to-get-started-with-agility-cms-on-zapier), it can integrate with so much more!
If you have any comments or questions about building apps with Agility CMS, [reach out to them on Twitter](https://twitter.com/AgilityCMS).