Integrations
Connect the systems your agents need to read and act on
Native connectors for the tools most teams start with, a typed SDK for the ones you have built yourself, and webhooks for everything in between.
60connectors across 6 categoriesEvery one scoped to least privilege and audited
Communication
10- SlackChannels, threads, in-line approvals
- Microsoft TeamsChannels and adaptive-card approvals
- GmailRead, draft, send on scoped grants
- OutlookRead, draft, send on scoped grants
- DiscordServers, channels, threads
- IntercomConversations and contact records
- TwilioSMS and voice, delivery receipts
- SendGridTransactional send and events
- WebhooksSigned delivery, replay on failure
- Email (SMTP)Any provider, credentials in vault
Work tracking
10- LinearIssues, cycles, projects
- JiraIssues, sprints, custom fields
- AsanaTasks and portfolios
- NotionDatabases and page content
- ClickUpSpaces, lists, custom statuses
- MondayBoards, items, column values
- TrelloBoards, cards, checklists
- HeightTasks and saved views
- ShortcutStories, epics, iterations
- AirtableBases, tables, linked records
Data & analytics
10- SnowflakeRead-only by default, scoped grants
- BigQueryRead-only by default, scoped grants
- PostgresDirect or through a read replica
- dbtModel metadata and lineage
- DatabricksUnity Catalog tables and volumes
- RedshiftClusters and serverless workgroups
- ClickHouseRead-only, per-database scopes
- MySQLDirect or through a read replica
- MongoDBCollections with field projection
- FivetranConnector status and sync history
Revenue & finance
10- SalesforceObjects, fields, workflow triggers
- HubSpotContacts, deals, notes
- StripeRead by default; writes always gated
- ZendeskTickets, macros, side conversations
- NetSuiteRecords and saved searches
- QuickBooksInvoices, bills, chart of accounts
- XeroContacts, invoices, bank feeds
- ChargebeeSubscriptions and entitlements
- PipedriveDeals, pipelines, activities
- FrontShared inboxes and comments
Engineering
10- GitHubRepos, PRs, checks, actions
- GitLabRepos, MRs, pipelines
- PagerDutyIncidents and on-call context
- SentryIssues, events, release health
- BitbucketRepos, PRs, pipelines
- DatadogMetrics, monitors, event stream
- GrafanaDashboards and alert rules
- OpsgenieAlerts and escalation policies
- CircleCIWorkflows, jobs, artifacts
- VercelDeployments and build logs
Identity & storage
10- Google DriveFiles and folders on scoped grants
- S3Buckets and prefixes, least privilege
- SharePointSites and document libraries
- BoxFiles and metadata
- OktaSSO, SCIM, group-mapped roles
- Entra IDSSO, SCIM, group-mapped roles
- WorkdayWorker records, read-only
- Google Cloud StorageBuckets and prefixes, scoped
- Azure BlobContainers and prefixes, scoped
- DropboxFiles, folders, shared links
Custom connectors
Anything else
If it has an HTTP API, it is an integration. Define the tool once with a typed schema, and the runtime handles auth, retries, rate limits, scoping and audit for it exactly as it does for a native connector.
integrations/custom.ts
import { tool } from "@vantis/sdk";
export const refundOrder = tool({
name: "refund_order",
description: "Issue a full or partial refund against an order.",
input: z.object({
orderId: z.string(),
amountCents: z.number().int().positive(),
reason: z.string().min(8),
}),
// Irreversible and touches money, so it never runs unapproved.
policy: { requiresApproval: true, reversible: false },
async run({ orderId, amountCents, reason }, ctx) {
return ctx.http.post("/v1/refunds", { orderId, amountCents, reason });
},
});Give the queue to the agents.
Connect one system, run a week in shadow mode, and look at the numbers. If they don't move, you've lost an afternoon.
Free for 14 days · No card required