訪問者の質問に応じてPendoガイドを検索し、会話内でインタラクティブなウォークスルーリンクを直接返すようにAIエージェントを設定できます。訪問者がタスクの完了方法を尋ねた場合、エージェントは関連するガイドを見つけ、訪問者がブラウザでウォークスルーを開始できるリンクを送信できます。
この記事では、このユースケースをサポートするようにPendo MCPサーバーを設定する方法について説明します。
注:この機能はクローズドベータ版でご利用いただけます。アクセスを希望される場合は、MCPサポートエージェントの関心表明フォームにご記入ください。Pendoのアカウント担当者がフォローアップしてサブスクリプションの有効化をします。
仕組み
訪問者がAIエージェントとやり取りし、タスクベースの質問をすると、エージェントはPendo MCPサーバー上のgetInAppGuidanceツールを呼び出します。Pendoは既存のセグメントルールに基づいて、その訪問者が利用できるガイドを評価し、一致する結果を返します。エージェントは、訪問者が選択してブラウザで直接チュートリアルを開始できるパーマリンクを表示できます。
ユースケース
このインテグレーションを使用して、次のことができます。
- サポートに関する質問に対しては、静的なテキスト回答ではなく、インタラクティブなステップバイステップのチュートリアルを提供する。
- 訪問者に対し、状況に応じた即時的なサポートを提供することで、問い合わせ件数を削減する。
- ガイドを配信する際は、既存のPendoセグメントルールを遵守する。
要件
このセットアップを完了するには、以下が必要です。
- この機能がPendoのアカウント担当者によってサブスクリプションで有効化されていること。アクセスを希望される場合は、MCPサポートエージェントの関心表明フォームにご記入ください。
- PendoのMCPサーバー設定を有効にし、サービスアカウントを作成するためのサブスクリプション管理者アクセス権。
- Pendo MCPサーバーがサブスクリプションでオンになっていること。これをオンにするには、[設定]>[サブスクリプション設定]>[AIアクセス]に移動し、Pendo MCPサーバー(読み取り専用ツール)をオンにします。
- MCPクライアントを設定し、AI エージェントのシステムプロンプトを更新するための開発者または技術リソース。
ステップ1. サービスアカウントを作成する
サービスアカウントは、AIエージェントがPendo MCPサーバーで認証するために使用するOAuth 2.0認証情報を提供します。サービスアカウントは、読み取り専用(閲覧者)権限で動作します。
注:組織で複数のPendoサブスクリプションを使用している場合は、それぞれに個別のサービスアカウントを作成する必要があります。
- [設定]>[インテグレーション]に移動し、[サービスアカウント]タブを選択します。このタブが利用できない場合は、この機能がサブスクリプションで有効になっていません。有効化するにはPendoのアカウント担当者またはサポートチームに連絡してください。
- [+ サービスアカウントを作成]を選択します。
-
[サービスアカウントを作成]ダイアログに以下を入力してください。
- 名前。このサービスアカウントの説明的なラベル。例えば、「私のAIサポートエージェント」など。
- アプリケーション。このサービスアカウントでアクセスするアプリケーションを選択してください。
- [作成]を選択します。
- 確認ダイアログが表示されたら、クライアントIDとクライアントシークレットの値をすぐにコピーしてください。
重要:クライアントIDとクライアントシークレットは1回だけ表示されます。保存せずにこのダイアログを閉じた場合は、新しいクライアントシークレットを生成するか、サービスアカウントを再作成する必要があります。
ステップ2. OAuth 2.0認証を設定する
MCPクライアントは、Pendo MCPサーバーにリクエストを送信する前に、アクセストークンを取得する必要があります。Pendo は OAuth 2.0 クライアント認証情報付与タイプを使用します。
トークンエンドポイント
Pendoサブスクリプションがホストされている場所と一致するURLを使用してください。これはPendoにサインインする際に使うホスト名と同じです。
-
US:
POST https://app.pendo.io/oauth/v1/token -
US1:
POST https://us1.app.pendo.io/oauth/v1/token -
EU:
POST https://app.eu.pendo.io/oauth/v1/token -
Japan:
POST https://app.jpn.pendo.io/oauth/v1/token -
Australia:
POST https://app.au.pendo.io/oauth/v1/token
Content-Type: application/x-www-form-urlencodedリクエストパラメータ
| パラメータ | 値 |
|---|---|
grant_type |
client_credentials |
client_id |
ステップ1のクライアントID |
client_secret |
ステップ1のクライアントシークレット |
scope |
read:me |
リクエストの例
curl -X POST "https://app.pendo.io/oauth/v1/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials&client_id={clientId}&client_secret={clientSecret}&scope=read:me"応答の例
{
"access_token": "eyJhbGciOi...",
"token_type": "bearer",
"expires_in": 86400
}その後のすべてのMCPリクエストでアクセストークンをベアラートークンとして含めてください。
Authorization: bearer {access_token}注:トークンはexpires_inで指定された秒数が経過すると期限切れになります。クライアントが現在のトークンの有効期限が切れる前に新しいトークンを要求するように設定してください。
ステップ3. MCPエンドポイントを設定する
MCPクライアントをご利用のリージョンのPendo MCPサーバーのエンドポイントに接続してください。Pendoサブスクリプションがホストされている場所と一致するURLを使用してください。これは、Pendoにログインする際に使用するホスト名と同じです。
-
US:
https://app.pendo.io/mcp/visitor/shttp -
US1:
https://us1.app.pendo.io/mcp/visitor/shttp -
EU:
https://app.eu.pendo.io/mcp/visitor/shttp -
Japan:
https://app.jpn.pendo.io/mcp/visitor/shttp -
Australia:
https://app.au.pendo.io/mcp/visitor/shttp
このエンドポイントはStreamable HTTPトランスポートを使用しています。このURLにJSON-RPCリクエストを送信し、ステップ2のAuthorization: bearer{access_token}ヘッダーを含めます。
例:MCPセッションを初期化する
curl -X POST "https://app.pendo.io/mcp/visitor/shttp" \
-H "Content-Type: application/json" \
-H "Authorization: bearer {access_token}" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2025-03-26", "capabilities": {}, "clientInfo": {"name": "your-agent-name", "version": "1.0"}}}'応答が成功すると、サーバーの機能と利用可能なツールが返されます。応答にMcp-Session-Idヘッダーが含まれている場合は、それ以降のすべてのリクエストに含めてください。
注: initialize応答を受信した後、ツールを呼び出す前に、notifications/initialized通知を送信してハンドシェイクを完了してください。
ステップ4. AIエージェントを設定する
認証とMCPエンドポイントを設定したら、訪問者がサポート関連の質問をしたときにgetInAppGuidanceツールが呼び出されるようにAIエージェントのシステムプロンプトを更新します。
重要:エージェントはgetInAppGuidanceを呼び出す際、訪問者のPendo Visitor IDをパラメータとして渡さなければなりません。Pendoはこれを利用して、セグメントルールに基づいて、訪問者が閲覧できるガイドを評価します。この値は顧客がPendo Web SDKを通じて設定したものと同じ訪問者IDであるため、エージェントはこの値にアクセスできます。
システムプロンプトは、エージェントに以下の指示を出すはずです。
-
サポートの意図を認識する。訪問者が「どうすればいいですか?」という質問をしたり、ワークフローに関するヘルプを求めたり、機能に関するガイダンスを求めたりした場合は、
getInAppGuidanceを呼び出すシグナルとして扱います。 - 訪問者IDを渡す。ツール呼び出しに訪問者のPendo Visitor IDを含め、Pendoがガイドの適格性を評価できるようにします。
- 一致するガイドがない場合は、テキスト応答を返す。ガイドが返されなかった場合、エージェントは空の結果を返すのではなく、役立つテキストベースの応答を提供する必要があります。
ヒント:システムプロンプトの具体的な表現は、アプリケーションのドメインとユーザーの期待によって異なります。getInAppGuidanceを呼び出すタイミングと、訪問者の質問をどのように渡すかをモデルに明確に伝えることに重点を置いてください。
ステップ5. ガイドのパーマリンクを表示する
getInAppGuidanceが結果を返すとき、各ガイドには、訪問者がブラウザでウォークスルーをリリースできるパーマリンクが含まれています。
パーマリンクは、ガイドの設定に応じて2つの形式があります。
- 完全なURL。ガイドにリリースURLが設定されている場合、Pendoはすぐに使用できる完全なリンクを返します。
-
クエリパラメータのみ。リリースURLが設定されていない場合、PendoはベースURLなしでクエリパラメータを返します。例 :
?pendo=RMz6L_ZaNHIlvzSZ4HHwO4wbGLk&step=oZNPUs6q_zOiwyJSzOeWJ7x6Poo。エージェントは、ガイドが表示されるアプリのURLにこれらの情報を添付する必要があります。
以下の指示を出すようエージェントのシステムプロンプトを更新します。
- 各結果のパーマリンクをチェックする。
- 応答にクリック可能なリンクとしてパーマリンクを含める。
- チャットインターフェースが対応している方法でリンクをフォーマットします。
- Markdown:
[ガイド名](permalink_url) - HTML:
<a href="permalink_url">Guide name</a>
- Markdown:
これにより、訪問者は質問をするところから、インタラクティブなウォークスルーを開始するまでを、一度の操作で済ませることができます。
パーマリンクを返さないガイドタイプ
次のような一部のガイドタイプは、getInAppGuidanceの結果から除外されます。
- 非公開設定になっているガイド。
- リソースセンターのガイド。
- 複数のアプリケーションに関連するガイド。
- 埋め込みガイド。
- ステップのないガイド。