ormah/docs
GitHub

Integrations

Custom Agents

If you're building your own agent with the OpenAI SDK, Responses API, or any tool-calling framework, Ormah provides an OpenAI-format schema exporter so you can drop its tools into your agent's tool list.

How it works

The OpenAI adapter exports tool schemas — it doesn't handle transport. You declare the tools, your application routes the calls to the Ormah HTTP API.

from ormah.adapters.openai_adapter import get_openai_tools

tools = get_openai_tools()
# pass `tools` to your OpenAI client or tool-calling framework

When your model selects an Ormah tool, your application is responsible for calling the corresponding endpoint on localhost:8787.

Available tools

The OpenAI adapter exports ALL_TOOLS — the 6 core agent tools plus 7 admin tools — giving custom agents access to the full surface of the API.

Example flow

# 1. Get Ormah tool schemas
tools = get_openai_tools()

# 2. Pass to your model
response = client.chat.completions.create(
    model="gpt-4o",
    messages=messages,
    tools=tools,
)

# 3. When the model calls an Ormah tool, execute it
if response.choices[0].finish_reason == "tool_calls":
    for call in response.choices[0].message.tool_calls:
        result = requests.post(
            f"http://localhost:8787/agent/{call.function.name}",
            json=json.loads(call.function.arguments),
        )

Whisper for custom agents

Custom agents don't have a hook system, so whisper injection needs to be triggered manually. Call POST /agent/whisper with the current prompt and session ID before each model call to receive relevant memories to include in context.


Full HTTP API reference in HTTP API.