事前定義エージェント・ツールの利用
watsonx Orchestrateのカタログには多数のAgentやToolが登録されており、外部のアプリケーションとの接続の構成を行うことで、それらのAgentやToolを使用することができます。この記事では、Salesforceとの接続を構成するための手順を説明します。
アプリケーションの作成・設定
この記事では開発用環境を使用しています。
-
Salesforceにアクセスします。
-
左のメニューから アプリケーション > 外部クライアントアプリケーション > 設定を選択します。左上の検索ボックスから検索することも可能です。

-
接続アプリケーション内の 接続アプリケーションの作成を許可 をオンします。確認のポップアップが出た場合は、 有効化 を選択します。
-
アプリケーションマネージャーが開かれたら、基本情報に、接続アプリケーション名 / API参照名 / 取引先責任者メール を入力します。

-
続いて、API(OAuth設定の有効化)を設定します。 OAuth有効化 にチェックを入れます。
-
コールバックURLに "wxOの環境URL/mfe_connectors/api/v1/agentic/oauth/_callback" を設定します。
-
OAuth範囲には以下を選択します。
-
以下の項目に対するチェックボックスはチェックを外します。
- サポートされる認証フローに Proof Key for Code Exchange (PKCE) 拡張を要求
- Web サーバーフローの秘密が必要
- 更新トークンフローの秘密が必要
-
以下の項目に対するチェックボックスにチェックを入れます。
-
-
以上の設定が完了したら、 保存 をクリックします。「変更が有効になるまで最大 10 分かかる場合があります。親組織を削除すると、OAuth 設定が有効になっているすべての接続組織も削除されます。」と出た場合は、 次へ をクリックすると、接続アプリケーションが作成されます。
-
作成された接続アプリケーションの コンシューマーの詳細を管理 をクリックします。2段階認証が求められた場合は確認コードを入力します。

-
コンシューマー鍵 と コンシューマーの秘密 の値を確認します。後ほど、watsonx Orchestrateに登録します。

Connectionsの設定
watsonx Orchestrateに接続情報を設定します。
- watsonx Orchestrateにアクセスします。
- メニュー画面から 管理 > 接続 を選択します。
- 接続の一覧から salesforce を探し、鉛筆マークをクリックします。この接続では、OAuth2を使用します。
- それぞれの項目についてsalesforceのアプリケーションから値を取得し、入力します。
- Server Url:ログイン時のURL(https://~my.salesforce.com)
- Token Url:Server URLの後ろに"/services/oauth2/token"をつける
- Authorization URL:Server URLの後ろに"/services/oauth2/authorize"をつける
- Client Id:コンシューマー鍵
- Client Secret:コンシューマー秘密
- 今回は チームの資格情報 を選択します。
- 入力後、 接続 をクリックし、 保存をクリックします。
これで構成は完了です。
(テスト)Opportunityリストの表示
カタログに登録されている CRM Management をテンプレートとしてAgentを作成します。
-
検索欄にCRMと入力し、CRM Managementエージェントを選択します。
-
右上の テンプレートを使用 をクリックし、エージェントを作成します。
まとめ
watsonx Orchestrateには様々なAgentやToolがカタログに登録されており、接続構成を設定することですぐに利用することが可能です。今回はSalesforceで行いましたが、他のアプリケーションについても同様に構成することで、すぐに使い始める事ができます。
エラー対応
①接続に関するエラー
接続を完了後、チャットからツールを読んだ際に以下のようなエラーが出る場合は、Scope (optional) の欄に「api」と入力してください。
I have encountered an error calling the tool. Please try again ,Error Details: Error in Python tool execution: failed to update due to {'error': 'Object of type set is not JSON serializable'}







