Workato · Schema
Workato Genie
Represents a Workato AI agent (genie) — an entity that uses large language models and recipe-backed skills to autonomously handle tasks and answer questions. Genies are configured with instructions, an AI provider, skills, and knowledge bases.
AgenticAPI ManagementAutomationB2BEmbedded iPaaSEnterpriseIntegrationiPaaSOrchestrationWorkflow
Properties
| Name | Type | Description |
|---|---|---|
| id | integer | Unique integer identifier of the genie within the workspace. |
| name | string | Display name of the genie. |
| description | string | Human-readable description of the genie's purpose and capabilities. |
| folder_id | integer | ID of the workspace folder that contains this genie. |
| state | string | Current operational state of the genie. |
| instructions | string | Natural language instructions that define the genie's behavior, persona, and decision-making approach. |
| ai_provider | string | The AI model provider powering this genie (e.g., openai, anthropic, workato). |
| shared_account_id | integer | ID of the shared account providing credentials for the AI provider. |
| custom_oauth_key_id | integer | ID of the custom OAuth profile used for AI provider authentication. |
| matrix | object | Advanced configuration settings for the genie's behavior and model parameters. |
| skills | array | List of skills (recipe-backed tools) assigned to this genie. |
| knowledge_bases | array | List of knowledge bases assigned to this genie for contextual data retrieval. |
| user_groups | array | Identity provider user groups that have access to interact with this genie. |
| created_at | string | ISO 8601 timestamp when the genie was created. |
| updated_at | string | ISO 8601 timestamp when the genie was last updated. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://www.workato.com/schemas/genie.json",
"title": "Workato Genie",
"description": "Represents a Workato AI agent (genie) — an entity that uses large language models and recipe-backed skills to autonomously handle tasks and answer questions. Genies are configured with instructions, an AI provider, skills, and knowledge bases.",
"type": "object",
"required": ["id", "name"],
"properties": {
"id": {
"type": "integer",
"description": "Unique integer identifier of the genie within the workspace."
},
"name": {
"type": "string",
"description": "Display name of the genie.",
"minLength": 1,
"maxLength": 255
},
"description": {
"type": "string",
"description": "Human-readable description of the genie's purpose and capabilities."
},
"folder_id": {
"type": "integer",
"description": "ID of the workspace folder that contains this genie."
},
"state": {
"type": "string",
"description": "Current operational state of the genie.",
"enum": ["running", "stopped"]
},
"instructions": {
"type": "string",
"description": "Natural language instructions that define the genie's behavior, persona, and decision-making approach."
},
"ai_provider": {
"type": "string",
"description": "The AI model provider powering this genie (e.g., openai, anthropic, workato)."
},
"shared_account_id": {
"type": "integer",
"description": "ID of the shared account providing credentials for the AI provider."
},
"custom_oauth_key_id": {
"type": "integer",
"description": "ID of the custom OAuth profile used for AI provider authentication."
},
"matrix": {
"type": "object",
"description": "Advanced configuration settings for the genie's behavior and model parameters.",
"additionalProperties": true
},
"skills": {
"type": "array",
"description": "List of skills (recipe-backed tools) assigned to this genie.",
"items": {
"$ref": "#/$defs/SkillRef"
}
},
"knowledge_bases": {
"type": "array",
"description": "List of knowledge bases assigned to this genie for contextual data retrieval.",
"items": {
"$ref": "#/$defs/KnowledgeBaseRef"
}
},
"user_groups": {
"type": "array",
"description": "Identity provider user groups that have access to interact with this genie.",
"items": {
"$ref": "#/$defs/UserGroupRef"
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the genie was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the genie was last updated."
}
},
"$defs": {
"SkillRef": {
"type": "object",
"title": "Skill Reference",
"description": "A reference to a skill assigned to a genie.",
"required": ["id"],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the skill."
},
"name": {
"type": "string",
"description": "Display name of the skill."
},
"description": {
"type": "string",
"description": "Description of the capability this skill provides the genie."
},
"recipe_id": {
"type": "integer",
"description": "ID of the underlying recipe that implements this skill."
}
}
},
"KnowledgeBaseRef": {
"type": "object",
"title": "Knowledge Base Reference",
"description": "A reference to a knowledge base assigned to a genie.",
"required": ["id"],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the knowledge base."
},
"name": {
"type": "string",
"description": "Display name of the knowledge base."
},
"source_type": {
"type": "string",
"description": "The type of data sources used in the knowledge base."
}
}
},
"UserGroupRef": {
"type": "object",
"title": "User Group Reference",
"description": "A reference to an identity provider user group.",
"required": ["id"],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the user group."
},
"name": {
"type": "string",
"description": "Display name of the user group."
}
}
},
"DataSource": {
"type": "object",
"title": "Data Source",
"description": "A configured data source that feeds information into a knowledge base.",
"required": ["source_type"],
"properties": {
"id": {
"type": "integer",
"description": "Unique identifier of the data source."
},
"source_type": {
"type": "string",
"description": "Type of data source.",
"enum": ["document", "table", "api", "database", "web"]
},
"connection_id": {
"type": "integer",
"description": "ID of the Workato connection used to authenticate to the data source."
},
"config": {
"type": "object",
"description": "Source-specific configuration including paths, queries, or selectors.",
"additionalProperties": true
},
"sync_frequency": {
"type": "string",
"description": "How often the data source is synchronized.",
"enum": ["manual", "hourly", "daily", "weekly"]
}
}
},
"McpServer": {
"type": "object",
"title": "MCP Server",
"description": "A Model Context Protocol server that exposes Workato API collections as tools for external AI agents.",
"required": ["handle", "name"],
"properties": {
"handle": {
"type": "string",
"description": "Unique slug identifier of the MCP server.",
"pattern": "^[a-z0-9-]+$"
},
"name": {
"type": "string",
"description": "Display name of the MCP server.",
"minLength": 1,
"maxLength": 255
},
"folder_id": {
"type": "integer",
"description": "ID of the folder containing this MCP server."
},
"mcp_url": {
"type": "string",
"format": "uri",
"description": "The authenticated MCP URL for AI agents to connect to."
},
"authentication_method": {
"type": "string",
"description": "Authentication method used by the MCP server."
},
"tools": {
"type": "array",
"description": "List of tools (API endpoints) exposed through this MCP server.",
"items": {
"$ref": "#/$defs/McpTool"
}
},
"policies": {
"$ref": "#/$defs/ServerPolicy"
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the MCP server was created."
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the MCP server was last updated."
}
}
},
"McpTool": {
"type": "object",
"title": "MCP Tool",
"description": "An individual API endpoint exposed as a callable tool through an MCP server.",
"required": ["id", "trigger_application"],
"properties": {
"id": {
"type": "string",
"description": "Unique identifier of the tool within its application."
},
"name": {
"type": "string",
"description": "Display name of the tool shown to AI agents."
},
"description": {
"type": "string",
"description": "Description of what the tool does and when AI agents should use it."
},
"trigger_application": {
"type": "string",
"description": "The application or API collection that owns this tool."
}
}
},
"ServerPolicy": {
"type": "object",
"title": "Server Policy",
"description": "Security and rate limiting policies for an MCP server.",
"properties": {
"rate_limit": {
"type": "object",
"description": "Rate limiting configuration.",
"properties": {
"requests_per_minute": {
"type": "integer",
"minimum": 1,
"description": "Maximum requests allowed per minute."
},
"requests_per_hour": {
"type": "integer",
"minimum": 1,
"description": "Maximum requests allowed per hour."
}
}
},
"quota_limit": {
"type": "object",
"description": "Monthly quota configuration.",
"properties": {
"requests_per_month": {
"type": "integer",
"minimum": 1,
"description": "Maximum requests allowed per month."
}
}
},
"ip_allowlist": {
"type": "array",
"description": "IP addresses or CIDR ranges permitted to access the server.",
"items": {
"type": "string",
"description": "IP address or CIDR range."
}
},
"ip_denylist": {
"type": "array",
"description": "IP addresses or CIDR ranges blocked from accessing the server.",
"items": {
"type": "string",
"description": "IP address or CIDR range."
}
}
}
}
}
}