Integration quickstart
Ship Eventyvo on your website — Model A (features only) then optional Model B (secure Eventyvo data).
Goal
Go from zero to Eventyvo on a third-party site.
- Model A — Features on your website; Eventyvo keeps the operational data (embeds / subwebsite; no browser keys).
- Model B (optional) — Also pull related data already at Eventyvo into your CRM / doors via server REST + verified webhooks.
Details: Two website integration models.
Hosts (canonical)
Embeds & docs BFF:https://docs.eventyvo.com
App / dashboard:https://app.eventyvo.com
Connect REST:https://api.eventyvo.com
Do not usewww.eventyvo.com/embed/...for Connect embeds.
Step 1 — Publish an event
- Sign in at app.eventyvo.com
- Create or open an event and set a public slug
- Enable modules you need (forms, agenda, …) on your subscription
- Publish the event so embeds can load it
See Publish event.
Step 2 — Confirm Connect entitlement (Model B)
Your customized offer must include API / Connect capacity if you will use REST or webhooks. Model A embeds do not need an API key in the browser.
- Billing: Entitlements · API capacity
- Keys: Connect API keys
Step 3 — Build an embed snippet (Model A)
Open the Embed builder (sign-in required), pick your event, copy the snippet.
Minimal event card:
<div data-eventyvo="event-card" data-event-slug="your-event-slug" data-theme="light"></div>
<script async src="https://docs.eventyvo.com/embed/v1/eventyvo-embed.js"></script>
Paste into any page that allows third-party scripts and iframes. For CSP / iframe rules see CSP, iframes & CORS.
CMS shortcuts: WordPress · Webflow · React · Static HTML
Step 4 — Verify on a third-party page (Model A)
- Open your page in a private window
- Confirm the iframe loads from
docs.eventyvo.com - If nothing appears: event unpublished, wrong slug, or CSP blocking iframes/scripts
Registration CTA is a button that opens Eventyvo-hosted registration — not a full checkout form inside the iframe. See Registration CTA and Registration forms.
You can stop after Step 4 if you only need features on the site and will keep attendee/payment data inside Eventyvo.
Step 5 — Server Connect REST (Model B)
Use when your stack must read related Eventyvo data (events list, submissions, orders, check-in). Never call Connect from browser JS on your marketing site.
curl -s -H "X-API-KEY: ev_live_xxxxxxxx" \
"https://api.eventyvo.com/api/v1/integrations/zapier/events"
Your key is scoped to your company. Full surface: Connect REST. Test keys: Sandbox. Security: Security checklist.
Step 6 — Webhooks (Model B)
- /developer → Webhooks → URL + events (
FORM_SUBMISSION,PAYMENT_SUCCESS,ATTENDANT_CHECKED_IN, …) - Verify HMAC with
@eventyvo/embed— Verification - Payload shapes — Payload examples
Full-site alternative (still Model A)
Need a multi-page event site under Eventyvo or your own domain? Prefer Subwebsite & custom domain instead of many embeds. Add Model B only if you also sync data out.
Journey map
| Need | Model | Path |
|---|---|---|
| Card / agenda on brand site | A | Embeds |
| “Register” button | A | Registration CTA → Eventyvo form |
| Own domain event site | A | Subwebsite |
| CRM / Zapier sync of Eventyvo data | B | Webhooks + Zapier REST |
| Door check-in hardware | B | POST /api/v1/checkin — Tickets → pay → check-in |
What Connect is not
- Organizer GraphQL is for first-party Eventyvo apps only — not a public integrator API (Auth overview).
- In-iframe full form + payment checkout is not a Connect embed today. Host registration on Eventyvo (CTA / subwebsite Register page); for Model B sync via webhooks after submit.