Skip to main content

Integrations

Integration Anatomy

Every integration in Octopus shares the same layered pattern. Learn it once, understand them all.

External API

httpx
Adapter
adapter.py
called by
Service
service.py · @service_method
generates
HTTP Route
+ CLI Command + MCP Tool

What & Why

Every integration in Octopus follows the same adapter → service → routes pattern, auto-generated end-to-end:

  • adapter.py — handles auth and all raw httpx calls to the external API
  • service.py — exposes clean, decorated methods via @service_method
  • routes.py — HTTP routes, CLI commands, and MCP tools are auto-generated from the service methods via http_generator
  • oauth.py — handles the OAuth callback flow (for OAuth-based integrations)

Once you understand one integration, you understand all of them. The adapter is the only integration-specific code; everything else is generated.


All Integrations

🐙
GitHub
OAuth / PAT / App
27 methods
📋
Jira
OAuth 2.0
24 methods
💬
Slack
OAuth 2.0
18 methods
📧
Gmail
OAuth 2.0
23 methods
📅
Google Calendar
OAuth 2.0
12 methods
📁
Google Drive
OAuth 2.0
15 methods
🪟
Microsoft 365
Azure AD OAuth
20 methods
📓
Notion
OAuth 2.0
14 methods
📚
Confluence
OAuth 2.0
14 methods
💳
Stripe
API Key
10 methods
🏭
SAP
OAuth 2.0
8 methods
☁️
Salesforce
API Key
~15 methods · coming soon
🧡
HubSpot
API Key
~12 methods · coming soon
🔷
Linear
API Key
~10 methods · coming soon
🌿
Asana
OAuth 2.0
~8 methods · coming soon
🎯
Trello
API Key
~8 methods · coming soon
🎧
Zendesk
API Key
~10 methods · coming soon
🚨
PagerDuty
API Key
~6 methods · coming soon
📊
Datadog
API Key
~8 methods · coming soon
🟠
AWS
API Key
~20 methods · coming soon
❄️
Snowflake
API Key
~10 methods · coming soon
Adding a new integration
Pattern guide

Quick Reference

Connect an integration (OAuth flow)

# Step 1 — initiate OAuth authorization
POST /v1/oauth/{service}/authorize
# Returns: { "authorization_url": "https://..." }

# Step 2 — user completes OAuth in browser
# Callback is handled automatically by oauth.py

# Step 3 — token is stored; integration is ready

Verify all connected integrations

GET /v1/integrations
# Returns a list of all active integrations and their connection status

Available services (CLI)

constellation services
# Lists all registered services and their method counts