Skip to main content

composio-autogen

Adapts Composio tools to AutoGen FunctionTool objects and registers them with your caller and executor agents, so your AutoGen agents can take action across 1000+ apps.

Installation

pip install composio composio-autogen 'ag2[openai]'

Set COMPOSIO_API_KEY (from the dashboard) and OPENAI_API_KEY in your environment.

Quickstart

import os

from autogen import AssistantAgent, LLMConfig, UserProxyAgent
from composio import Composio
from composio_autogen import AutogenProvider

composio = Composio(provider=AutogenProvider())

# Each session is scoped to one of your users
session = composio.create(user_id="user_123")
tools = session.tools()

chatbot = AssistantAgent(
    "chatbot",
    system_message="Reply TERMINATE when the task is done or when user's content is empty",
    llm_config=LLMConfig({
        "api_type": "openai",
        "model": "gpt-5.2",
        "api_key": os.environ["OPENAI_API_KEY"],
    }),
)

user_proxy = UserProxyAgent(
    "user_proxy",
    is_termination_msg=lambda msg: "TERMINATE" in (msg.get("content", "") or ""),
    human_input_mode="NEVER",
    code_execution_config={"use_docker": False},
)

# Register tools with both agents
composio.provider.register_tools(caller=chatbot, executor=user_proxy, tools=tools)

response = user_proxy.initiate_chat(
    chatbot,
    message="Send an email to john@example.com with the subject 'Hello' and body 'Hello from Composio!'",
)

print(response.chat_history)

For multi-turn use, store session.session_id and reuse it with composio.use(session_id) instead of calling create() again.

Provider specifics

AutoGen needs tools registered with two agents, not passed once. Call composio.provider.register_tools(caller=..., executor=..., tools=tools): the caller decides which tool to invoke, and the executor runs it. This method is unique to the AutoGen provider.

AutoGen caps function names at 64 characters, so the provider hashes and truncates long tool slugs to stay under the limit. The registered name will not always match the original Composio slug.

Metadata

Release files for composio-autogen 0.29.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for composio-autogen 0.29.0
File Size Uploaded Provenance
composio_autogen-0.29.0.tar.gz 5.3 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for composio-autogen 0.29.0
File Interpreter ABI Platform
composio_autogen-0.29.0-py3-none-any.whl Python 3 none any Details

Total release size: 10.8 kB

Release files / composio_autogen-0.29.0.tar.gz

Download URL composio_autogen-0.29.0.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3561a39795ab20c6d665c571163ab55f9eb1dabe999f531330e88c2a366c66f2
BLAKE2b-256 checksum
How to use checksums
ace37f81f072fc7913c3012d5a13bc3a5673ef71dc3c5608850d6cc3dec69480
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / composio_autogen-0.29.0-py3-none-any.whl

Download URL composio_autogen-0.29.0-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
177df08bfb12529fbc2e1ebbc9f1984a4598a1fcedc5b55d97f0bf67afabf421
BLAKE2b-256 checksum
How to use checksums
265a77de0e88ac22503eae67ab657ef6a45a26cfa5e13656c713b281c6e10c09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Security for composio-autogen 0.29.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.29.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page