openclaw
Version:
Multi-channel AI gateway with extensible messaging integrations
274 lines (273 loc) • 6.24 kB
JSON
{
"id": "imap",
"name": "IMAP email trigger",
"description": "Watch IMAP mailboxes and dispatch authenticated incoming email to isolated agent sessions.",
"activation": {
"onStartup": true
},
"enabledByDefault": false,
"configContracts": {
"secretInputs": {
"bundledDefaultEnabled": false,
"paths": [
{
"path": "accounts.*.password",
"expected": "string",
"ownerKind": "route"
}
]
},
"dangerousFlags": [
{
"path": "accounts.*.senderAuth.acceptTrustedAuthservId",
"equals": true
},
{
"path": "accounts.*.senderAuth.min",
"equals": "unverified"
},
{
"path": "accounts.*.senderAuth.min",
"equals": "mutable"
}
]
},
"uiHints": {
"accounts.*.password": {
"label": "IMAP password",
"sensitive": true
},
"accounts.*.allowedSenders": {
"label": "Allowed senders",
"help": "Email addresses or @domain entries permitted to trigger the reader agent."
},
"accounts.*.agentId": {
"label": "Restricted reader agent"
},
"accounts.*.senderAuth.min": {
"label": "Minimum sender authentication",
"advanced": true
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"$defs": {
"secretRef": {
"type": "object",
"additionalProperties": false,
"properties": {
"source": {
"type": "string",
"enum": [
"env",
"file",
"exec",
"store"
]
},
"provider": {
"type": "string"
},
"id": {
"type": "string"
}
},
"required": [
"source",
"provider",
"id"
]
},
"secretInput": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"$ref": "#/$defs/secretRef"
}
]
},
"senderAuth": {
"type": "object",
"additionalProperties": false,
"properties": {
"min": {
"type": "string",
"enum": [
"verified",
"asserted",
"unverified",
"mutable"
],
"default": "verified"
},
"trustedAuthservIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"acceptTrustedAuthservId": {
"type": "boolean",
"default": false
}
}
},
"addressToken": {
"type": "object",
"additionalProperties": false,
"properties": {
"token": {
"type": "string",
"minLength": 1
},
"senders": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"minItems": 1
}
},
"required": [
"token",
"senders"
]
},
"watch": {
"type": "object",
"additionalProperties": false,
"properties": {
"mode": {
"type": "string",
"enum": [
"auto",
"idle",
"interval"
],
"default": "auto"
},
"pollSeconds": {
"type": "integer",
"minimum": 15,
"default": 60
}
}
},
"account": {
"type": "object",
"additionalProperties": false,
"properties": {
"host": {
"type": "string",
"minLength": 1
},
"port": {
"type": "integer",
"minimum": 1,
"maximum": 65535,
"default": 993
},
"secure": {
"type": "boolean",
"default": true
},
"user": {
"type": "string",
"minLength": 1
},
"password": {
"$ref": "#/$defs/secretInput"
},
"mailbox": {
"type": "string",
"minLength": 1,
"default": "INBOX"
},
"watch": {
"$ref": "#/$defs/watch"
},
"allowedSenders": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"senderAuth": {
"$ref": "#/$defs/senderAuth"
},
"addressTokens": {
"type": "array",
"items": {
"$ref": "#/$defs/addressToken"
}
},
"agentId": {
"type": "string",
"minLength": 1
},
"deliver": {
"type": "boolean",
"default": false
},
"includeBody": {
"type": "boolean",
"default": true
},
"maxBytes": {
"type": "integer",
"minimum": 256,
"maximum": 1048576,
"default": 20000
},
"model": {
"type": "string",
"minLength": 1
},
"thinking": {
"type": "string",
"enum": [
"off",
"minimal",
"low",
"medium",
"high",
"xhigh",
"adaptive",
"max",
"ultra"
]
},
"timeoutSeconds": {
"type": "integer",
"minimum": 1
}
},
"required": [
"host",
"user",
"password",
"agentId"
]
}
},
"properties": {
"accounts": {
"type": "object",
"propertyNames": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$"
},
"additionalProperties": {
"$ref": "#/$defs/account"
}
}
}
}
}