# Workdayコネクタ

ワークデイコネクタは、Reports-as-a-Service APIを使用してユーザー属性をワークデイからインポートします。 この統合により、特定のユーザー属性をインポートしてNexthink Adoptでのターゲティング能力を向上させることができます。 Adoptが主な使用ケースですが、インポートされたデータは、カスタムフィールドをサポートする任意のNexthink機能でも活用できます。 このコネクタは、OAuth 2.0およびBasic Auth認証方法に対応しています。

## 前提条件

ワークデイコネクタを設定する前に、以下を完了してください:

* ワークデイでカスタムレポートを作成する。
* OAuth 2.0 Authorization Code Grantを使用してワークデイAPIクライアントを登録する。
* Nexthinkでコネクタ資格情報を設定する。 詳細は、[Connector credentials](/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/connector-credentials.md)の文書を参照してください。

## ワークデイでのレポート作成 <a href="#step-1-create-a-report-in-workday" id="step-1-create-a-report-in-workday"></a>

1. ワークデイの**カスタムレポート作成**ページに移動します。
2. レポートを設定する:
   * レポートタイプとして**アドバンス**を選択します。
   * 意味のある**レポート名**を提供してください。
3. レポートが迅速にデータを返すことを保証するために、**Web Service** および **Optimized for Performance** オプションを選択します。 データソースは収集されるデータに依存しますが、標準的な推奨は**Indexed All Worker**を使用することです。
4. ユーザー識別子（**email** や **UPN**など）を含む必要なレポートフィールドを追加します。
5. レポートを作成した後、Nexthinkで使用するURLを生成します。 URLの形式は次のとおりです: `https://<tenant>.workday.com/ccx/service/customreport2/<tenant>/<report_path>`

* 構成のためにURLを2つの部分に分割します:
  * コネクタ資格情報用の基本URL:\
    `https://<tenant>.workday.com`
  * リソースパス:\
    `/ccx/service/customreport2/<tenant>/<report_path>`

