Documentation » Automation

Zapier Integration

Published · Last updated

The Groundhogg Zapier add-on is deprecated. Use the Advanced Features Webhook Listener trigger and Webhook action instead. Existing Zapier listeners and webhooks are migrated when you update to Advanced Features 4.5. If some of those steps have not been migrated yet, keep this add-on active until they have been. Once they have been migrated, it is safe to uninstall this add-on.

See Webhook Listener and Webhook. The rest of this page is only for the legacy add-on.

Before you add a step

Install and activate Groundhogg – Zapier. It needs Groundhogg 4.6 or newer, PHP 7.4 or newer, and WordPress 4.9 or newer. Installing an extension is the same process as in the Installation Guide.

The steps are hidden until you turn on legacy steps. Go to Groundhogg » Settings » Misc, find Enable Legacy Flow Steps under Interface, and check Show.

Send a contact to Zapier

In the flow editor, open Actions, then Other, and add Zapier Webook. The name is spelled that way in the picker. Put it at the point in the flow where the contact should be sent.

Paste Zapier’s URL into Webhook URL:. The field’s placeholder is https://hooks.zapier.com/hooks/catch/. You can use replacement codes in that URL. They are filled in for the contact when the step runs.

When a contact reaches the step, Groundhogg sends a POST. The body is that contact as JSON. It is not wrapped in a contact key. The top-level keys are ID, data, meta, tags, user, admin, is_marketable, is_deliverable, and i18n. Email, name, and the other contact fields are inside data.

Test This Zap! sends your user account’s contact, not a contact from the flow. The test only runs if the URL contains https://hooks.zapier.com/hooks/catch/. A live run does not check that. It posts to whatever URL you saved. A successful test alerts Success!

If the request cannot be sent, Groundhogg adds a note on the contact and the contact stops at this step. A response from the other server, even an error response, does not stop the flow.

Receive a contact from Zapier

Open Triggers, then Other, and add Zapier Listener. You can place it anywhere in the flow.

Copy the URL under Copy This Link:. It looks like your site’s /wp-json/gh/v3/zapier address, with auth_token and step_id on the end. That token belongs to this step only.

Do not make this URL public, and do not share it. Anyone with the link can send contacts into this step.

Send Zapier to that URL with POST, PUT, or PATCH. A GET returns a 404. There is no contact wrapper to set. Nested fields are flattened, so a field inside an object is mapped by its own name.

Last Request: is always on the step. Before anything has been sent it shows {"error":"No response received yet."}. After a request is accepted, it shows what was sent, even if the contact could not be saved.

Map the fields

Click Map Fields. The button is there before you send a test. Until a request has arrived, the window says Please send a test request to the provided URL first.

After a request, match each Field ID to a contact field under Map To. Choose * Do Not Map * to skip one. Click Save Changes.

If you never open Map Fields, matching keys are used as they are. email maps to email. If Groundhogg still can’t create the contact, the response includes Please setup your field mapping first.

A request can create or update the contact even when this step is not at the start of the flow. The contact only enters the flow from here when this listener is a starting step, or when they are already in the flow ahead of it. An inactive step answers with The given step is currently inactive.

FAQs / Troubleshooting

Q: I can’t find the Zapier steps.
A: Turn on Enable Legacy Flow Steps and check Show. Then look under Actions » Other for Zapier Webook, and under Triggers » Other for Zapier Listener.

Q: The listener returned 404.
A: Send a POST, PUT, or PATCH. A GET is not accepted.

Q: The listener said the step is inactive.
A: The step has to be active. The message is The given step is currently inactive.

Q: Map Fields is empty.
A: Send a test request first. The window stays on Please send a test request to the provided URL first. until Last Request: has real data.

Q: Zapier didn’t get a contact object named contact.
A: Groundhogg does not send one. Read the fields inside data, meta, and tags.

Q: The test passed, but the live send didn’t leave the flow.
A: Test This Zap! only sends your own user contact, and only to a hooks.zapier.com/hooks/catch/ URL. A live send uses the contact in the flow. If that request can’t be sent, the contact stops on this step and gets a note.

Q: A brand-new contact was saved but never entered the flow.
A: The listener still creates or updates the contact. They only join the flow from this step when it is at the start, or when they are already in the flow ahead of it.