---
title: ElizaOS API Integration on Truto
slug: elizaos
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/elizaos/"
---

# ElizaOS API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 82 tools for ElizaOS that AI agents can call directly.

- **list_all_eliza_os_agents** — List all ElizaOS agents. Returns each agent's id and name. No required parameters.
- **create_a_eliza_os_agent** — Create a new agent in ElizaOS from a character path or inline JSON. Returns: id, name, bio, settings, system, style, lore, messageExamples, topics, plugins. Provide either characterPath or characterJson.
- **get_single_eliza_os_agent_by_id** — Get details of a single ElizaOS agent by id. Returns the agent's id and name. Required: id.
- **update_a_eliza_os_agent_by_id** — Update an existing ElizaOS agent by id. Returns: id, name. Required: id.
- **delete_a_eliza_os_agent_by_id** — Delete an ElizaOS agent by id. Returns: success, message. Required: id.
- **eliza_os_agents_start** — Start an elizaos agent. Returns the started agent object under data including id, name, and status. Required: agent_id.
- **eliza_os_agents_stop** — Stop an elizaos agent. Returns a success flag and a data.message confirmation. Required: agent_id.
- **list_all_eliza_os_worlds** — List all worlds in elizaos. Returns: id, name, agentId, sourceType, sourceId, metadata.
- **create_a_eliza_os_world** — Create a world for an elizaos agent. Returns the world object. Required: agent_id, name, sourceType, sourceId.
- **update_a_eliza_os_world_by_id** — Update an elizaos world. Returns the world object. Required: agent_id, id.
- **eliza_os_audio_generate_speech** — Generate speech from text for an elizaos agent. Returns the generated audio as an audio/mpeg file. Required: agent_id, text.
- **eliza_os_audio_synthesize_speech** — Synthesize speech from text for an elizaos agent. Returns the generated audio/mpeg file. Required: agent_id, text.
- **eliza_os_audio_convert_conversation_to_speech** — Convert a conversation to speech for an elizaos agent. Returns the generated audio/mpeg file. Required: agent_id, messages.
- **eliza_os_audio_transcribe** — Transcribe an audio file for an elizaos agent. Returns: text. Required: agent_id, file.
- **create_a_eliza_os_job** — Create a one-off messaging job in elizaos. Returns: jobId, status, createdAt, expiresAt. Required: userId, content. content max 50KB; timeoutMs 1000–300000 (default 120000).
- **get_single_eliza_os_job_by_id** — Get an elizaos messaging job by id. Returns: jobId, status, createdAt, startedAt, completedAt, result. Required: id.
- **eliza_os_jobs_health** — Check the health of the elizaos jobs processing system. Returns: status, queueSize, processing, avgProcessingTime, failureRate.
- **eliza_os_logs_get_system_post** — Get system logs from elizaos via POST. Returns a list of log entries including level, time, msg, agentId, and agentName.
- **eliza_os_logs_clear_system** — Clear all system logs in elizaos. Returns: status, message.
- **eliza_os_logs_delete_entry** — Delete a specific log entry for an elizaos agent. Returns an empty 204 response on success. Required: agent_id, log_id.
- **eliza_os_media_upload_for_agent** — Upload media for an agent in elizaos. Returns the uploaded media object including id, url, mimeType, and size. Required: agent_id, file.
- **eliza_os_media_upload_to_channel** — Upload media to a messaging channel in elizaos. Returns the uploaded media object including id, url, channelId, agentId, mimeType, and size. Required: channel_id, file.
- **eliza_os_memory_create_room** — Create a room for an elizaos agent. Returns: id, name, agentId, createdAt, source, type, worldId, serverId, metadata. Required: agent_id, name.
- **update_a_eliza_os_memory_by_id** — Update an elizaos memory. Returns: id, message. Required: agent_id, id.
- **eliza_os_memory_delete_all_by_agent** — Delete all memories for an elizaos agent. Returns: success, data. Required: agent_id.
- **eliza_os_memory_delete_all_by_room** — Delete all elizaos memories associated with a room. Returns an empty 204 response on success. Required: agent_id, room_id.
- **create_a_eliza_os_messaging_server** — Create a new messaging server in elizaos. Returns the created server object with id, name, description, metadata, and createdAt. Required: name.
- **eliza_os_messaging_servers_add_agent** — Add an agent to a messaging server in elizaos. Returns: success. Required: message_server_id, agentId.
- **eliza_os_messaging_servers_remove_agent** — Remove an agent from a messaging server in elizaos. Returns: success. Required: message_server_id, agent_id.
- **create_a_eliza_os_messaging_channel** — Create a new messaging channel in elizaos. Returns the created channel with id, name, serverId, description, and metadata. Required: name, serverId.
- **eliza_os_messaging_channels_get_details** — Get details for a single elizaos messaging channel. Returns: id, name, serverId, description, metadata. Required: channel_id.
- **update_a_eliza_os_messaging_channel_by_id** — Update an elizaos messaging channel. Returns the updated channel with id, name, serverId, description, and metadata. Required: id.
- **delete_a_eliza_os_messaging_channel_by_id** — Delete an elizaos messaging channel by id. Returns an empty 204 response on success. Required: id.
- **eliza_os_messaging_channels_add_agent** — Add an agent to an elizaos messaging channel. Returns: channelId, agentId, message. Required: channel_id, agentId.
- **eliza_os_messaging_channels_send_message** — Send a message to an elizaos messaging channel. Returns: id, text, userId, agentId, roomId, createdAt, metadata. Required: channel_id, author_id, content, message_server_id.
- **eliza_os_messaging_channels_delete_message** — Delete a single message from an elizaos messaging channel. Returns an empty 204 response on success. Required: channel_id, message_id.
- **eliza_os_messaging_channels_clear_messages** — Delete all messages from an elizaos messaging channel. Returns an empty 204 response on success. Required: channel_id.
- **eliza_os_messaging_channels_delete_central_messages_by_user** — Delete all messages for a user from a legacy elizaos central channel. Deprecated; use the standard channels endpoint instead. Returns: success, deleted. Required: channel_id, userId.
- **eliza_os_messaging_channels_get_or_create_dm** — Get or create a DM channel between two elizaos users. Returns the channel object including id, name, serverId, description, and metadata. Required: userId1, userId2.
- **eliza_os_messaging_channels_create_central** — Create a legacy elizaos central channel. Deprecated; use POST /api/messaging/channels instead. Returns the channel object including id, name, serverId, description, and metadata. Required: name, serverId.
- **eliza_os_messaging_messages_submit** — Submit a message to the central messaging system in elizaos. Returns the stored message with id, text, userId, agentId, roomId, createdAt, and metadata. Required: channel_id, server_id, author_id, content, source_type, raw_message.
- **eliza_os_messaging_messages_ingest_external** — Ingest a message from an external platform into elizaos. Returns: success, id, text, userId, agentId, roomId, createdAt, metadata. Required: agentId, roomId, userId, text, sourceId, sourceType.
- **create_a_eliza_os_session** — Create a new messaging session in elizaos. Returns: sessionId, agentId, userId, createdAt, metadata, expiresAt, timeoutConfig. Required: agentId, userId.
- **get_single_eliza_os_session_by_id** — Get an elizaos messaging session by id. Returns: sessionId, createdAt, expiresAt, error, code, details. Required: id.
- **list_all_eliza_os_sessions** — List active messaging sessions in elizaos. Returns: sessionId, agentId, userId, createdAt, lastActivity, metadata, expiresAt, timeoutConfig, renewalCount, timeRemaining, isNearExpiration.
- **eliza_os_sessions_renew** — Renew an elizaos messaging session before it expires. Returns the updated session with sessionId, expiresAt, renewalCount, timeRemaining, isNearExpiration, lastActivity, metadata. Required: session_id.
- **delete_a_eliza_os_session_by_id** — End an elizaos messaging session by id. Returns: success, message. Required: id.
- **eliza_os_sessions_heartbeat** — Send a heartbeat for an elizaos session to keep it alive. Returns the updated session with sessionId, agentId, expiresAt, timeoutConfig, and isNearExpiration. Required: session_id.
- **eliza_os_sessions_send_message** — Send a message to an elizaos session. Returns the created message with id, content, authorId, sessionStatus, and isNearExpiration. Required: session_id, content.
- **eliza_os_sessions_health** — Check the health of the elizaos Sessions API. Returns: status, activeSessions, timestamp, expiringSoon, invalidSessions, uptime.
- **eliza_os_sessions_bulk_update** — Update the timeout configuration for an elizaos session. Returns the updated session with sessionId, expiresAt, timeoutConfig, and timeRemaining. Required: session_id.
- **create_a_eliza_os_room** — Create a room in elizaos. Returns the created room with id, name, source, worldId, and entities. Required: agent_id.
- **list_all_eliza_os_rooms** — List rooms for an elizaos agent. Returns rooms including id, name, source, worldId, and entities. Required: agent_id.
- **get_single_eliza_os_room_by_id** — Get a single room in elizaos by id. Returns: id, name, source, worldId, entities. Required: agent_id, id.
- **update_a_eliza_os_room_by_id** — Update a room in elizaos. Returns the updated room including id, name, source, worldId, and entities. Required: agent_id, id.
- **delete_a_eliza_os_room_by_id** — Delete a room in elizaos by id. Returns an empty 204 response on success. Required: agent_id, id.
- **get_single_eliza_os_run_by_id** — Get a single elizaos agent run by id. Returns the full run object including runId, agentId, status, events, and tokensUsed. Required: agent_id and id.
- **list_all_eliza_os_runs** — List execution runs for a specific elizaos agent. Returns run summaries including runId, status, startedAt, durationMs, and counts. Required: agent_id.
- **eliza_os_system_hello** — Get a basic health-check response from the elizaos server. Returns: message.
- **eliza_os_system_health** — Get the elizaos server health status. Returns: status, version, timestamp, dependencies.
- **eliza_os_system_ping** — Ping the elizaos server to confirm responsiveness. Returns: pong, timestamp.
- **eliza_os_system_get_config** — Get the public elizaos system configuration. Returns: version, environment, features, limits.
- **eliza_os_system_get_status** — Get the current elizaos system status. Returns: status, agentCount, timestamp.
- **eliza_os_system_get_version** — Get the ElizaOS version information. Returns: version, commit, buildTime.
- **eliza_os_system_get_debug_servers** — Get ElizaOS server debug information. Returns a servers array with nested id, name, status, and agents.
- **eliza_os_system_get_servers** — Get ElizaOS server information. Returns a servers array with nested id, name, status, and agents.
- **eliza_os_system_get_local_env** — Get the local environment variables from ElizaOS. Returns: success, data.
- **eliza_os_system_update_local_env** — Update the local environment variables in ElizaOS. Returns: success, message. Required: content.
- **eliza_os_system_stop** — Stop the elizaos server. Returns: message.
- **eliza_os_websocket_connect** — Connect to the elizaos Socket.IO real-time websocket. Returns an empty 101 Switching Protocols response on success.
- **list_all_eliza_os_agent_panels** — List panels registered for an ElizaOS agent. Returns: name, path, id. Required: agent_id.
- **list_all_eliza_os_agent_memories** — List elizaos memories for an agent. Returns: id, entityId, agentId, roomId, createdAt, content. Required: agent_id.
- **list_all_eliza_os_room_memories** — List memories for a room in elizaos. Returns: id, entityId, agentId, roomId, createdAt, content. Required: agent_id, room_id.
- **list_all_eliza_os_agent_logs** — List elizaos agent logs for a specific agent. Returns: level, time, msg, agentId, agentName. Required: agent_id.
- **list_all_eliza_os_system_logs** — List system logs from an elizaos server. Returns log entries with level, time, msg, agentId, and agentName. Filters: since, level, agentName, agentId.
- **list_all_eliza_os_channel_participants** — List participants of an ElizaOS messaging channel. Returns an array of participant UUIDs. Required: channel_id.
- **list_all_eliza_os_channel_messages** — List messages in an elizaos channel. Returns: id, text, userId, agentId, roomId, createdAt, metadata. Required: channel_id.
- **list_all_eliza_os_server_agents** — List agents attached to a message server in elizaos. Returns: id, name. Required: message_server_id.
- **list_all_eliza_os_server_channels** — List channels on an elizaos message server. Returns: id, name, serverId, description, metadata. Required: message_server_id.
- **list_all_eliza_os_central_server_channels** — List channels for a central messaging server in elizaos. Returns: id, name, serverId, description, metadata. Required: server_id. Deprecated in favor of GET /api/messaging/message-servers/{serverId}/channels.
- **list_all_eliza_os_central_servers** — List ElizaOS central messaging servers. Returns: id, name, description, metadata, createdAt. Deprecated: use the message-servers endpoint instead.
- **list_all_eliza_os_session_messages** — List messages for an ElizaOS messaging session. Returns: id, content, authorId, isAgent, createdAt, metadata. Required: session_id. Max 100 per page; messages are returned newest first.

