インテグレーションビルダーは、コーディング不要で使える強力なツールです。高度な技術やプログラミングの知識がなくても、AIエージェントをあらゆるAPIやデータソースに接続できます。この記事では、インテグレーションビルダーに関するよくある質問(FAQ)を紹介します。
この記事では、次のトピックについて説明します。
関連記事
パラメータとデータに関するよくある質問(FAQ)
会話からのセッションデータはどのように収集されますか?
AIエージェントとの会話におけるセッションデータの収集は、セッション開始時にユーザーのメタデータが自動的に取得されることから始まり、AIエージェントとのやりとりを通じて継続されます。この際に、入力内容、応答、エンティティなどが取得されます。
チャットセッションが開始されると、特にユーザーがログインしている場合は、一部のメタデータが自動的に収集されます。このメタデータには通常、ユーザーIDやアカウント情報、セッションID、位置情報、タイムスタンプなど、ユーザー固有の詳細情報が含まれます。このデータは、会話アクションとして保存することができます。
会話中に、ユーザーからの特定の応答(自由入力テキストとして入力されたもの、またはボタンで送信されたもの)を取得することもできます。これは、以下のいずれかとして行うことができます。
- 条件分岐ブロックの「パラメータを収集」設定を使用するパラメータ
- エンティティ
その後、これらのパラメータはインテグレーションに渡され、URLエンドポイントのリクエストパラメータとして、またはリクエスト本文内で使用できます。
URLパラメータとは何ですか?また、どのように使用しますか?
URLパラメータとは、会話から送信されたリクエストパラメータを通じてインテグレーションに渡された情報に基づいて変化する、URL内の動的パラメータのことです。
パラメータとして使用されるユーザーIDの例を以下に示します。
https://{{zendesk_subdomain}}.zendesk.com/api/v2/users/{{user_id}}
この例では、パラメータ `user_id` が二重中括弧({{}})で囲まれ、URLに追加されています。
APIで使用するために会話のデータにアクセスするにはどうすればよいですか?
会話のデータを使用するには、前述のように、パラメータを収集するか、セッションデータ内のパラメータにメタデータを保存して、そのデータをセッションに保存する必要があります。会話から取得したデータは、インテグレーションビルダーでリクエストパラメータとして保存するか、APIに送信するセッションデータ/メタデータとして保存する必要があります。その後、そのパラメータをリクエストの本文に動的に送信することも可能です。
APIのレスポンスからパラメータやデータにアクセスして、会話で使用するにはどうすればよいですか?
APIのレスポンスからのパラメータやデータを使用するには、それらを環境内のセッションパラメータとして保存する必要があります(ほとんどの場合、成功シナリオ内)。保存後、APIが特定のシナリオに到達すると、そのセッションパラメータにアクセスし、AIエージェントのメッセージ内で使用したり、条件分岐ブロックのパラメータとして使用したりできます。
- AIエージェントのメッセージ内では、{{parameterName}} としてアクセスします。
- 条件分岐ブロック内では、パラメータ名でアクセスします。
リクエストパラメータを本文で送信するにはどうすればよいですか?
リクエストパラメータを本文で送信するには、次のように二重中括弧で囲む必要があります。
{{exampleParameter}}
リクエストボディで配列を送信できますか?
はい、リクエストパラメータを定義する際にデータ型として配列を選択できます。テスト時は、JSONata関数 $eval($) を使用して値を再フォーマットしてください。eval関数は、JSON式またはJSONata式を含む文字列を、あたかもJSONであるかのように解析し評価します。
この場合、配列に含まれる文字列を、$eval() を使用して配列として解析します。この最も一般的なユースケースは、注文の配列を送信する場合です。
テスト時にリクエストパラメータを受信できない、または誤ったパラメータを受信するのはなぜですか?
テストを行う際は、インテグレーションビルダー内のリクエストパラメータに対して、エンドポイントの実データと一致するテスト値を使用する必要があります。ただし、実際の会話では、このパラメータの値は会話から取得されます。テスト中にセッションデータでパラメータと値を確認できない場合は、ダイアログ内でそのパラメータが正しく取得・保存されているか確認してください。
サニタイズされたセッションデータは会話ログに表示されない点に注意してください。この場合、デバッグのために、代わりにAIエージェントのメッセージ内に一時的にログを出力する必要があるかもしれません。
[Object, object] が表示される理由は何ですか?
[Object, object] が表示されるのは、オブジェクトを出力しようとしているものの、システムにそれを表示するための構造化された方法がないことを意味します。これを解決するには、オブジェクトを文字列形式に変換する必要があります。
成功したコールはログに記録されますか?
いいえ、PII(個人を特定できる情報)およびGDPR(一般データ保護規則)の理由により、成功したデータコールはログに記録されません。ただし、必要に応じて、トラブルシューティングの際に何が問題だったかについて多くの情報を提供できるよう、失敗したコールはログに記録されます。
環境に関するよくある質問(FAQ)
なぜ複数の環境が必要になるのでしょうか?
インテグレーションのテストを行う際、実際のデータや本番環境のデータを使用したくない場合があります。サンドボックス、ステージング、または開発環境へのアクセス権がある場合(技術チームやAPIドキュメントで確認することをお勧めします)、インテグレーションビルダー内でこれらを設定することができます。
環境間でリクエストパラメータと出力は共有されます。ただし、エンドポイントと認証の詳細は異なります。ダイアログビルダーでは、APIノード上で環境を簡単に切り替えることができます。つまり、テスト時には1つの対話を構築するだけで済み、インテグレーションを本番環境で運用する準備が整った時点で、本番環境に切り替えることができます。
カードとカルーセルに関するよくある質問(FAQ)
カードの最大数を設定する必要がありますか?
Sunshine Conversationsインテグレーションの場合、カードの最大数は 10 枚です。
カード数は9枚まで、またはフォールバックカード1枚を含めて8枚に制限することをお勧めします。フォールバックカードは、ユーザーがカルーセルから抜け出す手段となります(たとえば、探しているアイテムが見つからない場合など)。
カルーセル内のカードに画像を表示する必要がありますか?
はい、画像は必須のデータフィールドです。動的な画像(例:商品ごとの画像)が必要ない場合は、汎用的な画像リンクを画像フィールドに入力できます。
認証に関するよくある質問(FAQ)
どのような認証方法を使用できますか?
以下の認証方法を使用できます。
- APIキー
- ベアラートークン
- 期限付きトークン
- Basic認証
- OAuth 2.0
- IP許可リスト
インテグレーションビルダーで認証を開始するには、「インテグレーションの技術要件」を参照してください。
許可リストに登録されたエンドポイントを使用してインテグレーションを構築できますか?
はい。その場合は、ZendeskのIPアドレスをお客様の許可リストに追加する必要があります。IPアドレスのリストについては、「IPアドレスを許可してAIエージェントをCRMに接続する方法」を参照してください。
認証専用インテグレーションとは何ですか?また、どのような場合に必要ですか?
認証専用インテグレーションの詳細については、「インテグレーションビルダーでのカスタム認証の使い方」を参照してください。
API制限やスロットリングを実装できますか?
Zendeskでは、API制限やスロットリングを直接課すことはありません。API制限は通常、お客様のバックエンドシステムなど、統合先のシステムやAPIによって適用されます。これらの制限は、お客様のバックエンドの設定によって異なります。
APIのレスポンスが9秒以上かかる場合はどうなりますか?
AIエージェントワークスペースでは、APIのレスポンスに9秒のタイムアウトが適用されます。この時間内にAPIからレスポンスがない場合、リクエストはタイムアウトとなり、エラー「ECONNABORTED」が返されます。また、応答時間が長くなると、ユーザーが情報を待つことに苛立ちを感じ、ユーザーエクスペリエンスに悪影響を及ぼす可能性があります。
この問題に対処するため、特定のAPIレスポンスに9秒以上かかることが予想される場合は、可能であれば会話の開始時(たとえば、「チャットを開始しました」イベント発生時)に必要なAPIコールを行い、関連情報をセッションに保存することをお勧めします。これにより、必要なときにデータをすぐに利用できるようになり、会話フローでの遅延を回避できます。