New CiviCRM extension - Zapier

The first release of the CiviCRM Zapier extension is now available! This extension uses CiviRules and Zapier to allow the user to link Civirule actions to actions in third-party applications such as Google Sheets or Slack. We recently used this to save data from CiviCRM into a google sheet whenever an event participant was added. This allowed non CiviCRM users to view and edit participant data with very minimal setup.

We have also been using this with ActiveCampaign so that

  • new contacts are created in AC when a new contact is created in CiviCRM
  • updating contacts in CiviCRM pushes updated data to AC (using External ID for matching)
  • Membership records that are created or updated in CiviCRM are pushed through to AC.

Let's take you through a simple example that will add a row to a Google sheet every time a new contact is created in CiviCRM.

On your Zapier account

  • If you don't have one already create a Zapier account. You can create a free one here.
    • The free account gives 100 actions per month and allows the creation of tasks that have just one trigger and one action. This is probably enough for testing and very small tasks.
  • On your Zapier account, create a zap (you can create as many of these as you need with the free account).
  • In the Triggers section, choose CiviCRM.

  • In the "App & event" tab, Choose Event = New Contact 

    New contact

    • Currently, the only triggers available are for creating or updating participants, memberships, or contacts. Each of these passes either contact, participant or membership data from CiviCRM to zapier. In the case of membership, the contact data is passed as well. 
      Note: Each will trigger when the corresponding civirule (configured below) is triggered. So, for example, you could pass membership data from Civi to Zapier when an activity is created if that is how you set up the rule.

  • In the CiviCRM account field, click sign in and enter the following into the popup.

    • Website Base URL = your site's base URL.
    • Api Key = api key of the permissioned contact.
      • Zapier needs an API key that is associated with a CiviCRM administrator to access data from CiviCRM. To get this key, set up a CiviCRM contact with the required permissions and assign them an API key. This can be done through the database but there is an extension that allows you to do this via the UI which I highly recommend.
    • Key = CiviCRM site key found in civicrm.settings.php.
connect account popup
  • Configure google sheets
    • In the action tab choose Google sheets
    • Under "App & events" choose create spreadsheet row
    • Under "Account" Link your Google account
    • Under "Action" Choose the spreadsheet you wish to save the data to
  • The completed zap should look something like this
    Completed Zap

On Your CiviCRM Site

  • Ensure the Civirules extension is installed 
  • Navigate to CiviCRM > Admin > CiviRules > Manage Rules and create a rule that triggers when "Individual is added."
  • In the Linked Action(s) section, add an action with the value = "Trigger zap" and click save.
  • On the next page, set “Select triggering Zap” = “Create Contact” => Save.
  • Test by creating a new contact. A new row with the contact information should appear in the spreadsheet linked to in Zapier.

This is about as simple an example as you can get. There is a vast array of different third-party applications to which you can link Zapier actions. For example, you might want to send an email each time an event participant is added. Or maybe you want to load contacts from CiviCRM into another CRM during a site transfer while the old CRM is still being kept up to date. With a premium Zapier subscription, you can also link multiple actions to the CiviCRM event trigger. E.g. you could send an email and a Slack notification and load some data into a spreadsheet when a membership is updated.

If you want to contact us about adding new capabilities to this feature please use our Contact form.