## How it works

1. **Link your customer's ElizaOS account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach ElizaOS.** The Proxy API is a 1-to-1 mapping of the ElizaOS API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed white-label AI agents into your SaaS** — Let your customers spin up branded, character-driven AI agents inside your product without you building agent orchestration, memory, or lifecycle management from scratch. Truto handles the ElizaOS auth and API layer so you can ship a native agent builder in weeks.
- **Power proprietary chat UIs with multi-agent brains** — SaaS platforms with their own chat interfaces (helpdesks, CRMs, community tools) can pipe user messages into ElizaOS and stream back agent responses. Your users get multi-agent reasoning and persistent memory without leaving your UI.
- **Deploy coordinated agent swarms for customer workflows** — Offer your customers virtual Worlds and Rooms where specialist agents (billing, tech, onboarding) collaborate on tickets or tasks. Ideal for helpdesk, ops, and community-management SaaS that want tiered AI automation as a native feature.
- **Add voice-first AI to outbound and support flows** — CRMs, sales engagement platforms, and support tools can add AI voice interactions using ElizaOS's native STT and TTS. Sessions stay alive only during active calls, keeping compute costs predictable.
- **Bill and audit AI usage per customer** — Expose agent run history, system logs, and memory streams inside your admin dashboards so your customers can audit agent decisions and you can meter usage for pricing. Truto normalizes the ElizaOS log and run endpoints behind a single connection.

