Skip to main content
If you are building an integration with Attio and would like to read or write meeting data over the Attio API, this guide will walk you through the appropriate steps.

How to sync meetings

One of Attio’s most powerful features is its real-time email and calendar sync. When a user connects their Gmail or Outlook account, Attio will automatically and continuously keep the user’s emails and meetings in sync. Meetings are written using the create a meeting endpoint (POST /v2/meetings). This endpoint always creates a new meeting — it does not look up, match, or update existing meetings, and it does not de-duplicate against meetings that Attio’s own sync engine may have already created from a connected Gmail or Outlook calendar.

Avoiding duplicate meetings

Because the endpoint creates a new meeting on every call, calling it repeatedly — or writing a meeting that Attio has also synced from a connected calendar — can result in duplicates. If you want to ensure consistent behaviour, check for a matching meeting first rather than blindly creating one. You can do this by listing meetings (GET /v2/meetings) covering the relevant time frame and de-duplicating with your own fuzzy matching logic — for example, by matching on a combination of the meeting’s title, start time, and organizer. If you find a suitable match, reuse that meeting instead of creating a new one.