All Integrations
Integration

OpenAI Assistants

Use SkillRouter with the OpenAI Assistants API to give your assistants access to real-world tools via function calling. SkillRouter skills are automatically converted to OpenAI function schemas.

1

Installation

  1. 1Install the SkillRouter SDK: pip install skillrouter
  2. 2Install the OpenAI SDK: pip install openai
  3. 3Generate function schemas from SkillRouter skills
  4. 4Pass the schemas to your Assistant configuration
2

Configuration

terminal
# Install dependencies
pip install skillrouter openai

# Set API keys
export SKILLROUTER_API_KEY="sk_live_..."
export OPENAI_API_KEY="sk-..."
3

Usage Example

assistant.py
from openai import OpenAI
from skillrouter import SkillRouter
from skillrouter.integrations.openai import to_openai_tools, handle_tool_calls

sr = SkillRouter(api_key="sk_live_...")
client = OpenAI()

# Convert SkillRouter skills to OpenAI function schemas
tools = to_openai_tools(sr, categories=["email", "calendar", "slack"])

# Create an assistant with SkillRouter tools
assistant = client.beta.assistants.create(
    name="Productivity Assistant",
    instructions="You help users manage emails, calendar, and team communication.",
    model="gpt-4o",
    tools=tools,
)

# When the assistant makes a tool call, execute it via SkillRouter
run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)

if run.status == "requires_action":
    outputs = handle_tool_calls(sr, run.required_action.submit_tool_outputs.tool_calls)
    client.beta.threads.runs.submit_tool_outputs(
        thread_id=thread.id,
        run_id=run.id,
        tool_outputs=outputs,
    )
Documentation | SkillRouter