## What you can build

- **In-app agent builder with character config** — Turn a user-facing form (brand voice, knowledge, style) into a live ElizaOS agent via create_a_eliza_os_agent and manage its lifecycle with start/stop controls.
- **Multi-agent room orchestration** — Create Worlds and Rooms per customer workspace or ticket, assign specialist agents, and route messages between them for tiered automation.
- **External message ingestion pipeline** — Pipe messages from your native chat UI into ElizaOS via the external ingestion endpoint and stream agent responses back into your product.
- **Ephemeral AI sessions for time-bound flows** — Spin up stateful sessions for onboarding, live support, or sales calls with heartbeat-based expiry so idle contexts release compute automatically.
- **Voice-in / voice-out AI conversations** — Transcribe inbound audio, run it through an agent session, and return generated speech — all inside ElizaOS without stitching third-party TTS/STT providers.
- **Agent memory and run audit log** — Surface agent memories, room memories, and run history inside your dashboard so operators can inspect why an agent responded a certain way and meter execution usage.

## FAQs

### How does authentication to ElizaOS work through Truto?

Your end users connect their ElizaOS instance through Truto's connection flow. Truto stores and refreshes credentials, so your application calls a single Truto endpoint per tool (like create_a_eliza_os_agent or eliza_os_messaging_messages_ingest_external) without handling ElizaOS auth directly.

