Eventbrite Attendee Registration Sync
On a daily schedule, the flow lists an organization's live Eventbrite events, reads each event's attendees, and idempotently upserts them into a Dataverse registration table - creating the row and sending a branded Outlook confirmation the first time an attendee is seen, and refreshing the existing row on later runs (no duplicates, no repeat emails).
Provided as-is, without warranty of any kind. Review and test each pattern in a non-production environment before deploying it to live automations. See our Terms.
Overview
FlowLibs - Eventbrite Attendee Registration Sync keeps an organization's Eventbrite registrations in sync with Dataverse and sends each new registrant a branded confirmation email. On a daily schedule it lists the organization's live Eventbrite events, pulls the attending registrants for each, and idempotently upserts them into a Dataverse table - creating a registration row and sending an Outlook confirmation the first time it sees an attendee, and quietly refreshing the existing row on subsequent runs (no duplicates, no repeat emails).
Why it matters: Eventbrite handles ticketing but not the surrounding CRM capture and branded follow-up. Wiring it to Dataverse and Outlook turns each registration into a tracked contact record and a confirmed, on-brand attendee experience, with the idempotency ledger making the sync safe to run as often as you like.
This is a demo/reference flow shipped Off. Going live requires only authorizing the three connections and setting the environment-variable values.
Use Case
A marketing/operations team uses Eventbrite for event registration and wants every attendee captured in Dataverse, a branded confirmation sent automatically, and a durable record to drive follow-up campaigns and attendance reporting.
Flow Architecture
Recurrence Check New Registrations
Recurrence (Day/1)Polls daily for new registrations
Initialize variables
Initialize Variable x5Correlation id (guid), Eventbrite API base, source label, registration status, and confirmation intro
List Live Events
Eventbrite GetOrganizationEventsLists the org events filtered by flowlibs_EventbriteEventStatus
Apply to each Event
ForeachLoops over the returned events
Get Event Attendees
HTTP GET (Eventbrite REST)/v3/events/{id}/attendees/?status=attending (no connector op)
Apply to each Attendee
Foreach (concurrency 1)Serial loop for safe idempotency
Check Existing Registration
Dataverse ListRecordsLooks up the attendee by Eventbrite attendee id
Condition Is New Registration
IfBranches on whether the attendee already exists
Create + Confirm (new attendee)
Dataverse CreateRecord + Outlook SendEmailV2Creates the registration row then sends the branded confirmation
Update (existing attendee)
Dataverse UpdateRecordRefreshes status/timestamp on the existing row (no email)
Environment Variables
| Schema name | Type | Default | Description |
|---|---|---|---|
| flowlibs_EventbriteOrgId | String | (set per tenant) | Eventbrite organization id for GetOrganizationEvents (shared across FlowLibs Eventbrite flows) |
| flowlibs_EventbriteApiBase | String | https://www.eventbriteapi.com | Eventbrite API base URL for the REST attendees call |
| flowlibs_EventbriteApiToken | String | (set per tenant) | Eventbrite private OAuth token for the HTTP attendees call |
| flowlibs_EventbriteEventStatus | String | live | Event status filter (live / started / ended / all) |
| flowlibs_EbRegistrationTableName | String | flowlibs_ebattendeeregistrations | Entity set used by the idempotency ListRecords check |
Connectors & Connections
| Connector | API name | Actions used |
|---|---|---|
| Eventbrite | shared_eventbrite | GetOrganizationEvents |
| Microsoft Dataverse | shared_commondataserviceforapps | ListRecords CreateRecord UpdateRecord |
| Office 365 Outlook | shared_office365 | SendEmailV2 |
Note — All connections are referenced as solution connection references; the flow is portable between environments as long as a connection is mapped at import time.
Customization Guide
Almost every realistic variant of this flow can be implemented by changing environment variable values. A few cases require small edits inside the flow definition — those are called out explicitly below.
- Sync cadence
- Change the Recurrence frequency (e.g. hourly) for near-real-time capture; the idempotency ledger keeps it duplicate-safe.
- Event scope
- Set flowlibs_EventbriteEventStatus to started, ended, or all to widen which events are pulled.
- Confirmation copy
- Edit the confirmation intro variable or the Send_Confirmation_Email body to rebrand; add an ICS calendar attachment if desired.
- Reminder / no-show branches
- Extend with a second scheduled flow that reads flowlibs_registeredon to send day-before reminders and flag non-attendees.
- Tiered comms
- Branch the email by flowlibs_ticketclass (e.g. VIP vs general admission).
Key Expressions
The flow is intentionally light on Power Fx / WDL gymnastics — the heaviest expressions are the branch-name concatenation and the approval outcome check. They are listed below in the order they appear in the flow.
EXPR.01Events list
Safe events array
EXPR.02Attendees list
Safe attendees array
EXPR.03Idempotency lookup filter
OData filter by Eventbrite attendee id
EXPR.04Is-new test
True when no existing row
EXPR.05Existing record id (for update)
Primary key of the existing row
EXPR.06Attendee email
Attendee email with fallback
EXPR.07Attendees HTTP URI
Eventbrite REST attendees URL
Customize & download
Generate a ready-to-import copy of this solution with your environment-variable values baked in — available on Base, Pro, or Team.
Upgrade to customize
Comments
Sign in to join the conversation.
Sign inNo comments yet. Be the first to share your experience with this flow.