from composio import Composiocomposio = Composio()# Create a sessionsession = composio.tool_router.create( user_id="user_123", toolkits=["github", "slack"])# Get tools for the sessiontools = session.tools()# Authorize a toolkitconnection = session.authorize("gmail")print(f"Redirect to: {connection.redirect_url}")# Check toolkit statestoolkit_states = session.toolkits()for toolkit in toolkit_states.items: print(f"{toolkit.name}: {toolkit.connection.is_active if toolkit.connection else 'N/A'}")
states = session.toolkits( is_connected=False # Only disconnected toolkits)for toolkit in states.items: if toolkit.connection and not toolkit.connection.is_active: print(f"Please connect: {toolkit.name}")
from composio import Composiofrom openai import OpenAIcomposio = Composio()openai_client = OpenAI()# Create sessionsession = composio.tool_router.create( user_id="user_123", toolkits=["github"], manage_connections=True)# Check if GitHub is connectedstates = session.toolkits(toolkits=["github"])github_state = states.items[0]if not github_state.connection or not github_state.connection.is_active: # Need to connect connection = session.authorize("github") print(f"Please visit: {connection.redirect_url}") connection.wait_for_connection()# Get toolstools = session.tools()# Use with OpenAIresponse = openai_client.chat.completions.create( model="gpt-4o", tools=tools, messages=[{"role": "user", "content": "Create an issue"}])