# Build one attendee directory from all your Eventbrite events

> See everyone who has ever come to one of your events in a single searchable table, then sync your superfans and lapsed regulars straight into Mailchimp.

- Workflow type: app
- Services: Eventbrite, Mailchimp
- Categories: Marketing, Operations
- Published: 2026-08-21

## What it does

- Pulls every event you have run and everyone who registered, then rolls them up into one row per person, so you can stop exporting a separate spreadsheet for each event and stitching them together with lookup formulas.
- Shows how many events each person registered for, how many they actually showed up to, their first and most recent event, and what they have spent with you over their whole history.
- Gives you one-click views for the groups that actually matter: superfans who keep coming back, people who register again and again but never check in, and regulars who have gone quiet.
- Lets you push any filtered group into a Mailchimp audience, tag them, and save them as a reusable segment, plus a button that has an assistant draft invite or win-back copy for you to review.

## What you'll need

- An Eventbrite account that runs events under an organization you manage
- A Mailchimp account with at least one audience you can add contacts to
- Check-in data from your past events if you want the no-show views to be accurate, though the app flags and sets aside events where nobody was ever checked in

## Prompt

Build me an app that turns my scattered Eventbrite event history into a single people directory. Right now the only way to see who keeps coming back is to export an attendee report for every event and stitch them together with lookup formulas in a spreadsheet. I want one screen instead.

The main view is a searchable, sortable table with one row per person across every event I have ever run. Columns: name, email, number of events registered for, number of events actually attended, attendance rate, first event, most recent event, lifetime spend, and current Mailchimp status. I should be able to search by name or email and sort by any column.

To build the directory, use Eventbrite List User Organizations to let me pick which organization to load (remember the choice). Then List Events by Organization for every past event, and List Attendees by Event for each of those events to get the registration records. Use List Orders by Organization to get what each person paid, and sum it per person for lifetime spend. Get Attendees Report is available as a faster aggregate cross-check on the totals if it helps.

Roll attendees up by lowercased email address. This matters: the same person often registers with slightly different name spellings across events, so email is the identity key and everything else is merged onto it. Display the name from their most recent registration, and keep the full list of name variants to show in the detail view. Match Eventbrite orders to people by lowercased email the same way.

Handle check-in data carefully. Attendance comes from the checked_in field on the Eventbrite attendee record, but plenty of events never used check-in at all. If no attendee on an event has checked_in set to true, treat that event as having no check-in data: flag it in the UI, exclude it from the attended and no-show math, and do not count its registrants as no-shows. Attendance rate should only use events that actually have check-in data as the denominator, and the app should tell me how many events were excluded so I know how much to trust the numbers.

Give me saved views I can switch between with one click. Superfans: attended three or more events. Ghosts: registered for multiple events but never checked in to any of them, counting only events with check-in data. Lapsed regulars: two or more past events but nothing in the last six months. Plus an All People view. The thresholds (three events, six months) should be editable settings, not hardcoded. I also want to save my own views from whatever filters I have applied, and filter on things like event count, attendance, date range, spend range, and Mailchimp subscription status.

Each row expands to show that person's full event history: event name, date, ticket type, whether they registered and whether they checked in, and the order amount. The expanded row also shows their current Mailchimp state, using Search Members on their email to find them and List Member Tags to show their current tags. Make it clear when someone is not in the audience at all versus subscribed, unsubscribed, or cleaned. From this panel I can also drop a note on the person with Add Member Note.

From any filtered view I need bulk actions on either the whole filtered set or a checkbox selection. First, sync those people into a Mailchimp audience with Add or Update Member (Upsert), letting me pick the target audience from List All Audiences and writing useful merge fields like first name, last name, events attended, lifetime spend, and last event date. The upsert must not resubscribe anyone: only set a subscription status for contacts who are new to the audience, and leave the status of existing members untouched. Second, apply or remove a tag such as superfan or lapsed across the group with Add or Remove Member Tags, using active to add and inactive to remove.

Third, turn the current filter into a reusable static segment: Create Segment with a static segment named from the view and today's date, then populate it with Batch Add or Remove Segment Members (Add Member to Segment works for one-off additions). Every bulk action should show progress, then a result summary with a list of anyone who failed and why, since some people will not have valid emails or will already be unsubscribed.

Add a "Draft outreach for this segment" button that kicks off a background agent on the currently selected or filtered group. The agent reads that group's event history and what they actually attended, works out what the group has in common (the kinds of events they come to, how recently, how much they have spent), and drafts tailored copy: an invite for engaged groups or a win-back for lapsed ones, with two or three subject line options plus the body. It writes the draft back into the app, attached to the view or segment it was generated from, with a timestamp and the criteria and headcount it was based on, so I can review, edit, and approve it. The app must never send a campaign. The drafts are for me to review and then use in Mailchimp myself.

On persistence and performance: cache the rolled up directory rather than refetching everything on each page load, show a last refreshed timestamp, and give me a manual refresh button. Eventbrite is limited to about a thousand requests an hour and paginates with continuation tokens, and pulling attendees for every event is the expensive part, so fetch incrementally and store the results. Mailchimp pages with count and offset, and its member lookups key on the MD5 hash of the lowercased email. Saved views, agent drafts, and their approval state all persist, and drafts should record who requested and who approved them.

## How to customize

- Change what counts as a superfan or a lapsed regular, since three events and six months are just starting points
- Pick which Mailchimp audience the sync writes to and choose your own tag names instead of superfan and lapsed
- Adjust the tone and angle the drafting assistant writes in, and which details from a person's history it leans on

## FAQ

### Does this email my attendees for me?

No. The app builds the directory and syncs people, tags, and segments into Mailchimp. Any copy the assistant drafts lands back in the app for you to read and approve, and you send it from Mailchimp when you are happy with it.

### What if the same person registered with different name spellings?

People are matched on their email address in lowercase, so slight differences in how someone typed their name across events still roll up into one person. The expanded row shows every name variant it found.

### What happens for events where I never used check-in?

Those events get flagged and left out of the attended versus no-show math. That way nobody is labelled a ghost just because check-in was never switched on at an event they came to.

### Will this resubscribe people who opted out of my Mailchimp list?

No. Anyone already in your audience keeps their current subscription status. The sync only sets a status for brand new contacts and refreshes the details on people who are already there.

### How far back does the directory go?

It covers all past events under the Eventbrite organization you connect, so you get your full history in one table rather than one event at a time.

### Do I need a paid Mailchimp plan?

Any Mailchimp plan with an audience you can add contacts to will work for syncing, tagging, and notes. Static segments are available on standard Mailchimp audiences, so most accounts can use the saved segment feature too.

Use this prompt in General Input: https://www.generalinput.com/prompts/build-one-attendee-directory-from-all-your-eventbrite-events