Share one folder
The person who receives it unzips it and selects the parent folder.
AGENT PACK DOCUMENTATION
Put one agent in each subfolder. Add a small JSON file and the Markdown instructions for that agent. Relay Console can create the full set, its Direct Chats, its Team Chats, and its built-in avatars in one import.
The person who receives it unzips it and selects the parent folder.
Each immediate subfolder describes one Hermes or OpenClaw agent.
Agent files name Direct Chats. One root file can define Team Chats.
Give the pack a clear name. Put every agent folder directly inside it. Relay Console reads only the immediate subfolders as agents. The root README is for people and does not affect the import.
My Agent Pack/
|-- agent-pack.json
|-- README.md
|-- Maya Research/
| |-- agent.json
| |-- SOUL.md
| |-- AGENTS.md
| `-- USER.md
`-- Theo Review/
|-- agent.json
|-- SOUL.md
`-- AGENTS.mdEach agent subfolder needs one agent.json file. The name and agentType fields are required. Use the other fields only when the agent needs them.
{
"name": "Maya Research",
"role": "Research analyst",
"model": "gpt-5.6-sol",
"avatarIdentifier": "avatars/illustrated/illustrated-black-female-02.png",
"agentType": "hermes",
"placement": "none",
"directChats": [
"Agent Introduction",
"Research Desk"
]
}nameRequiredThe agent name, up to 120 characters. Use a different name for each agent of the same type.agentTypeRequiredUse "hermes" or "openclaw".roleOptionalA description of the agent's job, up to 1,000 characters.modelOptionalThe model Relay Console selects when it creates the agent, up to 200 characters.avatarIdentifierOptionalA built-in avatar path copied from the Avatar Catalogue, up to 500 characters.placementOptionalUse "none", "personal", "family", or "business". The default is "none".familyLabelWhen neededRequired when placement is "family".companyIdWhen neededRequired when placement is "business".departmentIdOptionalThe existing Relay Console department ID.teamIdOptionalThe existing Relay Console team ID.directChatsOptionalA list of up to 20 different Direct Chat names. Each name can use up to 160 characters.The pack does not need to contain an image. Relay Console looks up the avatarIdentifier in its built-in avatar library. The import stops if the identifier does not exist.
Find the avatar that you want to use.
The catalogue copies the complete avatarIdentifier field.
Keep the avatars/category/file.png path exactly as copied.
Paste this field inside the agent object.
"avatarIdentifier": "avatars/illustrated/illustrated-black-female-02.png"Relay Console imports Markdown files from each agent subfolder. Use UTF-8 text. You can include only the files that the agent needs.
SOUL.mdThe agent's character, working style, and limits.
AGENTS.mdInstructions for how the agent works in this folder.
IDENTITY.mdIdentity details that the runtime can read.
USER.mdFacts and preferences about the person the agent helps.
MEMORY.mdStarting memory for the agent.
HEARTBEAT.mdOptional recurring-work instructions.
Other Markdown filesWorkflows, reference notes, skills, or other instructions.
SOUL.md, USER.md, MEMORY.md, skills/, and memories/ as profile files. Put a file in a workspace/ subfolder when you want it in the agent workspace. OpenClaw puts its Markdown in the agent workspace and removes an optional workspace/prefix.This step is optional. Add agent-pack.json to the parent folder when you want Relay Console to assign connected Composio applications or prepare Team Chats.
{
"version": 2,
"applications": [
{
"provider": "composio",
"toolkit": "notion",
"account": "Acme workspace",
"assignments": [
{ "agent": "Maya Research", "authority": "standard" },
{ "agent": "Theo Review", "authority": "direct_rights" }
]
}
],
"teamChats": [
{
"title": "Project Review",
"agents": ["Maya Research", "Theo Review"],
"manager": "Maya Research",
"relayReplyLimit": 16
}
]
}versionUse 2 when the pack contains applications. Version 1 remains valid for Team Chats only.
providerUse "composio". The user must connect Composio and the application before import.
toolkitUse the Composio toolkit ID, such as notion.
accountOptional when one toolkit account is connected. When several are connected, use the exact account alias shown in Relay Console.
assignmentsList each new agent and its authority. The agent name must match agent.json.
authorityUse "standard" to require approval for every inspected provider action. Use "direct_rights" to allow every inspected provider action without approval.
titleGive each Team Chat a different title of up to 160 characters.
agentsList agent names exactly as they appear in agent.json.
managerOptional. The manager must also appear in the agents list.
relayReplyLimitOptional. Use a whole number from 1 to 100,000.
Relay Console imports folders, not ZIP files. Include these instructions in the README at the root of your pack.
Open the ZIP and keep all agent subfolders inside the parent folder.
In a Local Mac workspace, open Agents and select New agent.
Select Import Agents from Folder.
Select the unzipped parent folder and wait for the result.
These limits keep an import small and safe. Relay Console rejects the full scan when a folder does not meet them.
agents in one import
Markdown files for each agent
for one Markdown file
of Markdown for each agent
Direct Chats for each agent
Team Chats in one pack
applications in one pack
application assignments in one pack
for agent.json or agent-pack.json
nested Markdown folder levels
It is a working six-agent pack with identity files, named Direct Chats, built-in avatars, and one managed Team Chat.