Connect the PodPlay App in ActiveCampaign
Use this when a Club connects the PodPlay app inside ActiveCampaign App Studio. This is a different path from the native Deep Data integration (custom objects, ecommerce connections, Segment). Non-enterprise clubs cannot write ActiveCampaign custom objects; App Studio is the product for them. See ActiveCampaign with Segment for the Deep Data path.
What the Club enters
PodPlay subdomain. The first label of the Club site. For https://gotham.podplay.app, enter gotham.
PodPlay API key. Club staff cannot create API keys in the dashboard. A PodPlay admin creates a readonly key on API keys and sends it to the person who will connect the app. Do not mint a writeable PodPlay key for App Studio.
ActiveCampaign sends the key as the x-api-key header and requests the Club connection from PodPlay. A successful connect shows the Club display name.
How ingest works
On Finish, App Studio creates an ingest webhook URL (${webhook.url}) and POSTs it to PodPlay:
POST https://${subdomain}.podplay.app/apis/v2/integrations/activecampaign/webhooks
Body: { "url": "<ActiveCampaign ingest URL>" }. PodPlay stores that URL and returns { id } as webhook_id.
When a booking is created, checked in, or cancelled, PodPlay POSTs { "contact": { email, firstName, lastName }, "data": { email, firstName, lastName, …booking fields } } to that stored ActiveCampaign URL. App Studio maps contact email / firstName / lastName, upserts the Contact, then transforms and syncs the Booking object. PodPlay does not poll, and it does not write App Studio objects through the Deep Data custom-object API.
Uninstall calls DELETE /apis/v2/integrations/activecampaign/webhooks/${webhook_id}.
Paste the app in App Studio
Paste the full app from
applications/api-v2/src/activecampaign/activecampaign-app-studio.app.json. That file is auth, player Contact, the Booking object, a slim email / firstName / lastName map, a contact/bookingdata_pipeline, and webhookdata_intakenamedbooking-webhook.Auth-only slice:
applications/api-v2/src/activecampaign/activecampaign-app-studio.auth.json.api.base_urlis the club host,https://${subdomain}.podplay.app. Connection and webhook calls add/apis/v2.
Check the connection
Create or reuse a readonly API key for the Club.
In the App Studio sandbox, connect with the Club subdomain and that key.
Connect should succeed and show the Club display name.
Finish mapping so App Studio registers
${webhook.url}with PodPlay.A wrong key or subdomain must fail.
A booking should POST to the stored ActiveCampaign ingest URL. Identify events do not POST: the pipeline syncs a Booking for every POST, so a contact-only POST would show up as a blank Booking row. Players are added as contacts when they book.
Last updated
Was this helpful?

