Integrations

Once your app is online (see Quickstart), install the SDK to call third-party APIs without managing OAuth yourself. Users connect their accounts on the Leash dashboard once; every app in the org gets typed access on their behalf.

Each provider below has its own reference page with the full tool list. For the wiring story end-to-end, see Building with Leash.

REST providers

Full typed methods in the SDK, fastest execution.

NameSDK moduleToolsDescription
Gmailintegrations.gmail6 toolsSend emails, search messages, manage labels
Google Calendarintegrations.calendar4 toolsList, create, and manage calendar events
Google Driveintegrations.drive7 toolsList, search, upload, and download files

MCP providers

Auto-generated typed methods from MCP server definitions, executed via the MCP runner.

NameSDK moduleToolsDescription
HubSpotintegrations.hubspot21 toolsManage contacts, deals, companies, and tickets
Slackintegrations.slack8 toolsSend messages, read channels, manage conversations
Linearintegrations.linear24 toolsCreate and manage issues, projects, and teams
Jiraintegrations.jira5 toolsManage issues, boards, sprints, and projects
GitHubintegrations.github26 toolsRepos, issues, pull requests, and code search
Gongintegrations.gong12 toolsCall recordings, transcripts, and deal intelligence
BigQueryintegrations.bigquery1 toolRun SQL queries on Google BigQuery
Sliteintegrations.slite6 toolsSearch and manage documentation
Brave Searchintegrations.braveSearch2 toolsWeb and local search
Filesystemintegrations.filesystem14 toolsRead, write, and manage files
Memoryintegrations.memory9 toolsKnowledge graph for persistent memory
Puppeteerintegrations.puppeteer7 toolsBrowser automation and screenshots

Typical usage

Inside an API route — credentials are auto-resolved from the calling user's connection or from the org's configured client.

app/api/issues/route.ts
import { Leash } from '@leash/sdk/leash'
export async function GET(req: Request) {
const leash = new Leash({ request: req })
// REST integration
const messages = await leash.integrations.gmail.listMessages({ maxResults: 5 })
// MCP integration
const { issues } = await leash.integrations.linear.listIssues({ teamId: 'ENG' })
return Response.json({ messages, issues })
}

The TypeScript SDK (@leash/sdk) is the reference implementation of the 0.4 Leash() client shape. Python, Go, Ruby, Java, and Rust SDKs are tracking the same shape — aspirational samples shown here; separate parity tickets track each language SDK rebuild.

Need something not on this list?

Register your own MCP server (internal tools, third-party MCPs we haven't shipped yet, anything that speaks the MCP protocol).