Google Calendar
Ingest calendar events, attendees, and locations into the workspace knowledge graph. People you meet about become first-class entities your AI agents can query across surfaces.
Google Calendar
Events + attendees → `meeting` and `person` nodes.
The Calendar connector scans events from the authenticated user's calendar into the workspace ontology. Each event is a meeting node; every attendee resolves to a person node deduplicated by email; the event description and location feed the LLM extractor so the topics and locations you meet about land as typed nodes.
Calendar history is a richer signal than most other surfaces — the default backfill window is 365 days, not 90.
What gets ingested
| Source | Node type | Edge type | Direction |
|---|---|---|---|
| Calendar event | meeting | — | — |
| Organizer | person | organized / organized_by | Person ↔ Meeting |
| Attendee (accepted / tentative) | person | invited_to / has_attendee | Meeting ↔ Person |
| Location (when set) | location | at_location | Meeting → Location |
| Topic / concept extracted from description | concept | discusses | Meeting → Concept |
A person who attends both your Gmail threads and your calendar events resolves to one node — the lowercased email is the canonical dedup key across every Google connector.
Real use cases
- Who am I meeting this week? —
MATCH (m:meeting)-[:has_attendee]->(p:person) WHERE m.start >= datetime() RETURN p, count(m)gives you a "people I'm seeing this week" list, sortable by meeting count. - External vs internal — combined with email-domain filtering, the same query splits "customers I'm seeing" from "internal syncs."
- Cross-source intelligence — pair with the Zoom connector and the calendar event (the invite) wires to the same Zoom meeting node (the recording + transcript). Sales reps get one timeline per account: the invite, the actual call, the action items, the follow-up emails.
Settings
| Key | Type | Default | Description |
|---|---|---|---|
backfill_days | number | 365 | How far back to scan calendar history. |
include_declined | boolean | false | When true, events you declined are still ingested. |
include_cancelled | boolean | false | When true, cancelled events still create a meeting node with a cancelled: true property. |
OAuth scopes
calendar.readonly— read events and event metadatacalendar.events.readonly— read individual event detailsuserinfo.email— resolve the connecting user's email
Read-only only. The connector cannot create, modify, or delete events on your calendar.
Gmail
Ingest email subjects, bodies, and attachments into the workspace knowledge graph. People, companies, and topics mentioned across your inbox become typed nodes your AI agents can traverse.
Google Meet
Ingest Google Meet conference records and participants into the workspace knowledge graph. Each conference resolves to the same `meeting` node Calendar wrote, so invite + attendance live side-by-side.