How it Works

Our Paid Memberships Pro Zapier integration includes the following triggers and actions to send information to Zapier and connect with third-party apps. A “Trigger” will send data to Zapier when changes are made on your Membership site. An “Action” will process incoming data when a change is sent to your Membership site via Zapier and a connected third-party app.

Continue reading about the available Triggers and Actions in this plugin and a sample Zap setup for each type of integration.

Making a Zap

Zapier uses the term ‘zap’ to refer to the basic connections that automate a process for you. A Zap is a trigger with an event, and the triggers available in this integration are listed below:

Triggers

  • Changed Membership Level: pmpro_after_change_membership_level
  • New Order: pmpro_added_order
  • Updated Order: pmpro_updated_order

There are many possible ways to use these triggers through Zapier, and Zapier has apps for over 1,000 tools. A few of the more popular ways we see Paid Memberships Pro working with Zapier include:

  • Populating and Updating Google Sheets with new lead information from your Paid Memberships Pro site.
  • Integrate with a third-party email marketing program, like ActiveCampaign or Campaign Monitor, where there isn’t an existing Add On for PMPro.
  • Send member information to a CRM system like HubSpot or Salesforce.
  • Adding new lead information to an email sent to your Gmail address so you can personally follow up with your members.
  • Create invoices from membership orders in your QuickBooks Online account.

Setting Up A Webhook In Zapier

Triggers are used to activate the Zap, in our case we will use the webhook option. This option is used for all Zaps that the Zapier Integration for Paid Memberships Pro uses.

  1. Login to your Zapier Account or create a new account with Zapier.
  2. Select MAKE A ZAP which can be found near the top of the screen.
  3. Under the “Choose A Trigger App”, select “Webhooks”.
    PMPro Zapier Step 1: Choose a Trigger App
  4. Select “Catch Hook”. Click “Continue”.
    PMPro Zapier Step 2: Select Catch Hook
  5. On the next screen, leave the “Pick off a Child Key” field blank. Click “Continue”.

You have successfully created a custom webbook URL. Copy the webhook URL to your clipboard using CTRL + C or CMD + C. This is the value that will be pasted into the Memberships > PMPro Zapier settings page in your WordPress dashboard.

Admin Settings for Sending Data via Zapier Integration for Paid Memberships Pro


Configuring Paid Memberships Pro to Use Your Webhook

There are three triggers you can use to allow integration with Zapier: “New Order,” “Updated Order,” and “Changed Membership Level.” Triggers can be configured on the Memberships > PMPro Zapier settings page in your WordPress dashboard.

  1. Check the box next to the Trigger(s) you would like to use for this Zap.
  2. Paste the “Custom Webhook URL” created in the steps above into the Webhook URL field for the Trigger(s) you would like to use for this Zap. You may use the same Webhook URL for all three Triggers or three different Webhook URLs to integrate into three different applications.
  3. After pasting the Webhook URL into the appropriate field, click “Save Changes”.

Now, Zapier will run a test to confirm that the Webhook is working. In order to complete the test, you must make a change on your site that would initiate the appropriate trigger. An easy way to do this for each Trigger is:

  • Changed Membership Level: Edit a user and change their membership level.
  • New Order: Add a new order via the Memberships > Orders page in your WordPress dashboard.
  • Updated Order: Edit an existing order via the Memberships > Orders page in your WordPress dashboard.

If your test is successfully, you can click the “view your hook” to ensure the data is correct and also preview what data will be available for your Actions.
PMPro Zapier Step 3: Test Webhook


Testing Your Connection

After saving the settings in your Paid Memberships Pro Zapier settings page, you should test that the connection is working properly. Navigate to your Zapier account to test the webhook.

  • To test a “New Order” trigger, perform a checkout on your membership site.
  • To test an “Updated Order” trigger, change the status of an order to “refunded”.
  • To test a “Changed Membership Level” trigger, edit a user record and modify the membership level.

You do have the option to skip this step in Zapier, although it is a very good idea to test at this time so that you can ensure your integration is working properly.


