# AgentExternalOperationReference

A tool an agent may call in every interaction it takes part in.

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

## In a request

| Field | Type | Required | Description |
|---|---|---|---|
| `externalOperationId` | `uuid` |  | The tool's id. |
| `externalOperationVersion` | `integer \| null` |  | The version of the tool the agent calls. Leave it out to use the tool's latest enabled version, which is fixed when the agent is saved. Constraints: range: 1..2147483647. |
| `promptGuidance` | `string \| null` |  | A note kept with the agent about how it should use the tool. The model reads the tool's own guidance; to change that for one interaction, set the guidance where the interaction binds the tool. |

```json
{
  "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "externalOperationVersion": 0,
  "promptGuidance": "..."
}
```

## In a response

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

| Field | Type | Description |
|---|---|---|
| `externalOperationId` | `uuid` | The tool's id. |
| `externalOperationVersion` | `integer \| null` | The version of the tool the agent calls. Leave it out to use the tool's latest enabled version, which is fixed when the agent is saved. Constraints: range: 1..2147483647. |
| `promptGuidance` | `string \| null` | A note kept with the agent about how it should use the tool. The model reads the tool's own guidance; to change that for one interaction, set the guidance where the interaction binds the tool. |

```json
{
  "externalOperationId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
  "externalOperationVersion": 0,
  "promptGuidance": "..."
}
```

## Where it's used

- Inside [`AgentCreateRequest`](https://docs.maitento.com/reference/types/agent-create-request.md)
- Inside [`AgentUpdateRequest`](https://docs.maitento.com/reference/types/agent-update-request.md)
- Inside [`AgentVersion`](https://docs.maitento.com/reference/types/agent-version.md)
