Grok を使って CData Connect AI 経由で Workday のデータと対話する
Grok AI は、xAI が開発した大規模言語モデルです。 リアルタイムの推論やツール呼び出し、エージェントワークフローに対応しており、 ライブデータをもとに推論し、ツールを動的に検出してインテリジェントなアクションを実行する AI エージェントを構築できます。
CData Connect AI は、350 以上のエンタープライズデータソースを Grok AI と連携させるための、セキュアなクラウド間インターフェースを提供します。 Connect AI を使用すると、リアルタイムの Workday のデータ をレプリケーションなしでリモート MCP エンドポイント経由で公開できるため、Grok AI エージェントがガバナンスされたエンタープライズデータに対してリアルタイムでセキュアにクエリや分析を実行できます。
Workday データ連携について
CData は、Workday のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Prism Analytics Data Catalog で作成したテーブルやデータセットにアクセスでき、Workday システムの忠実性を損なうことなく、ネイティブの Workday データハブを操作できます。
- Workday Reports-as-a-Service にアクセスして、Prism から利用できない部門データセットや、Prism の許容サイズを超えるデータセットのデータを表示できます。
- WQL、REST、または SOAP でベースデータオブジェクトにアクセスし、より詳細で細かいアクセスを実現できます(ただし、クエリの作成には Workday 管理者や IT の支援が必要な場合があります)。
ユーザーは、Tableau、Power BI、Excel などの分析ツールと Workday を統合し、当社のツールを活用して Workday データをデータベースやデータウェアハウスにレプリケートしています。アクセスは、認証されたユーザーの ID とロールに基づいて、ユーザーレベルで保護されます。
Workday を CData と連携させるための設定についての詳細は、ナレッジベース記事をご覧ください:Comprehensive Workday Connectivity through Workday WQL および Reports-as-a-Service & Workday + CData: Connection & Integration Best Practices
はじめに
Step 1: CData Connect AI で Workday を設定
Grok からリアルタイムの Workday のデータ にクエリを実行するには、まず CData Connect AI で Workday 接続を作成します。 この接続は CData Remote MCP Server 経由で公開されます。
-
Connect AI にログインし、Sources をクリックしてから Add Connection をクリックします。
-
Add Connection パネルから「Workday」を選択します。
-
必要な認証プロパティを入力します。
Workday 接続プロパティの取得・設定方法
ここでは、4つのWorkday API の接続パラメータを設定する方法、およびTenant とBaseURL を取得する方法について説明します。必要なAPI のパラメータが設定され、カスタムOAuth および / またはAzure AD API クライアントを作成したら、接続の準備は完了です。
接続の前提条件
API / 前提条件 / 接続パラメータ
WQL / WQL サービスを有効化(下記参照) / ConnectionType: WQL
Reports as a Service / カタログレポートの設定(ヘルプドキュメントの「データアクセスのファインチューニング」参照) / ConnectionType: Reports
REST / 自動で有効化 / ConnectionType: REST
SOAP / 自動で有効化 / ヘルプドキュメントのWorkday SOAP API への認証を参照BaseURL およびTenant の取得
BaseURL およびTenant プロパティを取得するため、Workday にログインしてView API Clients を検索します。 この画面では、Workday はBaseURL とTenant の両方を含むURL であるWorkday REST API Endpoint を表示します。
REST API Endpoint のフォーマットは、 https://domain.com/
/mycompany です。ここで、
- https://domain.com(URL のサブディレクトリと会社名の前の部分)はBaseURL です。
- mycompany(URL の最後のスラッシュの後の部分)はTenant です。
例えば、REST API エンドポイントがhttps://wd3-impl-services1.workday.com/ccx/api/v1/mycompany の場合、 BaseURL はhttps://wd3-impl-services1.workday.com であり、Tenant はmycompany です。
WQL サービスを有効化
Workday WQL API を介して接続するには、はじめにWQL Service を有効にする必要があります。- Workday を開きます。
- 検索バーにView Domain と入力します。
- プロンプトにWorkday Query Language と入力します。
- Allowed Security Group Types のいずれかに、接続するユーザーが含まれていることを確認します。
Workday への認証
Basic 認証以外のほとんどのWorkday 接続では、認証のためにOAuth ベースのカスタムAPI クライアントアプリケーションを作成する必要があります。これには、ユーザーがAzure AD 資格情報を介して接続するエンタープライズインストールも含まれます。 Workday への認証につての詳細は、ヘルプドキュメントの「Workday への認証」セクションを参照してください。
Create & Test をクリックします。
-
Permissions タブを開き、ユーザーアクセスを設定します。
Personal Access Token の追加
Personal Access Token(PAT)は、Agno から CData Connect AI への MCP リクエストを認証するために使用されます。
- Settings を開き、Access Tokens に移動します。
- Create PAT をクリックします。
-
生成されたトークンを安全に保存します。
Step 2: 必要な依存関係のインストール
Remote MCP Tools を使うと、Grok を外部の MCP(Model Context Protocol)サーバーに接続して、サードパーティや独自実装のカスタムツールで機能を拡張できます。サーバー URL とオプション設定を指定するだけで、xAI が MCP サーバーへの接続とやり取りを代行してくれます。
ターミナルを開き、pip を使って MCP 連携に必要な依存関係をインストールします。
pip install xai-sdk==1.4.0
xai-sdk(v1.4.0)は Remote MCP Tools を有効にします。また、python-dotenv は環境変数を安全に読み込むために使用します。
pip install python-dotenv
Step 3: xAI API キーの生成
- xAI アカウントを作成するか、ログインします。
- xAI API コンソールを開きます。
- API Keys に移動します。
- create API key をクリックします。
API キーを生成したら、安全な場所に保存してください。ターミナルで環境変数としてエクスポートするか、 .env ファイルに保存する方法がおすすめです。
Step 4: CData Connect AI に接続
Grok クライアントを初期化し、CData Connect AI への MCP 接続を設定します。以下のコードでは、セキュアな接続を確立し、データソースに対して自然言語クエリを送信します。
import os
from xai_sdk import Client
from xai_sdk.chat import user
from xai_sdk.tools import mcp
client = Client(api_key="Your_xAI-API_KEY")
chat = client.chat.create(
model="grok-4-1-fast-non-reasoning",
tools=[
mcp(
server_url="https://mcp.cloud.cdata.com/mcp",
extra_headers={"Authorization": "Basic Username:PAT"} #Base64 Encoded Username:PAT
)
],
include=["verbose_streaming"],
)
chat.append(user("List the top two catalogs for me please"))
is_thinking = True
for response, chunk in chat.stream():
# View the server-side tool calls as they are being made in real-time
for tool_call in chunk.tool_calls:
print(f"
Calling tool: {tool_call.function.name} with arguments: {tool_call.function.arguments}")
if response.usage.reasoning_tokens and is_thinking:
print(f"
Thinking... ({response.usage.reasoning_tokens} tokens)", end="", flush=True)
if chunk.content and is_thinking:
print("
Final Response:")
is_thinking = False
if chunk.content and not is_thinking:
print(chunk.content, end="", flush=True)
print("
Usage:")
print(response.usage)
print(response.server_side_tool_usage)
print("
Server Side Tool Calls:")
print(response.tool_calls)
このコードでは、Grok AI クライアントを初期化し、Basic 認証を使って MCP 経由で CData Connect AI に接続して、レスポンスをリアルタイムでストリーミングします。エージェントは利用可能なツールを自動的に検出し、ライブデータにクエリを実行して、ツール呼び出しと最終結果の両方を表示します。
スクリプトを実行して、Grok が接続先のデータソースにクエリを実行する様子を確認してみましょう。
クエリ結果
以下の出力は、Grok が CData Connect AI を通じて MCP ツールを呼び出し、接続先のデータソースからリアルタイムのデータを返す様子を示しています。
これで、Grok AI を通じて自然言語でライブデータにクエリを実行できるようになりました。
Grok と CData Connect AI でエージェントワークフローを構築
Grok AI と CData Connect AI を組み合わせることで、パイプラインやカスタム連携なしに AI 駆動のデータアクセスを実現できます。CData がどのように Grok に 350 以上の外部システムへのリアルタイムかつセキュアなアクセスを提供できるか、ぜひ無料トライアルでお試しください。