Skip to content

Sensors

Sensors are how Corveil ingests activity from the tools your organization already uses. Each sensor polls (or receives webhooks from) an external system, normalizes events, and feeds them into the intelligence pipeline. Connecting your first one? The Getting Started page walks Slack or Google Meet end to end.

Dashboard label matches the API path

v0.4.3 briefly flipped the dashboard label to Sources; #2927 flipped it back to Sensors. The API is still POST /api/sensors, and each type is still registered via sensor.RegisterSpec in go/internal/sensor/*.

Every guide on this page follows the same shape:

  1. What it ingests
  2. Credential — which credential vault type to create
  3. Config fields — the keys the source accepts
  4. Provider-side setup — prerequisites on the source system
  5. Wire-up — the POST /api/sensors payload
  6. Verify — how to confirm it's working

The config and credential fields documented here are sourced from each source's registered spec (sensor.RegisterSpec in go/internal/sensor/*), so they match what the Add sensor form renders.

Choosing between overlapping sources

Google Meet and Google Drive both ingest Gemini meeting notes, and what either captures is governed by your Workspace's note-taking policy rather than by source config. If you are setting up meeting capture, read Choosing a meeting-capture path before you pick — it compares the two, covers the per-organizer My Drive gap, and makes a recommendation.

Available sensors

These sensor types are implemented and registered — you can create them today. They're grouped by what you're trying to ingest; the coming soon line under each group lists planned integrations in the same area that don't yet have a registered backend or setup guide.

Engineering & delivery

SensorIngestsCredential type
GitHubIssues, PRs, commits, reviews, commentsgithub_token
GitLabMerge requests, issues, commits, commentsgitlab_token
BitbucketPRs, issues, commits, reviews (Cloud only)bitbucket_access_token
JenkinsCI/CD build results (webhook)none — server-issued token
PagerDutyIncidents, services, and on-call shiftspagerduty_api_key

Coming soon: OpsGenie.

Meetings & conversations

SensorIngestsCredential type
Google MeetMeeting transcripts & participantsgoogle_service_account_json
Zoom TranscriptsCloud-recording transcripts & participantszoom_s2s_oauth
SlackChannel messages & threadsslack_bot_token
Microsoft TeamsChannel messages & threads (GCC-High / DoD too); meeting transcripts on commercial tenants onlymicrosoft_graph
Google CalendarScheduled events, attendees & recurrencegoogle_service_account_json
Outlook CalendarScheduled meetings across org membersmicrosoft_graph
OutlookMail threads across org membersmicrosoft_graph
GongSales call transcripts & participantsgong_access_key
GmailMailbox messages, threads & senders/recipientsgoogle_service_account_json

Documents & knowledge

SensorIngestsCredential type
Google DriveDocs, Sheets, Slides, and file comments in a foldergoogle_service_account_json
ConfluenceWiki pages & comments (Cloud)jira_api_token
Confluence Data CenterWiki pages & comments (self-hosted)atlassian_dc_pat
NotionWiki pages & commentsnotion_token
AirtableRecords & comments in a baseairtable_pat
SharePoint / OneDriveDocuments in SharePoint & OneDrive librariesmicrosoft_graph
Amazon S3Documents, exports & reports in a bucket prefixaws_access_key (optional)
Local File WatcherDocuments, exports & reports in a mounted directorynone — operator-mounted volume

Work tracking

SensorIngestsCredential type
JiraIssues & changelog activity (Cloud)jira_api_token
Jira Data CenterIssues & comments (self-hosted)atlassian_dc_pat
LinearIssues & comments (Cloud)linear_api_key
AsanaTasks & comments (Cloud)asana_pat
Monday.comBoard items & updates (Cloud)monday_api_token

Business & CRM

SensorIngestsCredential type
shell-crmCompanies, deals, contacts, who-knows-who (KNOWS), plus activity (comments, email opens → Event + OPENED)shellcrm_api_key
HubSpotCRM objects + notes, emails, calls & meetingshubspot_access_token
IntercomCompanies, contacts, and customer conversationsintercom_access_token
SalesforceCRM objects + notes, emails, calls, meetings & taskssalesforce_connected_app
ZendeskSupport tickets, comments, and customer organizationszendesk_api_token

HR & People

SensorIngestsCredential type
GreenhouseJobs, candidates, applications, interviews, scorecards, and offersgreenhouse_harvest_api_key
LeverPostings and opportunities (candidates in pipeline)lever_api_key
WorkdayWorkers and supervisory organizations — org chart and role contextworkday_api_client
BambooHROrg chart, team structure, and role context from the employee directorybamboohr_api_key
RipplingOrg chart — companies, departments, teams, and workersrippling_api_token
GustoOrg chart — company, departments, employees, and contractorsgusto_api_client

Corveil-native

AI Chat (MCP usage capture) is a push-only source. There is no poll loop and nothing to create: the ontology MCP server records a sensor_event synchronously whenever a user calls a tool. The row is seeded for the org (ai_chat) and does not appear in Add sensor.

Custom

SensorIngestsCredential type
WebhookCustom JSON events (inbound webhook)none — server-issued token

Credential reuse across sources

Several sources share one credential, so a tenant that has connected one needs no second app registration for its siblings:

Coming soon

These planned integrations do not yet have a registered backend or a setup guide. Grouped by function, those are: OpsGenie.

Building your own

Any data source can feed Corveil through the Plugin SDK or the generic inbound webhook. See the plugin guide for the source lifecycle interface.