Setting Up The Action

Zapier offers over 1,000 services that you can integrate with. For this example, we are going to create a log of data using the “Changed Membership Level” trigger and populate a Google Sheet. You may browse and select a different service based on your needs.

  1. On the “Choose an Action App” screen, select “Google Sheets”.
    PMPro Zapier Step 4: Choose an Action App
  2. Select “Create Spreadsheet Row” and continue.
  3. Connect your Google Sheets Account to your Zapier Account.
  4. In Google Sheets, create a new Google Sheet to send this data to. You must add column labels in your sheet. These labels will correspond to the data you want to capture during the set up process in Zapier. Data can grouped and added a single column or each piece of data can be added to a unique column.
  5. In Zapier, you must select the “Spreadsheet” for this Trigger as well as assign spreadsheet columns to the data available in your Trigger.
    PMPro Zapier Step 5: Set Up Spreadsheet Row
  6. The following data is available via the “Changed Membership Level” Trigger:
    • username
    • level_cycle_number
    • user_id
    • level_trial_limit
    • level_trial_amount
    • level_expiration_number
    • level_ID
    • level_enddate
    • level_initial_payment
    • level_name
    • old_level_status
    • level_startdate
    • level_billing_limit
    • user_email
    • level_billing_amount
    • level_cycle_period
    • level_expiration_period
  7. Now run a test to send data to your spreadsheet.
    PMPro Zapier Step 6: Send Test Data
  8. If your test is successful, you can select to turn on the Zap on the next screen.
    PMPro Zapier Step 7: Turn on Zap

Receiving data into your Membership site

As with the triggers, this integration can also receive data from a Zap and make changes to your Membership site. This means that external applications can send updates to your Paid Memberships Pro member data.

Navigate to Memberships > PMPro Zapier to locate your Webhook Handler URL and API Key. This information will be used when connecting to a Paid Memberships Pro account in Zapier.

Admin Settings for Receiving Data via Zapier Integration for Paid Memberships Pro


Here are the actions available when receiving data from Zapier

add_member

The following parameters can be passed into the add_member Action:

  • user_email (required)
  • level_id (required)
  • user_login
  • full_name
  • first_name
  • last_name

Note that user_email and level_id are required parameters; you must also pass in at least one of user_login, full_name, first_name, or last_name.

change_membership_level

The following parameters can be passed into the change_membership_level Action:

  • user_id
  • user_email
  • user_login
  • level_id (required)

Note that level_id is a required parameter; you must also pass in at least one of the following user identifiers is also required: user_id, user_email, or user_login.

add_order

The following parameters can be passed into the add_order Action:

  • user_id
  • user_email
  • user_login
  • level_id
  • subtotal
  • tax
  • couponamount
  • total
  • payment_type
  • cardtype
  • accountnumber
  • expirationmonth
  • expirationyear
  • status
  • gateway
  • gateway_environment
  • payment_transaction_id
  • subscription_transaction_id
  • affiliate_id
  • affiliate_subid
  • notes
  • checkout_id
  • billing_name
  • billing_street
  • billing_city
  • billing_state
  • billing_zip
  • billing_country
  • billing_phone

update_order

The following parameters can be passed into the update_order Action:

  • order, order_id, code, or id (required)
  • user_id
  • user_email
  • user_login
  • level_id
  • subtotal
  • tax
  • couponamount
  • total
  • payment_type
  • cardtype
  • accountnumber
  • expirationmonth
  • expirationyear
  • status
  • gateway
  • gateway_environment
  • payment_transaction_id
  • subscription_transaction_id
  • affiliate_id
  • affiliate_subid
  • notes
  • checkout_id
  • billing_name
  • billing_street
  • billing_city
  • billing_state
  • billing_zip
  • billing_country
  • billing_phone

has_membership_level

The following parameters can be passed into the has_membership_level Action:

  • user_id
  • user_email
  • user_login
  • level_id (required)

Note that level_id is a required parameter; you must also pass in at least one of the following user identifiers is also required: user_id, user_email, or user_login.