詳細は公式の[Workdayコミュニティ](https://community.workday.com)文書を参照してください。

## WorkdayでのOAuth 2.0クライアントアプリケーションの作成

1. Workdayで**Edit Tenant Setup – Security**を開きます。
2. **OAuth 2.0設定**で**OAuth 2.0クライアント有効化**チェックボックスを有効にします。
3. **Register API Client**に移動します。
4. 次のフィールドを指定します:
   * **クライアント名**: クライアントアプリの名前を入力します。
   * **クライアント認可タイプ**: **Authorization Code Grant** を選択します。
   * **コード交換用証拠鍵（PKCE）サポート**: **いいえ**に設定します; PKCEはサポートされていません。
   * **アクセストークンタイプ**: **Bearer**を選択します。
   * **リダイレクトURI**: Nexthinkのコネクタ資格情報設定ページに記載されたリダイレクトURIを入力します。 詳細は、[Connector credentials](/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/connector-credentials.md#connectorcredentials-creatinganewcredential)を参照してください。
   * **有効期限のないリフレッシュトークン**: **はい**に設定します。
   * **スコープ（機能領域）**: 取得したいデータを含む機能領域(Workdayドメイン）を有効にします。
   * **Workdayオーナーのスコープを含む**: **はい**を選択します。
5. クライアントアプリが作成されたら、次の値をコピーし、Nexthinkのコネクタ資格情報設定ページに入力します。 Nexthink UIに表示されるラベルが括弧内に示されています。
   * Workday REST API エンドポイント (**URL アドレス**)
   * トークンエンドポイント(**アクセストークンURL**)
   * 認可エンドポイント(**認可コードURL**)
   * クライアントIDとクライアントシークレット

## コネクタ資格情報の設定

Workday APIクライアントの資格情報を使用して、Nexthinkウェブインターフェースで新しいコネクタ資格情報を作成します。 詳細は、[Connector credentials](/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/outbound-connectors/connector-credentials.md#connectorcredentials-creatinganewcredential)を参照してください。

## ワークデイコネクタの設定

Nexthinkウェブインターフェースから:

1. **管理** > **インバウンドコネクタ** に移動します。
2. ページの右上の**新しいコネクタ**ボタンをクリックします。
3. コネクタリストから**Workday: User Attributes** を選択します。

<figure><img src="/files/cIJ6adjkzUiN8eMVllEz" alt=""><figcaption></figcaption></figure>

**一般**タブには以下が含まれます:

* **名前**: コネクタの内容を表す意味のある名前。 この名前は管理ページに表示されます。
* **NQL ID**: NQLクエリでワークデイコネクタを参照する際に使用されるコネクタの一意識別子。 ワークフローを保存するとNQL IDは変更できませんが、初めに提案されたNQL IDを修正できます。
* **説明**: コネクタの目的と動作についての簡単な説明。
* **スケジューリング**:
  * **繰り返し**: 実行時間と繰り返しを設定します。 実行は予定された時間に開始され、一時間にわたり分配されます。
* **接続:**
  * **資格情報**: コネクタ資格情報ページから事前設定された資格情報を選択します。 詳細については、[コネクタ資格情報](https://docs.nexthink.com/platform/ja/integrations/outbound-connectors/connector-credentials) ドキュメントを参照してください。
  * **URL**: 資格情報を選択すると、このURLが自動的に入力されます。

<figure><img src="/files/I7sgDHwLAhHu5oWpgb91" alt=""><figcaption></figcaption></figure>

**パラメータ**タブには以下が含まれます:

* **レポートリソース**: ワークデイレポートのフルパスを入力します。 他の値（例: format=xml）で上書きされないようにしてください。例: `/ccx/service/customreport2//<report_path>`

<figure><img src="/files/PxCsj2Seq2fMyT1JZIPr" alt=""><figcaption></figcaption></figure>

**データマッピング**タブには以下が含まれます:

* **識別:** API応答からユーザーを識別するために使用するフィールドを選択します。
  * **ソース識別子(JSONata):** API応答でユーザーを識別するために返されるフィールド名を入力します。 [JSONata](https://docs.jsonata.org/overview)が必要な場合は、値を変換するために使用します。 スペースや [JSONata](https://docs.jsonata.org/overview) の予約文字（例えば `.`、`+`、`-`、`*`、`/`、`{` など）を含むフィールド名は、バックティック（`` ` ``）で囲む必要があります。
  * **Nexthink識別子**: **UPN**（Collector経由でのUPNコレクションが必要）または**Emailアドレス**（Entra IDコネクタが必要）のどちらかを選択します。
* **フィールドマッピング**: カスタムフィールドをユーザーオブジェクトに合わせるために**マッピング追加**をクリックします。
  * **ソース識別子(JSONata):** API応答でユーザーを識別するために返されるフィールド名を入力します。 [JSONata](https://docs.jsonata.org/overview)が必要な場合は、値を変換するために使用します。 ホワイトスペースや [JSONata](https://docs.jsonata.org/overview) で予約された文字（例: ., +, -, \*, /, { など）を含むフィールド名は、バックティック (\\\`) で囲む必要があります。
  * **Nexthinkフィールド**: 値をインポートするためのカスタムフィールドを選択します。

## テスト結果パネル

{% hint style="info" %}
**テスト結果**パネルは、サポートされているコネクタでのみ利用可能です。 コネクタの可用性はライセンスに依存します。
{% endhint %}

右側の **テスト結果** パネルを使用して、コネクタをリアルデータで随時実行し、レスポンスやエラーを確認します。 テストパネルは、セットアップ中のデバッグや検証を迅速に行うのに役立ち、試行錯誤を減らし、より信頼性の高いマッピングを実現します。

APIを呼び出して資格情報を検証し、ターゲットエンドポイントへの接続を確認するには、**テスト実行** ボタンを選択します。

<figure><img src="/files/GZPamQ0EM21XrfJhPcfn" alt=""><figcaption></figcaption></figure>

基本情報 (レスポンスのステータスコードや時間など) に加えて、パネルの下部にはレスポンスのサンプルレコードも表示されます。

<figure><img src="/files/HNOO9UOC8up7nND9wS3Y" alt="" width="316"><figcaption></figcaption></figure>

エラーが発生した場合、問題の診断を支援するためにシステムはAPI応答を表示します。

<figure><img src="/files/aBnrPUlVkGJndts4wRmv" alt="" width="309"><figcaption></figcaption></figure>

## 既知の制限

* 証拠キーコード交換(PKCE)はサポートされていません。
* このコネクタは、同期あたり3百万件を超えるレコードを処理できません。
* 従業員が同じUPNを共有している場合、UPNをベースとした識別は、最初の1,000件のユーザレコードのみを処理します。
* ユーザープリンシパル名(UPN)は、Collectorにおける設定が必要です。
* メールアドレスには、Entra ID (Azure AD)コネクタが必要です。
* Workday APIには以下の制限が課されています:
  * レポートはポストプロセスによっては1百万から3百万件のレコードを含むことができます。グルーピングが有効な場合は1百万件。
  * レポート出力のサイズは2GBを超えることができません。

詳細は公式の[Workdayコミュニティ](https://community.workday.com)文書を参照してください。

## NQLでの実行ログのクエリ

NQLを使用して、以下のテーブルのクエリを実行することにより、Workdayコネクタインスタンスの実行に関する詳細な洞察を得ます。

| フィールド                              | タイプ           | 説明                                                                                                                                                     |
| ---------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `時間`                               | `datetime`    | コネクタ実行ログエントリのタイムスタンプ。                                                                                                                                  |
| `ステータス`                            | `enumeration` | <p>実行ステータス:<br>• <code>成功</code>: すべての行が受信および処理されました。<br>• <code>部分成功</code>: 行の制限により一部の行が無視されました。<br>• <code>失敗</code>: コネクタがデータを受信または処理できませんでした。</p> |
| `details.name`                     | `文字列`         | コネクタインスタンスの名前。                                                                                                                                         |
| `details.description`              | `文字列`         | <p>エラーの説明（該当する場合）。 以下のような説明を含む:<br>• <em>受信した行が多すぎる...</em><br>• <em>フィールドに対する無効な JSONata 式</em></p>                                                   |
| `details.connector`                | `文字列`         | 使用されたコネクタテンプレートの名前。                                                                                                                                    |
| `details.credentials`              | `文字列`         | インスタンスで使用された資格情報のラベル。                                                                                                                                  |
| `details.credentials_id`           | `文字列`         | 資格情報の一意の識別子。                                                                                                                                           |
| `details.nql_id`                   | `文字列`         | コネクタ インスタンスのNQL ID。                                                                                                                                    |
| `details.number_of_received_rows`  | `数値`          | ソースから受信した行の総数。                                                                                                                                         |
| `details.number_of_processed_rows` | `数値`          | コネクタによって処理された行の総数―インポートされた行と異なる場合があります。                                                                                                                |

`platform.inbound_connector_logs` クエリを実行して、すべてのインバウンドコネクタの実行に関する包括的ログ情報を取得します。

{% hint style="warning" %}
このテーブルにアクセスするには、**データモデルの表示**で**プラットフォームログ**許可を有効にする必要があります。
{% endhint %}

### NQLの例

<details>

<summary>過去24時間のインポート失敗を取得</summary>

{% code overflow="wrap" %}

```
過去24時間における platform.inbound_connector_logs | statusが失敗の場合 | time, details.connector, details.name, details.error_descriptionを列挙 | timeを降順で並べ替え
```

{% endcode %}

</details>

<details>

<summary>過去24時間のインポートを取得 (ステータスと処理済み行数を含む)</summary>

{% code overflow="wrap" %}

```
platform.inbound_connector_logs 過去24時間 | 時間、details.connector、details.name、details.number_of_processed_rows をリスト | 時間の降順でソート
```

{% endcode %}

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nexthink.com/platform/ja/configuring_nexthink/bringing-data-into-your-nexthink-instance/integrating-nexthink-with-third-party-tools/inbound-connectors/connector-for-workday.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
