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