{"id":13,"library":"composio","title":"Composio","description":"Tool integration platform for AI agents. Provides 250+ pre-built tool integrations (GitHub, Gmail, Slack, Notion, etc.) with managed OAuth across frameworks including OpenAI, Anthropic, LangChain, CrewAI, and AutoGen. Has undergone a major v1→v3 SDK rewrite with significant breaking changes — the majority of tutorials and LLM-generated code targets the old v1 API.","status":"active","version":"composio: latest (new SDK); composio-openai: 0.11.1 (legacy framework packages)","language":"python","source_language":"en","source_url":"https://docs.composio.dev","tags":["tools","integrations","agents","oauth","agentic","python","ai-tools"],"install":[{"cmd":"pip install composio","lang":"bash","label":"Python (new v3 SDK — recommended)"},{"cmd":"pip install composio-openai","lang":"bash","label":"Python (legacy OpenAI framework package — still maintained but not updated with new features)"},{"cmd":"pip install composio-langchain","lang":"bash","label":"Python (legacy LangChain framework package)"}],"dependencies":[{"reason":"HTTP transport for Composio API calls.","package":"httpx","optional":false}],"imports":[{"wrong":"from composio import Composio","symbol":"Composio","correct":"from composio import Composio"},{"symbol":"CustomTool","correct":"from composio import CustomTool"},{"symbol":"SessionContext","correct":"from composio import SessionContext"}],"quickstart":{"code":"from composio import Composio\nfrom composio.providers import AnthropicProvider\nimport anthropic\n\n# New v3 SDK pattern\ncomposio = Composio(provider=AnthropicProvider())\n\nuser_id = \"user@acme.org\"\ntools = composio.tools.get(\n    user_id=user_id,\n    toolkits=[\"GITHUB\"]\n)\n\nclient = anthropic.Anthropic()\nresponse = client.messages.create(\n    model=\"claude-opus-4-6\",\n    max_tokens=1024,\n    tools=tools,\n    messages=[{\"role\": \"user\", \"content\": \"Star the composiohq/composio repo\"}]\n)\n\n# ---\n\n# Legacy v1 pattern (still works but deprecated):\nfrom composio_openai import ComposioToolSet, App\ntoolset = ComposioToolSet()  # entity_id was set here in v1\nactions = toolset.get_tools(apps=[App.GITHUB])","lang":"python","description":"New v3 SDK uses unified Composio class with provider injection. Legacy framework-specific toolsets still function but receive no new features."},"warnings":[{"fix":"Replace pip install composio-core with pip install composio. Import paths change accordingly.","message":"composio-core is deprecated. All tutorials and LLM-generated code using 'pip install composio-core' or 'from composio_core import ...' targets the old package. New package is 'composio'.","severity":"breaking","affected_versions":"composio-core all versions"},{"fix":"Replace ComposioToolSet() + entity_id with Composio(provider=XProvider()) + user_id= in tools.get(). See docs.composio.dev/docs/migration-guide/new-sdk","message":"v1 used framework-specific toolset classes (ComposioToolSet from composio_openai, composio_langchain, etc.) with entity_id set at the toolset level. v3 uses a single Composio class with provider injection and user_id passed per tool call.","severity":"breaking","affected_versions":"composio-core / composio <0.7"},{"fix":"Replace all entity_id= with user_id=.","message":"entity_id parameter renamed to user_id throughout the v3 SDK. Code passing entity_id= will raise TypeError.","severity":"breaking","affected_versions":"v1/v2 code migrating to v3"},{"fix":"Re-fetch connected account IDs using the new SDK after migration.","message":"Connected account IDs changed from UUID format to nano ID format in v3. Stored IDs from v1/v2 are invalid in v3 API calls.","severity":"breaking","affected_versions":"v3+"},{"fix":"Use alternative local execution approaches or pin to legacy composio-core if these tools are required.","message":"Local tools (shelltool, sqltool, clipboard) were removed from the v3 SDK. They are listed as 'in development' for the new SDK.","severity":"breaking","affected_versions":"v3+"},{"fix":"Update webhook handlers to read from data field instead of root payload. Check x-composio-webhook-version header to detect format.","message":"Webhook payload format changed with v3. New organizations receive Webhook Payload V3 (Standard Webhooks spec) by default. Trigger event data is now separated into data and metadata fields. Old payload parsers will fail.","severity":"breaking","affected_versions":"New orgs created after webhook V3 rollout"},{"fix":"Register your own Twitter Developer credentials and configure them in your auth config.","message":"Composio-managed Twitter/X credentials removed. Twitter toolkit integrations built on managed credentials no longer authenticate.","severity":"breaking","affected_versions":"all"},{"fix":"Pick one approach. For new projects use pip install composio only. Do not mix composio and composio-openai/composio-langchain in the same environment.","message":"The v3 SDK (pip install composio) and legacy framework packages (pip install composio-openai etc.) coexist on PyPI and can both be installed. They have incompatible APIs and can conflict if imported in the same project.","severity":"gotcha","affected_versions":"all"},{"fix":"Upgrade to Python 3.10+ when migrating to the new SDK.","message":"The v3 SDK requires Python 3.10+. Legacy composio-core supported Python 3.8+. Silent import failures occur on 3.8/3.9.","severity":"gotcha","affected_versions":"composio (new SDK)"}],"env_vars":{"optional":[],"required":[{"name":"COMPOSIO_API_KEY","note":"Required. Get from app.composio.dev. Can also pass as api_key= to Composio() constructor."}]},"search_vec":"'250':9 'across':23 'agent':7,60,62 'ai':6,65 'ai-tool':64 'anthrop':27 'api':57 'autogen':31 'break':42 'built':12 'chang':43 'code':52 'composio':1 'crewai':29 'etc':19 'framework':24 'generat':51 'github':15 'gmail':16 'includ':25 'integr':3,14,59 'langchain':28 'llm':50 'llm-gener':49 'major':35,45 'manag':21 'notion':18 'oauth':22,61 'old':55 'openai':26 'platform':4 'pre':11 'pre-built':10 'provid':8 'python':63 'rewrit':39 'sdk':38 'signific':41 'slack':17 'target':53 'tool':2,13,58,66 'tutori':47 'undergon':33 'v1':36,56 'v3':37","created_at":"2026-03-16T04:39:09.011572+00:00","updated_at":"2026-04-16T03:22:07.074365+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":85,"quickstart_score":0,"quickstart_tag":"stale","pypi_latest":"0.13.1","cli_name":"composio","cli_version":"sh: 1: composio: not found","type":"library","homepage":"https://composio.dev","github":"https://github.com/composiohq/composio","docs":null,"changelog":null,"pypi":"https://pypi.org/project/composio/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["llm-agents","http-networking","devops","communication"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":"verified"}}