Skip to main content
from praisonaiagents import Agent

agent = Agent(
    name="ComposioAgent",
    instructions="Use Composio-connected apps when needed.",
    tools=["composio"],
)
agent.start("Search for the latest AI news")
The user names an app action; Composio tools let the agent read mail, post updates, or query SaaS APIs.

Composio PraisonAI Integration

Composio allows AI agents and LLMs to easily integrate with 100+ tools (GitHub, Gmail, CodeExecution and more) to perform actions and subscribe to triggers. This example will show how to integrate Composio with PraisonAI agents to let them seamlessly interact with external apps.
pip install composio-praisonai
To add Composio’s Serpapi tool -
composio add serpapi
from praisonai import PraisonAI
from composio_praisonai import Action, ComposioToolSet

# Initialize Composio's Toolset
composio_toolset = ComposioToolSet()

# Get the SERPAPI tool
tools = composio_toolset.get_tools(actions=[Action.SERPAPI_SEARCH])

# Get the tool string for agent_yaml
tool_section_str = composio_toolset.get_tools_section(tools)

# Example configuration
agent_yaml = """
framework: "crewai"
topic: "Research"

agents:  # Canonical: use 'agents' instead of 'roles'
  researcher:
    role: "Researcher"
    goal: "Search the internet for the information requested"
    instructions:  # Canonical: use 'instructions' instead of 'backstory' "A researcher tasked with finding and analyzing information on various topics using available tools."
    tasks:
      research_task:
        description: "Research about open source LLMs vs closed source LLMs."
        expected_output: "A full analysis report on the topic."
""" + tool_section_str

# Create PraisonAI instance with the agent_yaml content
praison_ai = PraisonAI(agent_yaml=agent_yaml)

# Run PraisonAI
result = praison_ai.main()

# Print the result
print(result)

Quick Start

1

Install Composio

pip install composio-praisonai
composio add serpapi
2

Create an agent with Composio tools

from praisonaiagents import Agent
from composio_praisonai import Action, ComposioToolSet

toolset = ComposioToolSet()
tools = toolset.get_tools(actions=[Action.SERPAPI_SEARCH])

agent = Agent(
    name="ResearchAgent",
    instructions="Search the web for the requested information.",
    tools=tools,
)

agent.start("Search for the latest AI news")

Best Practices

Use composio add tool-name for each specific service rather than importing everything.
For new code, use from praisonaiagents import Agent for consistency.
Composio tools can send emails and create issues. Grant only the scopes your agent actually needs.
Run agents with read-only tools before enabling write operations to avoid unintended side effects.

Custom Tools

Build your own agent tools

Tools Overview

Browse PraisonAI tool documentation