{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Integration identifier"
},
"display_name": {
"type": "string",
"description": "Human-readable name"
},
"icon": {
"type": [
"string",
"null"
],
"description": "Icon filename (e.g., gmail.svg)"
},
"description": {
"type": "string",
"description": "Brief description of the integration"
},
"auth": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"oauth2",
"oauth1",
"api-key",
"basic"
]
},
"provider": {
"type": [
"string",
"null"
],
"description": "OAuth provider name"
},
"scopes": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of scopes associated with this tool result."
},
{
"type": "null",
"description": "The scopes returned by the tool."
}
],
"description": "Required OAuth scopes"
},
"authorization_url": {
"type": "string",
"description": "OAuth authorization URL"
},
"token_url": {
"type": "string",
"description": "OAuth token URL"
},
"optional_scopes": {
"type": "array",
"items": {
"type": "string"
},
"description": "OAuth scopes requested when the user grants them"
},
"callback_path": {
"type": "string",
"description": "OAuth callback path on this API"
},
"required_apis": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Provider API name"
},
"enable_url": {
"type": "string",
"description": "Where to enable the provider API"
}
},
"required": [
"name",
"enable_url"
],
"additionalProperties": false
},
"description": "Provider APIs that must be enabled for the OAuth app"
}
},
"required": [
"type"
],
"additionalProperties": false,
"description": "Authentication configuration"
},
"env_vars": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Environment variable name"
},
"description": {
"type": "string",
"description": "Description of the variable"
},
"required": {
"type": "boolean",
"description": "Whether this variable is required"
},
"sensitive": {
"type": "boolean",
"description": "Whether this variable contains sensitive data"
},
"default": {
"type": "string",
"description": "Default value used when the variable is not set"
},
"docs_url": {
"type": "string",
"description": "Where to find the value"
}
},
"required": [
"name",
"description",
"required",
"sensitive"
],
"additionalProperties": false
},
"description": "Required environment variables"
},
"tools": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Tool identifier"
},
"name": {
"type": "string",
"description": "Tool name"
},
"description": {
"type": "string",
"description": "Tool description"
},
"requires_write": {
"type": "boolean",
"description": "Whether write authority is required. Unknown side effects require write authority."
},
"input_schema": {
"type": "object",
"additionalProperties": {
"description": "Additional structured values associated with this result."
},
"description": "JSON Schema for callable tool input. Omitted when the catalog tool is not callable."
}
},
"required": [
"id",
"name",
"description",
"requires_write"
],
"additionalProperties": false
},
"description": "Available tools provided by this integration"
},
"prompts": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Prompt identifier"
},
"title": {
"type": "string",
"description": "Prompt title"
},
"prompt": {
"type": "string",
"description": "Prompt template text"
},
"category": {
"type": "string",
"description": "Prompt category"
},
"icon": {
"type": "string",
"description": "Prompt icon name"
}
},
"required": [
"id",
"title",
"prompt"
],
"additionalProperties": false
},
"description": "Available prompts provided by this integration"
},
"suggested_with": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
},
"description": "List of suggested with associated with this tool result."
},
{
"type": "null",
"description": "The suggested with returned by the tool."
}
],
"description": "Related integrations that work well with this one"
},
"config_schema": {
"anyOf": [
{
"type": "object",
"properties": {
"version": {
"type": "number",
"const": 1
},
"fields": {
"type": "array",
"items": {
"anyOf": [
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string",
"const": "select"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
},
"default": {
"type": "string"
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
}
},
"required": [
"value",
"label"
],
"additionalProperties": false
},
"description": "List of options associated with this tool result."
}
},
"required": [
"key",
"type",
"label",
"options"
],
"additionalProperties": false,
"description": "Structured option 1 details associated with this tool result."
},
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string",
"const": "multiselect"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
},
"default": {
"type": "array",
"items": {
"type": "string"
}
},
"options": {
"type": "array",
"items": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
}
},
"required": [
"value",
"label"
],
"additionalProperties": false
},
"description": "List of options associated with this tool result."
}
},
"required": [
"key",
"type",
"label",
"options"
],
"additionalProperties": false,
"description": "Structured option 2 details associated with this tool result."
},
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string",
"const": "boolean"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
},
"default": {
"type": "boolean"
}
},
"required": [
"key",
"type",
"label"
],
"additionalProperties": false,
"description": "Structured option 3 details associated with this tool result."
},
{
"type": "object",
"properties": {
"key": {
"type": "string"
},
"type": {
"type": "string",
"const": "number"
},
"label": {
"type": "string"
},
"description": {
"type": "string",
"description": "Human-readable description returned by the tool."
},
"default": {
"type": "number"
},
"min": {
"type": "number"
},
"max": {
"type": "number"
},
"step": {
"type": "number"
}
},
"required": [
"key",
"type",
"label"
],
"additionalProperties": false,
"description": "Structured option 4 details associated with this tool result."
}
]
},
"description": "Fields returned for the structured input request."
}
},
"required": [
"version",
"fields"
],
"additionalProperties": false,
"description": "Structured config schema details associated with this tool result."
},
{
"type": "null",
"description": "The config schema returned by the tool."
}
],
"description": "Optional integration configuration schema for project-level governance settings"
},
"icon_url": {
"type": "string",
"format": "uri",
"description": "URL of the integration icon on the REST API"
},
"category": {
"type": [
"string",
"null"
],
"description": "Connector category. Null when the package declares none"
},
"availability": {
"type": "string",
"enum": [
"default",
"experimental",
"host_adapter"
],
"description": "Why this deployment publishes the integration: default, experimental or host_adapter"
},
"credential_env_var_names": {
"type": "array",
"items": {
"type": "string"
},
"description": "Environment variable names for the credentials of the integration. Empty if none are configured"
},
"credential_requirement": {
"type": "object",
"properties": {
"mode": {
"type": "string",
"enum": [
"oauth_connection",
"project_credentials",
"none"
],
"description": "How the integration is authorized: an OAuth connection, project credentials or nothing"
},
"managed_oauth": {
"type": "boolean",
"description": "Whether Veryfront provides the OAuth app"
},
"byo_oauth_app_override": {
"type": "object",
"properties": {
"supported": {
"type": "boolean",
"description": "Whether a project may provide its own OAuth app"
},
"required": {
"type": "boolean",
"description": "Whether a project must provide its own OAuth app"
},
"client_id_env_var": {
"type": [
"string",
"null"
],
"description": "Environment variable of the OAuth client ID"
},
"client_secret_env_var": {
"type": [
"string",
"null"
],
"description": "Environment variable of the OAuth client secret"
}
},
"required": [
"supported",
"required",
"client_id_env_var",
"client_secret_env_var"
],
"additionalProperties": false,
"description": "Project-provided OAuth app override"
},
"mandatory_env_vars": {
"type": "array",
"items": {
"type": "string"
},
"description": "Environment variables the project must set"
}
},
"required": [
"mode",
"managed_oauth",
"byo_oauth_app_override",
"mandatory_env_vars"
],
"additionalProperties": false,
"description": "What a project must provide before the integration can run"
},
"setup_guide": {
"type": "object",
"properties": {
"title": {
"type": "string",
"description": "Guide title"
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"step": {
"type": "number",
"description": "Step number"
},
"title": {
"type": "string",
"description": "Step title"
},
"description": {
"type": "string",
"description": "What to do in this step"
},
"url": {
"type": "string",
"description": "Page to open for this step"
},
"docs_url": {
"type": "string",
"description": "Documentation for this step"
},
"code": {
"type": "string",
"description": "Value or snippet to copy"
}
},
"required": [
"title",
"description"
],
"additionalProperties": false
},
"description": "Setup steps in order"
},
"notes": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional notes"
},
"documentation": {
"type": "string",
"description": "Provider documentation URL"
}
},
"required": [
"steps"
],
"additionalProperties": false,
"description": "How to prepare the provider account and credentials"
},
"project_connections": {
"type": "object",
"properties": {
"connected": {
"type": "integer",
"minimum": 0,
"description": "Connections that are connected"
},
"expired": {
"type": "integer",
"minimum": 0,
"description": "Connections whose credentials expired"
},
"disconnected": {
"type": "integer",
"minimum": 0,
"description": "Connections that are disconnected"
}
},
"required": [
"connected",
"expired",
"disconnected"
],
"additionalProperties": false,
"description": "Shared connections of this integration in the projects the caller can see"
},
"project_user_connections": {
"type": "object",
"properties": {
"connected": {
"$ref": "#/properties/project_connections/properties/connected",
"description": "The connected returned by the tool."
},
"expired": {
"$ref": "#/properties/project_connections/properties/expired",
"description": "The expired returned by the tool."
},
"disconnected": {
"$ref": "#/properties/project_connections/properties/disconnected",
"description": "The disconnected returned by the tool."
}
},
"required": [
"connected",
"expired",
"disconnected"
],
"additionalProperties": false,
"description": "The caller's own connections of this integration. Zero for API keys and service credentials"
}
},
"required": [
"name",
"display_name",
"description",
"auth",
"env_vars",
"tools",
"prompts",
"category",
"availability",
"credential_env_var_names",
"credential_requirement",
"project_connections",
"project_user_connections"
],
"additionalProperties": false,
"description": "Structured result returned by the get_integration tool.",
"$schema": "http://json-schema.org/draft-07/schema#"
}