> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Actions におけるエージェントコンテキスト

> `event.agent` オブジェクトを使用して、Auth0 Actions でエージェントの ID とメタデータにアクセスします。

> [!WARNING]
>
> **Agent as Principal機能は現在、です。**

リクエストにエージェントに紐づけられたクライアントが関与する場合、Actionsランタイムは`event.agent`オブジェクトを公開します。エージェントが関与しない場合、このオブジェクトは存在しないため、既存のActionsコードに影響はありません。

## トリガー

`event.agent` は以下のトリガーで利用できます。

| トリガー | `event.agent` が存在する条件 |
| - | - |
| `credentials-exchange` | `agent_id` が設定されたクライアントによるクライアントクレデンシャルグラントの場合。 |
| `post-login` | `agent_id` が設定されたクライアントによる認可コードフロー、トークン交換、またはデバイスフローの場合。 |

## `event.agent` オブジェクト

`event.agent` オブジェクトのスキーマは次のとおりです。

```json theme={null}
{
  "agent_id": "agt_72jbvv7LfRKYp59gtRLtkn",
  "agent_metadata": {
    "env": "prod"
  }
}
```

`event.client` に変更はありません。引き続き、リクエストを認証した連携済みの OAuth クライアントを表します。

## 例: エージェントトークンへのカスタムクレーム

`credentials-exchange` Action で `event.agent` を使用すると、アクセストークンにエージェントコンテキストを追加できます。

```javascript theme={null}
exports.onExecuteCredentialsExchange = async (event, api) => {
  if (event.agent) {
    api.accessToken.setCustomClaim('agent_env', event.agent.agent_metadata?.env);
    api.accessToken.setCustomClaim('agent_id', event.agent.agent_id);
  }
};
```

Action の作成について詳しくは、[はじめての Action を書く](https://auth0.com/docs/ja-jp/customize/actions/write-your-first-action.md)をご覧ください。
