Skip to main content

Export Formats

MeetLoyd uses standardized JSON formats for exporting and importing agents and teams. These formats are designed to be portable, version-controlled, and store-ready.

Overview

FormatDescriptionUse Cases
meetloyd-agentSingle agent exportShare agents, backup, store
meetloyd-teamMulti-agent team exportShare teams, backup, store

meetloyd-agent Format

Export format for individual agents.

Structure

{
"_format": "meetloyd-agent",
"_version": "1.1",
"_exportedAt": "2025-12-17T10:30:00.000Z",
"_exportedFrom": "tenant_xxx",

"agent": {
"name": "My Agent",
"description": "Agent description",
"model": "claude-sonnet-4-20250514",
"systemPrompt": "You are a helpful assistant...",
"tools": [
{ "name": "calculator" },
{ "name": "web_search" }
],
"memoryConfig": {
"enabled": true,
"scope": "user",
"retention": "permanent"
},
"rateLimits": {
"requestsPerMinute": 60,
"tokensPerDay": 100000
}
},

"versions": [
{
"version": 1,
"label": "Initial",
"description": "First version",
"config": { ... },
"changeType": "create",
"createdAt": "2025-12-17T10:30:00.000Z"
}
]
}

Fields

FieldTypeRequiredDescription
_formatstringYesMust be "meetloyd-agent"
_versionstringYesFormat version (current: "1.1")
_exportedAtstringYesISO 8601 timestamp
_exportedFromstringNoSource tenant ID
agentobjectYesAgent configuration
versionsarrayNoVersion history (optional)

API Endpoints

# Export agent
GET /api/export/agents/:id/export?includeVersions=true

# Import agent
POST /api/export/agents/import

meetloyd-team Format

Export format for multi-agent teams (multi-agent systems).

Structure

{
"_format": "meetloyd-team",
"_version": "1.0",
"_exportedAt": "2025-12-17T10:30:00.000Z",
"_exportedFrom": "tenant_xxx",

"team": {
"name": "C-Suite",
"description": "AI C-Suite executive team",
"settings": {
"maxAgents": 10,
"collaborationMode": "parallel",
"sharedMemory": true
}
},

"agents": [
{
"localId": "iris",
"name": "Iris",
"description": "Chief of Staff",
"role": "chief-of-staff",
"model": "claude-sonnet-4-20250514",
"systemPrompt": "You are Iris...",
"tools": [
{ "name": "team_memory_get" },
{ "name": "team_memory_set" }
],
"memoryConfig": {
"enabled": true,
"scope": "team"
},
"rateLimits": {
"requestsPerMinute": 60
}
},
{
"localId": "maya",
"name": "Maya",
"description": "CMO",
"role": "cmo",
"model": "claude-sonnet-4-20250514",
"parentAgentLocalId": "iris"
}
],

"teamMemory": [
{
"key": "current_priorities",
"value": { "p1": "Close first deal", "p2": "Build content" },
"description": "Company priorities"
}
],

"tasks": [
{
"name": "Daily Briefing",
"description": "Morning CEO briefing",
"assignedAgentLocalId": "iris",
"schedule": "0 8 * * 1-5",
"input": { "includeMetrics": true }
}
],

"provisioning": {
"google": {
"createGroup": true,
"groupEmail": "csuite@company.com",
"createSharedDrive": true,
"sharedDriveName": "C-Suite Drive",
"createUserAccounts": false
},
"microsoft": {
"createGroup": true,
"createSharePointSite": true,
"siteName": "C-Suite",
"createTeamsChannel": true
}
},

"store": {
"id": "csuite-executive-team",
"version": "1.0.0",
"author": "MeetLoyd",
"category": "executive",
"tags": ["c-suite", "executive", "cmo", "cro"],
"price": 0,
"currency": "EUR"
}
}

Team Fields

FieldTypeRequiredDescription
_formatstringYesMust be "meetloyd-team"
_versionstringYesFormat version (current: "1.0")
_exportedAtstringYesISO 8601 timestamp
teamobjectYesTeam metadata
team.namestringYesTeam name
team.descriptionstringNoTeam description
team.settingsobjectNoTeam settings
agentsarrayYesAgents in the team
teamMemoryarrayNoInitial team memory
tasksarrayNoScheduled tasks
provisioningobjectNoGoogle/Microsoft resource creation
storeobjectNoStore metadata

Agent Fields

FieldTypeRequiredDescription
localIdstringYesReference ID within export
namestringYesAgent name
descriptionstringNoAgent description
rolestringNoAgent role (e.g., "cmo", "cro")
modelstringYesLLM model ID
systemPromptstringNoSystem prompt
toolsarrayNoEnabled tools
memoryConfigobjectNoMemory configuration
rateLimitsobjectNoRate limits
parentAgentLocalIdstringNoReference to supervisor agent

Provisioning Options

Google Workspace

FieldTypeDescription
createGroupbooleanCreate a Google Group
groupEmailstringSuggested group email
createSharedDrivebooleanCreate a shared Google Drive
sharedDriveNamestringName for the shared drive
createUserAccountsbooleanCreate accounts for agents

Microsoft 365

FieldTypeDescription
createGroupbooleanCreate a Microsoft 365 Group
groupEmailstringSuggested group email
createSharePointSitebooleanCreate a SharePoint site
siteNamestringSharePoint site name
createTeamsChannelbooleanCreate a Teams channel

API Endpoints

# Export team
GET /api/export/teams/:id/export?includeMemory=true

# Import team
POST /api/export/teams/import

Import Request

POST /api/export/teams/import
Content-Type: application/json

{
"export": { ... }, // Team export JSON
"options": {
"appId": "app_xxx", // Target app (optional)
"rename": "My Team", // Override name (optional)
"importMemory": true, // Import team memory
"enableProvisioning": false // Enable Google/Microsoft
}
}

Import Response

{
"success": true,
"teamId": "team_abc123",
"teamName": "C-Suite",
"agentsCreated": 4,
"agents": [
{ "localId": "iris", "agentId": "agent_xxx", "name": "Iris" },
{ "localId": "maya", "agentId": "agent_yyy", "name": "Maya" }
],
"memoryImported": 3
}

Version Migration

Export formats are forward-compatible. When importing an older version:

  1. The system detects the version from _version
  2. Applies migrations sequentially to upgrade
  3. Returns migration info in the response
{
"success": true,
"migration": {
"from": "1.0",
"to": "1.1"
}
}

Best Practices

For Agent Exports

  1. Include meaningful descriptions
  2. Keep system prompts modular
  3. Use standard tool names
  4. Set appropriate rate limits

For Team Exports

  1. Use descriptive localId values
  2. Set parentAgentLocalId for hierarchy
  3. Include initial teamMemory for context
  4. Define tasks with proper schedules

For Store Submissions

  1. Set all store fields
  2. Include comprehensive documentation in descriptions
  3. Test import/export cycle before submission
  4. Version your exports semantically