Attio Integration
Sync event invitations, RSVPs, and attendance data from Gatsby to Attio automatically. Connect your event management platform to your CRM through Google workspace sync and webhooks—track who attended which events, RSVP patterns, and engagement history directly in Attio contact records.
Connect Gatsby event activity to Attio in two ways: automatic email and calendar sync through Google, plus structured event data through webhooks. Your event invitations, RSVPs, and attendance history all flow into your CRM.
This page details how to get event information from Gatsby to Attio. If you want to bring information about your contacts from Attio to Gatsby, you can utilize our API (Zapier optional). Contact us for more information.
How the Integration Works
Section titled “How the Integration Works”Gatsby connects to Attio through two complementary approaches:
-
Automatic Email & Calendar Activity
When you send event invitations and calendar invites through your connected Google account, Attio captures that activity automatically. Every invitation, follow-up email, and calendar event appears in your contacts’ Attio profiles—no configuration needed beyond connecting the accounts.
-
Structured Event Data
For RSVP status, attendance records, and registration responses, you set up webhooks through Zapier (or Make/n8n). This gives you full control over how event participation data structures in Attio—create lists, update attributes, or build custom objects based on what your team needs.
Together, these capture both the communication timeline and the structured event participation data in Attio.
Automatic Email & Calendar Sync
Section titled “Automatic Email & Calendar Sync”How It Works
Section titled “How It Works”Most event platforms send invitations from their own domain (like invites@eventplatform.com). That communication never touches your CRM.
Gatsby works differently. When you send invitations through a connected Google account, those emails and calendar invites come from your actual Google account. Attio already syncs your Google email and calendar activity, so every event invitation automatically appears in your contacts’ activity timelines.
Click into someone’s profile in Attio and see the complete event communication history—invitations sent, follow-ups, calendar events—all captured automatically.
Requirements
Section titled “Requirements”For this to work, three things need to be connected:
- In Gatsby: The email sender must be set to a connected Google account
- In Gatsby: The calendar invite organizer must be set to a connected Google account
- In Attio: That same Google user must be connected to sync email and calendar activity
When these are connected, Attio captures the activity automatically.
Setting up Google accounts in Gatsby
When creating or editing an event in Gatsby, you’ll see options to set the email sender and calendar organizer. Choose a connected Google account for both to enable automatic Attio syncing.
For step-by-step instructions on connecting Google accounts to Gatsby, see Sending Emails.
What Gets Synced
Section titled “What Gets Synced”Captured automatically:
- Event invitation emails sent from connected Google accounts
- Calendar invites where the organizer is a connected Google account
- Follow-up emails sent through connected Google accounts
- All replies and calendar responses
Not captured:
- System emails like RSVP confirmations (these don’t send through your Google account)
- Invitations sent from non-connected accounts
Structured Event Data via Webhooks
Section titled “Structured Event Data via Webhooks”What You Can Capture
Section titled “What You Can Capture”Webhooks let you send structured event participation data to Attio:
- Who was invited to which events
- RSVP status changes (Accepted, Declined, Waitlist)
- Attendance records (Attended, No Show)
- Registration form responses (dietary restrictions)
- Guest company and role at time of event
- Event details (date, name, location)
This data structure lets you run reports like “everyone who attended events in Q4” or “contacts invited to 5+ events but never attended.”
Common Approach: Event Participation List
Section titled “Common Approach: Event Participation List”With an “Event Participation” list in Attio, each entry represents one person at one event, linked to their Person record.
This structure balances simplicity and power—more useful than dumping everything into text fields, less complex than building custom objects. You get full filtering and reporting capabilities without overengineering your data model.
Example queries this enables:
- Show all people who attended events in the last year
- Determine how many events employees from a certain company attended
- Find contacts who accepted but didn’t show up
- Count total events per person
- Filter by event type or date range
Other Options
Section titled “Other Options”The webhooks send raw event data (RSVPs, attendance, custom fields). You decide where it goes:
- Update attributes directly on Person records
- Create custom objects for complex event structures
- Build your own data model that fits your workflow
Setting Up Structured Data Sync
Section titled “Setting Up Structured Data Sync”The setup guide below uses the Event Participation list approach, but adapt it to your needs. You have full control here to decide what works best for your team and data.
What You Need
Section titled “What You Need”- Paid Zapier plan (webhooks require Zapier Pro or higher) or Make/n8n
- Attio API credentials to connect Zapier to Attio
- Webhooks enabled in your Gatsby account (contact us to enable)
About webhook platforms
This guide uses Zapier since it’s the most common platform. The same concepts apply to Make.com or n8n—you’ll use Gatsby webhooks to trigger workflows that create or update records in Attio.
Step 1: Create Your Attio Data Model
Section titled “Step 1: Create Your Attio Data Model”Before building workflows, set up where the data will live in Attio.
Detailed setup: Building the Event Participation list
-
In Attio, create a new List called “Event Participation” with these attributes:
Field Name Type Purpose Person Record Reference Links to the Person record (parent) Unique ID Text Used by Zapier for de-dupe Event Name Text Name of the event Event Date Date When the event happens RSVP Status Select Options: Invited, Accepted, Declined, Waitlist Attendance Status Select Options: Attended, No Show, Pending Company at Event Text (Optional) Guest’s company at time of event Position at Event Text (Optional) Guest’s role at time of event Last Updated Timestamp When this record was last synced (Other) — (Optional) You can add additional attributes as desired
Why this structure works:
The Unique ID field is critical. In Zapier, you’ll combine the person ID and event ID (like abc123_xyz789) to ensure you get exactly one entry per person per event. When someone RSVPs to multiple events, they get multiple list entries—one for each event.
This prevents duplicates and makes reporting powerful. You can filter the list to see all attendees of a specific event, or view a person’s record to see all events they’ve attended.
Step 2: Build Your Zapier Workflow
Section titled “Step 2: Build Your Zapier Workflow”The core workflow triggers when Gatsby sends guest data (new invitation, RSVP change, or attendance update) and creates or updates the corresponding record in Attio.
This workflow captures invitations and RSVP changes as they happen in Gatsby.
Workflow Overview: Real-Time Guest Sync
High-level flow:
-
Trigger: Webhook receives guest data from Gatsby
Gatsby sends guest data via webhook when someone is invited or updates their RSVP.
-
Filter (optional): Filter checks if RSVP status isn’t empty
Only process guests who have been invited (optional but recommended to skip blank RSVPs).
-
Create/Update Company: Sub-Zap finds or creates company in Attio
Ensure the company exists in Attio or grabs the company ID to link to this guest. Built as a sub-zap to reduce main Zap complexity.
-
Create/Update Person: Creates or updates the Person record in Attio
Ensure the person exists in Attio with current details. This allows you to run “public events” in Gatsby and capture new contacts you’ve never interacted with before. This steps matches by email address.
-
Check for existing list entry: Prevent duplicate entries
Searches for existing Event Participation entry by Unique ID.
-
Paths split: Based on whether entry was found
Path A - Entry exists: Update the existing entry with new RSVP/attendance status Updates existing entry with new RSVP/attendance data
Path B - Entry doesn’t exist: Creates new entry for this person/event combination
Key concept: Paths
Zapier Paths let you handle two scenarios in one workflow:
- If the person already has an entry for this event → update it
- If this is their first time being tracked for this event → create a new entry
This prevents duplicates while keeping all data current.
Alternate: Post-Event Bulk Sync
Create a different Zap/workflow for syncing verified event info after events end.
Use case:
After an event, you consolidate event information, then manually trigger this workflow to update Attio with verified data like RSVP, attendance, survey responses, custom fields, etc. in bulk.
How it differs from real-time sync:
- Trigger: “Finalized Guest List” webhook (manually triggered in Gatsby)
- Processes: All guests at once as an array
- Use: Post-event cleanup and verification
This gives you control over when event data flows to Attio, so you can clean it up in Gatsby first.
Step 3: Test Your Integration
Section titled “Step 3: Test Your Integration”Run through these scenarios to verify everything works.
Test Scenarios
Test 1: New Guest Invited
- Add a new guest to an event in Gatsby, mark as “Invited”
- Expected result: Person created in Attio + Event Participation entry created
Test 2: Guest Changes RSVP
- Change a guest’s RSVP status to Accepted in Gatsby
- Expected result: Same Event Participation entry updates (no duplicate created)
Test 3: Same Guest, Different Event
- Add the same person to a different event
- Expected result: New Event Participation entry created (different Unique ID)
Test 4: Mark Attendance
- Mark a guest as Attended or No Show
- Expected result: Event Participation entry updates with attendance status
If any test fails, check the Zapier task history to see where the workflow stopped.
Getting the Technical Details
Section titled “Getting the Technical Details”For complete webhook data schemas, field mappings, and troubleshooting duplicate entries, contact our support team:
What You Can Do With This Data
Section titled “What You Can Do With This Data”Once event data flows into Attio, you can:
Run targeted reports:
- All attendees from the last quarter
- People who accepted but didn’t show up
- Contacts invited to 5+ events but never attended
- Event participation by company or role
Enrich contact profiles:
- See complete event history when viewing a person
- Count total events attended per contact
- Track engagement trends over time
Build outreach campaigns:
- Export attendee lists for follow-up emails
- Segment by event type or attendance patterns
- Create workflows based on event participation
Analyze event performance:
- Compare RSVP rates across events
- Track no-show patterns
- Identify your most engaged contacts
Common Questions
Section titled “Common Questions” Do I need both integrations?
No, but they complement each other. Google sync gives you communication timelines automatically. Webhooks give you structured data for reporting. Most teams use both.
The Google sync isn't capturing some emails. Why?
Check that both the email sender and calendar organizer in your Gatsby event are set to connected Google accounts. System emails (like automated confirmations) won’t sync because they don’t send through your Google account.
What if I don't want to use a List in Attio?
The webhooks send raw data—structure it however you want. Update Person attributes directly, create custom objects, or however you want. The List approach is just a recommended starting point.
Can I capture custom registration question responses?
Yes. Registration form responses come through the webhook data. Map them to attributes in Attio or include them in list entries.
Can I automatically sync new records/attributes in Attio to Gatsby?
Yes. Although more advanced, our API lets you pull contact data from Attio into Gatsby. Reach out to our support team for more information:
