
An automated HubSpot–Pretix workflow converts event-list membership into verified registrations, prevents duplicates and creates an auditable sync trail.
The client runs recurring in-person and hybrid events as a core part of their marketing and community engagement.
Two systems were involved in running any given event: HubSpot, where events are created and marketed and where contact lists are managed, and Pretix, their dedicated ticketing/registration platform where attendees actually get their tickets.
These two systems had no connection to each other. HubSpot didn't know who had a Pretix ticket, and Pretix didn't know who was supposed to be invited based on HubSpot's marketing lists.
This project built the missing link between the two: a standardized setup process for configuring new events correctly, plus a custom automated workflow that turns HubSpot list membership directly into Pretix tickets, with built-in safeguards against duplicates and a way to audit that every run happened as expected.
The client needed a reliable guarantee that every contact on a HubSpot event-marketing list actually ended up with a corresponding Pretix ticket and that this happened without someone manually checking and creating orders one by one.
Before this project, that guarantee didn't exist. The process depended entirely on a person cross-referencing the HubSpot list against Pretix by hand and manually creating tickets/orders for anyone missing one. That manual dependency created three concrete risks that the client was actively exposed to:
This wasn't a one-off problem because the client runs events recurring, every single new event repeated this same manual risk, meaning the exposure compounded rather than being a single fixable incident.
Before this project, the two systems operated independently with several concrete gaps:
pretix_event_slugs property. This told you who should attend an event, but there was no automated process to convert that list membership into an actual Pretix order; a human had to do it.We built this in three parts:
We documented and implemented a repeatable 10-step setup process for every new event, including per-ticket required email collection using Ask and require input. Email is the join key used to match Pretix attendees back to HubSpot contacts.
The setup also requires selecting the correct organizer and granting the integration team event-level permissions. Pretix does not grant this access automatically when a new event is created.
We connected Pretix events to HubSpot Marketing Events so that registration counts, participation and engagement can be viewed directly from HubSpot's Marketing Events dashboard. Teams can review attendance and no-shows without switching to Pretix for every check.
The scheduled HubSpot workflow runs daily at 9:30 AM CEST. At the documented stage, it was gated to a single test contact before full rollout.
It uses two custom code actions:
uploaded_to_pretix, and extracts each event's pretix_event_slug.pretix_event_slugs, loads all contacts and existing Pretix orders, then creates a new €0.00 paid order only when the contact has no existing registration.
HubSpot contact lists and Pretix orders can span multiple API pages. The implementation therefore uses the relevant after, offset or vidOffset cursors instead of assuming a single response contains every record.
The email-based duplicate check makes the workflow safe to run repeatedly without creating duplicate registrations.