The open-source, drop-in replacement for Composio.
A unified API that connects AI agents to hundreds of SaaS tools — Gmail, GitHub, Slack, Notion, Linear, and more — with OAuth, tool execution, and zero vendor lock-in.
Composio pioneered the "tools for agents" category, and we love what they built. But after running production agents on it at Gooey.AI, we wanted a version that:
- Is fully open source. Apache 2.0, every connector, every line.
- Self-hosts on your own infrastructure. Your customers' OAuth tokens never leave your VPC.
- Is drop-in compatible. Existing Composio code runs against Goosio with a one-line import swap.
- Ships connectors as plain Python. No proprietary YAML DSL — every integration is a readable
.pyfile you can fork. - Is built for high-throughput agent workloads. Designed alongside Gooey's production agent stack from day one.
If any of that matters to you, Goosio is for you.
- 300+ tools out of the box across communication, productivity, dev, CRM, and data.
- OAuth 2.0 / API key / Basic auth flows with a hosted callback or BYO callback.
- Per-user connected accounts with scoped credentials and rotation.
- Typed tool schemas auto-generated for OpenAI, Anthropic, LangChain, LlamaIndex, CrewAI, and the OpenAI Agents SDK.
- Triggers and webhooks for event-driven agents (Gmail received, GitHub issue opened, …).
- Sandboxed code execution for code-interpreter style tools.
- Drop-in Composio API surface. See Migrating from Composio.
Install the SDK:
pip install goosioPoint at the hosted Goosio (or your self-hosted instance) and call a tool:
from goosio import Goosio, App
client = Goosio(api_key="goose_...")
tools = client.tools.get(user_id="alice@acme.com", apps=[App.GITHUB])
result = client.tools.execute(
action="GITHUB_CREATE_AN_ISSUE",
params={"owner": "goosio", "repo": "goosio", "title": "Hello from Goosio"},
user_id="alice@acme.com",
)
print(result)Use the tools with any agent framework:
from openai import OpenAI
from goosio import Goosio
openai = OpenAI()
goosio = Goosio()
tools = goosio.tools.get(user_id="alice@acme.com", apps=["github", "slack"])
response = openai.chat.completions.create(
model="gpt-5",
messages=[{"role": "user", "content": "Open a GitHub issue and post to #eng on Slack"}],
tools=tools,
)
goosio.tools.handle_tool_calls(response, user_id="alice@acme.com")Goosio mirrors Composio's public Python API. In most projects, the only change is the import:
- from composio import ComposioToolSet, App
+ from goosio import GoosioToolSet as ComposioToolSet, AppFramework adapters follow the same pattern:
- from composio_openai import ComposioToolSet
+ from goosio.openai import GoosioToolSet as ComposioToolSet
- from composio_langchain import ComposioToolSet
+ from goosio.langchain import GoosioToolSet as ComposioToolSetA composio compatibility shim is also published, so existing code can run without diffs:
pip install goosio[composio-shim]import composio…now resolves to Goosio under the hood. See docs/migrating.md for the full mapping.
| Category | Apps |
|---|---|
| Communication | Gmail, Slack, Discord, Microsoft Teams, Twilio, Telegram |
| Productivity | Notion, Linear, Asana, Trello, Google Calendar, Google Drive |
| Developer | GitHub, GitLab, Bitbucket, Jira, Vercel, Sentry, Datadog |
| CRM & Sales | HubSpot, Salesforce, Attio, Pipedrive |
| Data | Postgres, Snowflake, BigQuery, Airtable, Supabase |
| AI & Search | OpenAI, Anthropic, Perplexity, Exa, Tavily |
Full list at goosio.dev/integrations. Connectors live under goosio/integrations/<app>/ — each one is a single readable Python module. PRs welcome.
Goosio runs as a single FastAPI service backed by Postgres and Redis. The fastest way to try it:
git clone https://github.com/goosio/goosio.git
cd goosio
docker compose upThe dashboard is then at http://localhost:8080. For production, see deploy/ for Helm charts, Terraform modules, and a reference Caprover app definition.
┌───────────────┐ tools.get / .execute ┌──────────────────┐
│ Your Agent │ ─────────────────────────▶ │ Goosio Server │
│ (any LLM) │ ◀───── tool results ────── │ (FastAPI) │
└───────────────┘ └────────┬─────────┘
│
┌────────────────────┼────────────────────┐
▼ ▼ ▼
┌──────────────┐ ┌───────────────┐ ┌────────────────┐
│ Connectors │ │ OAuth / │ │ Triggers & │
│ (Python) │ │ Auth Store │ │ Webhooks │
└──────────────┘ └───────────────┘ └────────────────┘
- SDK (
goosio/) — thin client, agent framework adapters, type stubs. - Server (
server/) — FastAPI app: tool registry, execution, OAuth, triggers. - Connectors (
goosio/integrations/) — one Python module per third-party app. - Auth store — pluggable backend (Postgres by default; Vault, AWS Secrets Manager supported).
- Drop-in Python SDK with Composio API parity
- OAuth 2.0 + API key + Basic auth flows
- OpenAI / Anthropic / LangChain adapters
- TypeScript SDK
- Triggers v1 (Gmail, Slack, GitHub, Linear)
- Sandboxed code execution
- Hosted Goosio Cloud (closed beta)
- MCP server bridge (expose any Goosio tool as MCP)
See issues labeled roadmap for live status.
| Goosio | Composio | Custom in-house | |
|---|---|---|---|
| Open source | Yes | Partial | You write it |
| Self-hostable | Yes | No (cloud only) | Yes |
| Drop-in Composio API | Yes | — | No |
| Pre-built integrations | 300+ | 300+ | 0 |
| OAuth handled for you | Yes | Yes | No |
| BYO models / framework | Yes | Yes | Yes |
| Per-tenant credential isolation | Yes | Yes | You write it |
We are actively looking for contributors, especially on new connectors. The easiest place to start:
- Read
CONTRIBUTING.md. - Pick an app from
good first connector. - Copy an existing module under
goosio/integrations/, swap in the new app's API, and open a PR.
Run the test suite:
uv sync
uv run pytest- Discord: https://discord.gg/goosio
- Twitter / X: @goosio
- Email: hello@goosio.dev
Goosio is developed by the team behind Gooey.AI and supported by:
- Gooey.AI
- Your company here — become a sponsor.
Apache 2.0. Use it commercially, fork it, vendor it — all good.