DifyからCData Connect Cloudを経由して最新のSalesforceデータにアクセスする

桑島義行

  • この記事をはてなブックマークに追加
  • 本文印刷

 本記事はCDataが提供する「CData Software Blog」に掲載された「DifyからCData Connect Cloudを経由して最新のSalesforceデータにアクセスする方法」を再編集したものです。

はじめに

 Difyは、AIアプリケーションの開発と運用を簡単にするオープンソースのLLM(Large Language Model)アプリケーション開発プラットフォームです。CData Connect Cloudは270種類を超えるSaaSやデータベースにライブ接続可能なデータ接続プラットフォームです。CData Connect CloudのRemote MCP Server機能を利用することで、Difyとデータソース間の安全な通信を可能にします。これによりDifyで構築したチャットボットからSalesforceやkintoneなどのSaaS、およびSQL ServerやSnowflakeなどのデータベース内のデータに対して質問をしたり、アクションを実行したりすることが出来ます。本記事ではDifyとCData Connect Cloudを利用したSalesforceの取引先を検索するチャットボットのアプリケーションをノーコードで作成する手順をご紹介します。

前提条件

Dify

MCP SSE / StreamableHTTP プラグイン

CData Connect Cloud

Salesforce

手順

Step1. CData Connect CloudとSalesforce間の接続

 CData Connect Cloudの公式サイトにアクセス「無償トライアルへ」ボタンをクリックします。

 必要情報を入力して利用規約に同意してアカウントを作成します。

 登録メールアドレスに届く確認メールのリンクをクリックしてパスワードを設定してログインします。CData Connect Cloudの管理コンソールが開きダッシュボードが表示されることを確認します。

 左側のメニューから「Source」を選択してSalesforceへの接続を作成します。「+Add Connection」ボタンをクリックします。

 CData Connect Cloudから接続可能なデータソースリストが表示されるので検索ボックスで「Salesforce」と入力してSalesforceアイコンをクリックします。

 Salesforceへの接続設定画面が開きます。Salesforceへの認証は「OAuth」がセットされていることを確認して「Sign In」ボタンをクリックします。

 Salesforceのログイン画面が表示されるのでSalesforceのアカウントでログインします。

 認証が成功した旨のメッセージが表示されることを確認したら右上の「Save&Test」ボタンをクリックします。

 Salesforceへの接続コネクションが保存された旨のメッセージが表示されることを確認します。

 しばらく待つと右側にSalesfoce内のオブジェクトがリストとして表示されます。

Account(取引先)を選択して「Preview」を選択します。ウィンドウが開くのでPreviewタブを選択してSalesforce内のデータが表示されればCData Connect CloudからSalesforceへの接続は成功です。

 なお、「Execute Query」ボタンをクリックするとQuery Explorer機能が起動するのでSQLクエリでより詳細なクエリでデータのプレビューが可能です。

Step2. DifyとCData Connect Cloud間の接続

 CData Connect Cloudの管理コンソールにてDifyからの接続に必要なAccessTokenを取得します。CData Connect Cloud管理コンロール右上の「Setting」を選択、Access Tokensタブを開いて「+Create PAT」ボタンをクリックします。

 任意の名称を付与(本例では「Dify」)して「Create」します。Personal Access Tokenが表示されるのでコピーボタンをクリックして取り扱いに注意して手元に保管してください。

 「OK」ボタンをクリックしてPersonal Access Tokenの一覧画面に戻り、作成した名称がリストに表示されていることを確認します。

 以上でCData Connect Cloud管理コンソール側の作業は完了となります。

 次にDifyのStudioにアクセスして「アプリを作成する」内の「最初から作成」を選択します。

 アプリタイプから「チャットフロー」を選択し、アプリアイコンの名前(本例では「CData_Salesforce_GetAccout」)、および、説明を任意に設定して「作成する」ボタンをクリックします。

 「開始 -> LLM -> 回答」ブロックがセットされたチャットフローが開きます。今回はLLMを利用しないので右クリックからLLMブロックを削除します。

 右クリックで「ブロックを追加」「ツール」タブを開き、テキストボックスに「MCP」と入力して「マーケットプレイスから」「MCP SSE/StreamableHTTP」を選択してインストールします。

 インストールが完了すると「MCP tools > Fetch MCP Tools/Call MCP Tool」が追加されるので「Call MCP Tool」を選択します。デザイナに配置して開始と回答の間に配置して接続します。

 「Call MCP Tool」のプロパティを開き以下の設定をセットします。

項目 備考
Arguments { "query": "
SELECT [Name]
FROM [Salesforce1].[Salesforce].[Account]
WHERE [Name] like '%{{#sys.query#}}%'
" }
[Salesforce1]はCData Connect Cloudで作成したConnection名
MCP Server config { "server_name": {
"transport": "streamable_http",
"url": "https://mcp.cloud.cdata.com/mcp",
"headers":{"Authorization":"Basic XXXXXX=="},
"timeout": 50
}}
「Basic」以降の文字列は、CData Connect Cloudの「ユーザ名:PAT」をBase64エンコードした文字列

 「回答」ブロックのプロパティを開き、応答から「Call MCP Tool」の「Text」をセットします。

 それでは「▷プレビュー」ボタンを実行してみましょう

 「Botと話す」テキストボックスにSalesforceに含まれる取引先名のキーワードを入力します。本例では「CData」と入力してみました。

 Chatbotのワークロー処理が実行されてSalesforceのAccount内のキーワードに合致した取引先が出力されれば成功です。

 なお、CALL MCP TOOLの後続にJSON PARSEプラグインを追加して出力結果を整形します。

 JSON PARSEの設定を以下の通りセットします。

 また、「回答」ブロックのプロパティを開き、応答から「Call MCP Tool」の「Text」から「JSON PARSE」の「Text」に変更してください。

 再度「プレビュー」からBotに対してキーワード(本例では「CData」)と話しかけてみましょう。応答結果がよりシンプルに表示されるようになったことを確認してください。

まとめ

 本記事ではDifyとCData Connect Cloudを利用したSalesforceの取引先を検索するチャットボットのアプリケーションをノーコードで作成する手順をご紹介しました。本手順では、DiftyのMarketplace内のプラグイン「MCP SSE / StreamableHTTP プラグイン」を利用しましたが、Dify標準機能の「MCPサーバ(HTTP)を追加」からも今後利用できるようになる可能性がございますのでご期待ください。

 本手順でご不明な点などがございましたらお気軽にCData Software Japanのテクニカルサポート窓口にお問い合わせください。

過去記事アーカイブ

2025年
01月
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
2024年
02月
03月
04月
05月
06月
07月
08月
09月
10月
11月
12月
2023年
04月
07月
08月
09月
10月
11月
12月