For the complete documentation index, see llms.txt. This page is also available as Markdown.

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/booking data_pipeline, and webhook data_intake named booking-webhook.

  • Auth-only slice: applications/api-v2/src/activecampaign/activecampaign-app-studio.auth.json. api.base_url is the club host, https://${subdomain}.podplay.app. Connection and webhook calls add /apis/v2.

Check the connection

  1. Create or reuse a readonly API key for the Club.

  2. In the App Studio sandbox, connect with the Club subdomain and that key.

  3. Connect should succeed and show the Club display name.

  4. Finish mapping so App Studio registers ${webhook.url} with PodPlay.

  5. A wrong key or subdomain must fail.

  6. 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?