Oxagen Docs

Connectors

First-party data-source connectors that ingest your real-world data — meetings, email, calendars, files, code, transactions, warehouses — into a typed, queryable knowledge graph your AI agents plug into.

A connector is a typed, OAuth-scoped pipeline that pulls data from an external system into your workspace ontology. Every row, message, file, or meeting it ingests becomes a typed node with typed edges to related nodes — so the same person who emails you, attends your meetings, and owns a Drive document collapses to one entity your agents can traverse.

Connectors are workspace-scoped, manifest-driven, and incremental by default. They run in the Oxagen worker, never on the consumer client, and store only the structured projection of your data — embeddings + summaries + provenance. Raw bytes are not persisted.

Available connectors

ConnectorSlugSync modeCadenceWhat it ingests
Gmail logoGmailgmailIncremental15mEmail subjects, bodies, attachments — people, companies, topics
Google Calendar logoGoogle CalendarcalendarIncremental30mEvents, attendees, locations, descriptions
Google Meet logoGoogle MeetmeetIncremental30mMeet conference records, participants
Zoom logoZoom MeetingszoomIncremental30mMeetings, participants, VTT transcripts, inferred action items / deliverables / decisions / problems / opportunities
Google Contacts logoGoogle ContactscontactsFull1hPerson directory — emails, phone, organizations
Google Drive logoGoogle DrivedriveIncremental30mDocs, Sheets, Slides, PDFs — file metadata + extracted text
GitHub logoGitHubgithubWebhook + scheduledPush-triggeredCode graph: files, functions, classes, imports, calls, commits
Linear logoLinearlinearIncremental30mIssues, projects, milestones, initiatives, customers, status updates — plus inferred features and edges into the code graph
Plaid logoPlaidplaidIncremental6hBank + card transactions, accounts, merchants
Google BigQuery logoBigQuerybigqueryIncremental1hAny SQL query result with optional delta loads + cross-domain edges

How connectors fit together

Every connector emits nodes and edges into the same workspace ontology, so the cross-source joins your agents care about happen automatically:

  • A person mentioned in a Gmail thread, invited to a Calendar event, and listed as a Zoom attendee resolves to one person node — keyed on the lowercased email address. Display names and provenance are stored on the node; subsequent connector syncs reuse the existing node and add edges rather than minting duplicates.
  • A meeting can come from Calendar (the invitation), Google Meet (the conference record), or Zoom (the post-meeting summary with transcript and inferred action items). Each is a meeting node; cross-source edges (e.g. produced_action_item, had_attendee, attended) wire them into the same neighborhood.
  • A code change on GitHub creates code.commit and code.file nodes whose authored_by edges resolve to the same person node that emails you and joins your meetings.
  • A transaction ingested from Plaid creates a financial.transaction node — and a BigQuery connector with a vendor_email column can stamp a paid_to edge from that transaction to the existing person node from Gmail, without re-ingesting any of the people.

This is why "ontology layer for AI agents" matters: your agents don't have to reconcile identities, dedupe records, or chase cross-system joins — the connector layer does it on ingest.

Installation

  1. Open Settings → Connections in the Oxagen web app
  2. Pick the connector you want and click Connect
  3. Complete the OAuth consent flow (or paste credentials for service-account-style connectors like BigQuery)
  4. The first sync runs as a background backfill — the manifest declares a default window (e.g. 90 days for Gmail / Zoom, 365 days for Calendar / Drive, 730 days for Plaid)
  5. Subsequent syncs are incremental and run on the cadence above

You can also install connectors via the API — see the API reference. Every connector you connect appears in the workspace's connections panel with its status, last sync time, and recent activity log.

Per-connection settings

Every connector exposes a manifest of user-tunable settings — backfill window, attachment size caps, label exclusions, MIME-type filters, sync cadence, and so on. The settings UI is rendered directly from the manifest, so adding a knob to a connector is a YAML edit, not a frontend release. Connector-specific knobs are documented on each connector's page.

Permissions and scope

Every first-party connector requests the read-only variant of every upstream scope. We never request write access. Tokens are encrypted at rest (AES-GCM via the workspace encryption key) and rotated on every refresh. Revoking a connector at Google / Zoom / your bank also revokes our copy — the next sync surfaces the revocation as a red status indicator in the UI and you can reconnect in one click.

See Security & Privacy for the full data-handling model.

Disconnecting and purging

Removing a connector soft-deletes the Connection row and revokes the upstream grant (best-effort on Google's revoke endpoint, plus the manual revoke URL if Google was unreachable). By default the ingested nodes and edges stay in your workspace — they belong to the workspace, not the connector. If you opt into Purge nodes on the disconnect dialog, a background task hard-deletes every node and edge stamped with the removed connection_id.


Get started free · Read the API docs · View on GitHub

On this page