Integrations

Every source we connect — and exactly how deep

The question that matters isn't how many logos we can show — it's what each connection actually pulls in, how often it refreshes, and what you see when a source breaks. Here is the honest answer for every one, live and planned. Everything we read is read-only.

Connect today

13 sources you can connect right now — native OAuth/API connectors, a read-only PostgreSQL connection, and CSV/Excel uploads.

Financial CSV / Excel

CSV / XLSX export from any system

What it loads
P&L, cash flow and balance-sheet rows; revenue, COGS, opex, EBITDA, closing cash.
Refresh
Manual upload.
Change history
Not tracked
Deletions & fixes
Re-upload replaces the period set; corrections land on the next upload.
Matched by
Period label (YYYY-MM / YYYY-Www).
If it fails
The upload row shows an error message; the last good analysis stays live.

PostgreSQL (read-only)

PostgreSQL only — not a generic "SQL database".

What it loads
Tables you map to financial / people / tasks modules; AI proposes the mapping, you confirm.
Refresh
Scheduled re-sync on a per-workspace cadence (sql-db-sync sidecar).
Change history
Not tracked
Deletions & fixes
Each sync is a full read; a row removed at source disappears on the next sync (last-read-wins).
Matched by
Period for financials; email → name+department for people.
If it fails
The source is marked broken with the last error; sync pauses until you reconnect.

HubSpot

HubSpot CRM (OAuth).

What it loads
Companies, deals, pipeline stage, amount, probability, close date, owner, source.
Refresh
Manual sync from Settings → Integrations.
Change history
Not tracked
Deletions & fixes
A deal removed at source drops from the next sync.
Matched by
HubSpot record id.
If it fails
The source is marked broken with the last error; the previous deal list stays.

CRM CSV (client list)

CSV export of a client list with MRR / ARR.

What it loads
Accounts with MRR / ARR, plan, segment, status.
Refresh
Manual upload.
Change history
Not tracked
Deletions & fixes
Re-upload replaces the client list.
Matched by
Account name.
If it fails
The upload row shows an error message.

Pipeline / Deals CSV

CSV export of a deal pipeline.

What it loads
Deals — stage, value, probability (0–1 or %), close date, source, owner.
Refresh
Manual upload.
Change history
Not tracked
Deletions & fixes
Re-upload replaces the pipeline.
Matched by
Deal name / external id.
If it fails
The upload row shows an error message.

Jira

Atlassian Cloud (OAuth).

What it loads
Issues, status, roadmap items for the Decisions module.
Refresh
Webhook (query-secret verified) + manual sync.
Change history
Not tracked
Deletions & fixes
A deleted issue drops on the next refresh.
Matched by
Jira issue key.
If it fails
The source is marked broken with the last error.

Linear

Linear (OAuth / API).

What it loads
Issues and product work for the Decisions module.
Refresh
Webhook (HMAC verified) + manual sync.
Change history
Not tracked
Deletions & fixes
A deleted issue drops on the next refresh.
Matched by
Linear issue id.
If it fails
The source is marked broken with the last error.

Google Calendar

Google Workspace (OAuth, read-only). Private beta — see the notice in Settings.

What it loads
Today's agenda and the next 7 days.
Refresh
On demand when the dashboard loads.
Change history
Not tracked
Deletions & fixes
Reflects the live calendar on each read.
Matched by
Google event id.
If it fails
The source is marked broken; the calendar card shows the last state.

Gmail

Google Workspace (OAuth, read-only). Private beta.

What it loads
Priority-inbox digest (snippets), read-only.
Refresh
On demand when the dashboard loads.
Change history
Not tracked
Deletions & fixes
Reflects the live inbox on each read.
Matched by
Gmail message id.
If it fails
The source is marked broken; the digest shows the last state.

Manual Google export

Calendar .ics/.csv or Contacts .csv.

What it loads
Calendar events or contacts from an export file.
Refresh
Manual upload.
Change history
Not tracked
Deletions & fixes
Re-upload replaces the set.
Matched by
Event / contact id in the file.
If it fails
The upload row shows an error message.

Manual task import

CSV, XLSX or JSON from any tracker.

What it loads
Tasks — title, status, assignee, dates.
Refresh
Manual upload.
Change history
Not tracked
Deletions & fixes
Re-upload replaces the set.
Matched by
Task id in the file.
If it fails
The upload row shows an error message.

Roster upload

CSV or XLSX with team structure.

What it loads
People — name, title, department, manager, cost/salary, start/end dates.
Refresh
Manual upload; re-reconciled on each upload.
Change history
Recorded
Deletions & fixes
Reconciled per field; canonical changes are recorded in employee history.
Matched by
Email → name+department; manager by name or employee id.
If it fails
The upload row shows an error message; a partial AI step is reported, not silently dropped.

NovaCorp Live (demo feed)

Synthetic demo feed — test live mode, not your real data.

What it loads
A synthetic hourly financial feed for the NovaCorp demo company.
Refresh
Hourly synthetic tick.
Change history
Not tracked
Deletions & fixes
n/a (synthetic).
Matched by
n/a.
If it fails
n/a (synthetic).

Coming soon

Built or in progress, but not yet offered — so we don't list a date we can't commit to. If one of these is the source you need, tell us and we'll prioritise it.

QuickBooksXeroStripeSalesforceBambooHR

What we don't connect

We don't integrate NetSuite, Gusto and Rippling — not today and not on the near roadmap. If you use one of these, a CSV or Excel export lands in CEODash in minutes and a read-only PostgreSQL connection covers most of the rest.

Questions about a specific system, or want early access to one marked coming soon? Email support@ceodash.tools.