Use Composio to get an array of tools with your autogen agent.
Project description
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.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file composio_autogen-0.18.0.tar.gz.
File metadata
- Download URL: composio_autogen-0.18.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b76601fe884e8795654c06f2e19351d080e3f012ab21d7ee7f4d019ebd777e68
|
|
| MD5 |
600ed4909603a4c56c2cf3fdd240b79a
|
|
| BLAKE2b-256 |
c84655980803773d0f0c8cddb9a619c5210ff7d5c08d4437c6e4d796278b23fe
|
File details
Details for the file composio_autogen-0.18.0-py3-none-any.whl.
File metadata
- Download URL: composio_autogen-0.18.0-py3-none-any.whl
- Upload date:
- Size: 4.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a99adba3a6fee3097673b1fc8e773cef9127d3f093230941911e12be0f71f168
|
|
| MD5 |
9caa6279fbad9a114e92c385686c6c9c
|
|
| BLAKE2b-256 |
cbf41b44f9722ce44c93a94d76c00ddd8afa3bab29411c78b6e6b040449bc3e1
|