# ManagedInteractionAgentBinding

An agent a managed interaction's manager can dispatch work to, and what it sees when it does.

**Kind:** an object, used in requests and responses. In a request it is called `ManagedInteractionAgentBindingInput`.

## In a request

| Field | Type | Required | Description |
|---|---|---|---|
| `mode` | [`ManagedAgentMode`](https://docs.maitento.com/reference/types/managed-agent-mode.md) |  | What the agent sees when the manager dispatches work to it. Default: `OneTime`, which shows it the least. |
| `name` | `string` |  | The participant's name in the interaction. Per-agent settings of a run, such as model overrides and loom mappings, name the participant by it. |
| `agent` | [`VersionReference`](https://docs.maitento.com/reference/types/version-reference.md) |  | The agent, and the version of it, that takes part. |
| `externalOperationsMcp` | [`McpExternalOperationBindingInput`](https://docs.maitento.com/reference/types/mcp-external-operation-binding.md#in-a-request)`[]` |  | Tools from MCP connectors this participant gets on top of its agent's own. |
| `externalOperationsOpenApi` | [`OpenApiExternalOperationBindingInput`](https://docs.maitento.com/reference/types/open-api-external-operation-binding.md#in-a-request)`[]` |  | Tools from OpenAPI connectors this participant gets on top of its agent's own. |
| `loomId` | `uuid \| null` |  | The id of a named loom this participant always wakes up with. Null: the interaction's loom scope decides. A loom mapped when a run starts takes precedence. |
| `webAccess` | [`InteractionAgentWebAccessInput`](https://docs.maitento.com/reference/types/interaction-agent-web-access.md#in-a-request)`\| null` |  | This participant's web tools, overriding what its agent allows; each null member keeps the agent's setting. Null: the agent decides. A run's own overrides take precedence over this. |

```json
{
  "mode": "OneTime",
  "name": "...",
  "agent": {
    "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "version": 0
  },
  "externalOperationsMcp": [
    {
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "externalOperationsOpenApi": [
    {
      "pathBindings": [],
      "queryBindings": [],
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "loomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "webAccess": {
    "search": false,
    "fetch": false
  }
}
```

## In a response

Every field is present in a response; empty ones are `null`.

| Field | Type | Description |
|---|---|---|
| `mode` | [`ManagedAgentMode`](https://docs.maitento.com/reference/types/managed-agent-mode.md) | What the agent sees when the manager dispatches work to it. Default: `OneTime`, which shows it the least. |
| `name` | `string` | The participant's name in the interaction. Per-agent settings of a run, such as model overrides and loom mappings, name the participant by it. |
| `agent` | [`VersionReference`](https://docs.maitento.com/reference/types/version-reference.md) | The agent, and the version of it, that takes part. |
| `externalOperationsMcp` | [`McpExternalOperationBinding`](https://docs.maitento.com/reference/types/mcp-external-operation-binding.md)`[]` | Tools from MCP connectors this participant gets on top of its agent's own. |
| `externalOperationsOpenApi` | [`OpenApiExternalOperationBinding`](https://docs.maitento.com/reference/types/open-api-external-operation-binding.md)`[]` | Tools from OpenAPI connectors this participant gets on top of its agent's own. |
| `loomId` | `uuid \| null` | The id of a named loom this participant always wakes up with. Null: the interaction's loom scope decides. A loom mapped when a run starts takes precedence. |
| `webAccess` | [`InteractionAgentWebAccess`](https://docs.maitento.com/reference/types/interaction-agent-web-access.md)`\| null` | This participant's web tools, overriding what its agent allows; each null member keeps the agent's setting. Null: the agent decides. A run's own overrides take precedence over this. |

```json
{
  "mode": "OneTime",
  "name": "...",
  "agent": {
    "id": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
    "version": 0
  },
  "externalOperationsMcp": [
    {
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "externalOperationsOpenApi": [
    {
      "pathBindings": [],
      "queryBindings": [],
      "name": "...",
      "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
      "externalOperationVersion": 0,
      "requestBindings": [],
      "authenticationHeader": {},
      "promptGuidance": "...",
      "isTerminal": false
    }
  ],
  "loomId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "webAccess": {
    "search": false,
    "fetch": false
  }
}
```

## Where it's used

- Inside [`ManagedInteractionCreateRequest`](https://docs.maitento.com/reference/types/managed-interaction-create-request.md)
- Inside [`ManagedInteractionUpdateRequest`](https://docs.maitento.com/reference/types/managed-interaction-update-request.md)
- Inside [`ManagedInteractionVersion`](https://docs.maitento.com/reference/types/managed-interaction-version.md)
