Hey all,
I’m trying to use Zapier to keep changes in Ghost synchronized over to Mailchimp.
The scenarios I’d like to cover are:
- new member → make a Mailchimp subscriber, including setting the free or paid tag.
- member changes email → archive existing Mailchimp subscriber, make a new subscriber (this seems to be the only option for “changing” email)
- member changes name → update Mailchimp
- member switches between free and paid - add new mailchimp tag, remove the old one.
Unfortunately, I seem to get both a member created and a member updated webhook for a new non-paying member. And they arrive in either order.
And when I create a new paying member (from a nonmember), I get four hooks.
I’m losing my mind a little bit here. When hooks arrive out of order, I may receive a webhook showing the user is not unsubscribed after the one showing the member is subscribed. Ideally, I’d use the ‘previous’ field to figure out what a given webhook was actually trying to change, but the previous field doesn’t include the status of ‘subscribed’, and the Zapier-Ghost integration isn’t letting me drill down to see if the previous: newsletter: [0] field exists or not, although the webhook is providing that information.
Does anyone have something like this working? Any better ideas other than start over and write my own cloud function to replace Zapier? (If I could invent time travel, I’d totally go back to 7 hours ago and just do that… ARGH.)