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

前提条件
手順
Step1. CData Connect AIとSalesforce間の接続
CData Connect AIの公式サイトにアクセス「無償トライアルへ」ボタンをクリックします。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

以上でCData Connect AI管理コンソール側の作業は完了となります。
次に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 AIで作成した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 AIの「ユーザ名:PAT」をBase64エンコードした文字列 |

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

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

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

Chatbotのワークロー処理が実行されてSalesforceのAccount内のキーワードに合致した取引先が出力されれば成功です。
なお、CALL MCP TOOLの後続にJSON PARSEプラグインを追加して出力結果を整形します。

JSON PARSEの設定を以下の通りセットします。
項目 | 値 | 備考 |
JSON data | Call MCP Tool/Text | |
JSON filter | results[0].rows | |
また、「回答」ブロックのプロパティを開き、応答から「Call MCP Tool」の「Text」から「JSON PARSE」の「Text」に変更してください。

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

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


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