Getting Started with Connectors
Connectors are integrations that let your AI agents interact with external services -- Slack, Gmail, Google Drive, Notion, Asana, Airtable, Vercel, Stripe, and more. Each connector provides a set of tools that agents can call during workflows or that you can invoke directly via the API and CLI.
Think of connectors as bridges between your Chainabit workspace and the services your team already uses.
How Connectors Work
- Install a connector instance in your workspace
- Authenticate by linking your account on the external service (OAuth, API key, etc.)
- Enable tools that the connector provides
- Use tools in agent workflows, call them from the API, or run them from the CLI
Each connector instance is scoped to your workspace. Multiple team members can share the same instance, or you can create separate instances for different use cases.
Quick Start
Prerequisites
- A Chainabit account with a valid access token
- An active workspace
Set your environment variables:
export BASE_URL="https://api.chainabit.com/api/v1"
export TOKEN="your-access-token"Step 1 -- Choose a Connector
Browse the available connectors:
chainabit connectors listcurl "$BASE_URL/connectors" \
-H "Authorization: Bearer $TOKEN"const response = await fetch(`${BASE_URL}/connectors`, {
headers: { Authorization: `Bearer ${TOKEN}` },
});
const { data } = await response.json();import requests
response = requests.get(
f"{BASE_URL}/connectors",
headers={"Authorization": f"Bearer {TOKEN}"},
)
data = response.json()["data"]Step 2 -- Install a Connector Instance
Create a connector instance in your workspace:
chainabit connectors install slack --name "Team Slack"curl -X POST "$BASE_URL/connectors/instances" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"connectorKey": "slack",
"displayName": "Team Slack"
}'const response = await fetch(`${BASE_URL}/connectors/instances`, {
method: 'POST',
headers: {
Authorization: `Bearer ${TOKEN}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
connectorKey: 'slack',
displayName: 'Team Slack',
}),
});
const { data } = await response.json();response = requests.post(
f"{BASE_URL}/connectors/instances",
headers={"Authorization": f"Bearer {TOKEN}"},
json={"connectorKey": "slack", "displayName": "Team Slack"},
)
data = response.json()["data"]Response 201 Created
{
"data": {
"id": "inst_abc123",
"connectorKey": "slack",
"displayName": "Team Slack",
"status": "pending",
"enabled": true,
"createdAt": "2026-03-23T10:00:00Z"
}
}Save the instance id -- you will need it for authentication and tool execution.
Step 3 -- Authenticate
Most connectors use OAuth. Start the authorization flow:
chainabit connectors auth inst_abc123curl -X POST "$BASE_URL/connectors/instances/inst_abc123/oauth/initiate" \
-H "Authorization: Bearer $TOKEN"Follow the returned URL to authorize access on the external service. Chainabit handles the token exchange automatically.
For connectors that use API keys or connection strings, store credentials directly:
curl -X POST "$BASE_URL/connectors/instances/inst_abc123/credentials" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"credType": "api_key",
"credentials": { "apiKey": "your-key" }
}'Step 4 -- Test the Connection
chainabit connectors test inst_abc123curl -X POST "$BASE_URL/connectors/instances/inst_abc123/test" \
-H "Authorization: Bearer $TOKEN"Step 5 -- Use in Workflows or Call Directly
Once authenticated, the connector's tools are available to your agents. You can also execute tools directly:
chainabit connectors exec inst_abc123 send_message \
--input '{"channel": "#general", "text": "Hello from Chainabit!"}'curl -X POST "$BASE_URL/connectors/instances/inst_abc123/tools/tool_send_message/execute" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"input": {
"channel": "#general",
"text": "Hello from Chainabit!"
}
}'Connector Catalog
The full catalog is grouped by family and mirrored in English and Turkish. Start with the Connector Catalog, then open the connector-specific pages you need.
Featured Connectors
| Connector | Key | Category | Auth Method | Description |
|---|---|---|---|---|
| Slack | slack | Communication | OAuth | Send messages, manage channels, search |
| Gmail | gmail | Communication | OAuth | Send and read emails, manage drafts |
| Google Drive | google-drive | Productivity | OAuth | Manage files and folders |
| Google Calendar | google-calendar | Productivity | OAuth | Manage calendar events |
| Notion | notion | Productivity | OAuth / API key | Search and manage pages, databases |
| Canva | canva | Design | OAuth | Create and export designs |
| SQL Database | sql-database | Database | Connection string | Query PostgreSQL or MySQL |
| MCP Server | mcp-generic | Protocol | API key / Bearer | Connect to any MCP-compatible server |
Connector Lifecycle
- Pending -- Connector is installed but not yet authenticated
- Active -- Connector is authenticated and ready to use
- Error -- Health check failed or credentials expired
- Inactive -- Connector has been manually disabled
Security
- Credentials are encrypted at rest and never returned in API responses
- OAuth tokens are refreshed automatically before they expire
- Each connector instance is scoped to a single workspace
- All tool executions are logged in the audit trail
- You can revoke credentials at any time
Next Steps
- Explore the Connector Catalog by family, then set up your first connector
- Learn about the CLI commands for managing connectors
- See the API reference for programmatic access
- Build a custom connector for your own services