### Can we create and manage agents programmatically for each of our customers?

Yes. The integration exposes full agent lifecycle tools — create, get, list, update, delete, start, and stop — so you can generate per-tenant agents from user inputs and control their compute state on demand.

### Can we feed messages from our own chat UI into ElizaOS instead of using Discord or Telegram?

Yes. Use eliza_os_messaging_messages_ingest_external to pipe messages from your proprietary interface into ElizaOS, and read agent replies back via channel or session message endpoints. You don't need to run a third-party messaging backend.

### Does the integration support multi-agent coordination (Worlds and Rooms)?

Yes. You can create Worlds, create and update Rooms, add agents to messaging servers and channels, and list room memories to expose agent-to-agent coordination and shared context inside your product.

### How do we handle long-running AI tasks without holding a connection open?

Use the Jobs tools — create_a_eliza_os_job and get_single_eliza_os_job_by_id — to dispatch asynchronous background work and poll for results, instead of keeping a WebSocket alive for heavy processing.

### Can we access logs and run history for billing or audit purposes?

Yes. The integration exposes system logs, agent logs, and run history endpoints (list_all_eliza_os_runs, list_all_eliza_os_agent_logs, eliza_os_logs_get_system_post) so you can meter usage per customer and build audit trails inside your dashboard.

## Related reading

- [Connect ElizaOS to Claude: Automate agent runs and speech synthesis](https://truto.one/blog/connect-elizaos-to-claude-automate-agent-runs-and-speech-synthesis/) — Learn how to connect ElizaOS to Claude using a managed MCP server. This step-by-step guide covers automating agent runs, speech synthesis, and session management.
- [Connect ElizaOS to ChatGPT: Manage Agents, Worlds, and Messaging via MCP](https://truto.one/blog/connect-elizaos-to-chatgpt-manage-agents-worlds-and-messaging/) — Learn how to connect ElizaOS to ChatGPT using a managed MCP server. Automate agent lifecycles, manage messaging channels, and orchestrate worlds.
- [Connect ElizaOS to AI Agents: Control sessions, rooms, and media](https://truto.one/blog/connect-elizaos-to-ai-agents-control-sessions-rooms-and-media/) — Learn how to connect ElizaOS to AI Agents using Truto's /tools endpoint. Step-by-step guide to automating sessions, rooms, and multi-modal media.
