Zendesk
Zendesk のサポートプラットフォームを Squid に接続して、issue を検索・作成します
Zendesk API Token の作成
Zendesk REST API へのリクエストには、Zendesk の管理ダッシュボードから生成した API token が必要です。API token を作成するには、Zendesk ドキュメントの Generating API tokens に記載されている手順に従ってください。
Squid アプリケーションに Zendesk connector を追加する
-
Squid Console の Connectors タブに移動します。
-
Available Connectors をクリックします。
-
Zendesk connector を見つけて Add Connector を選択します。
-
次の設定情報を入力します:
Connector ID: コード内で connector を一意に識別する文字列。
Domain: Zendesk インスタンスのドメイン。たとえば Zendesk インスタンスが https://mycompany.zendesk.com にある場合は、mycompany.zendesk.com を入力します。
Email: Squid が Zendesk にログインする際に使用するアカウントのメールアドレス。
API Token: Zendesk で生成された token key。
Zendesk connector の機能
Zendesk connector は現在、Squid AI agent が tickets を検索(query)し、tickets を作成し、tickets を削除できるようにします。これらの機能を AI agent に提供することで、ユーザーは AI agent に対して自分の代わりに tickets を操作するよう簡単に依頼できます。
この機能の使い方をより詳しく知りたい場合は、Zendesk REST API のドキュメントを読むことをおすすめします。これにより、どのフィールドが検索できるか、issue を作成するために必要なプロパティは何か、などをより理解できます。
基盤となる API について理解が深いほど、この機能をより効果的に利用できますが、必須ではありません。AI agent は不足している詳細がある場合、それを求めるメッセージを返します。
アプリケーションで Zendesk connector を使用する
No-code Studio
No-code ソリューションは Squid Agent Studio で作成できます。
-
Squid Console の Studio タブに移動します。
-
Create AI Agent をクリックします。
-
agent ID と description を入力します。例: 「zendesk-agent」および「This agent helps the user interact with Zendesk tickets」。
-
Add Abilities をクリックします。
-
Existing タブに切り替え、先ほど作成した Zendesk connector を選択します。
-
agent がこの接続をどのように使うべきかの説明を入力します。例: 「Call this when a user wants to interact with Zendesk tickets.」
-
Test をクリックし、agent に「What are my tickets?」と尋ねてみてください。
コードでの基本的なビルディングブロック
Squid アプリケーションで Zendesk connector を使用するには、@squidcloud/zendesk npm package をインストールします。
npm install @squidcloud/zendesk
Zendesk npm package は、Zendesk API を呼び出すために使用される AI functions を提供します。connector を使用するには、setup a Squid backend project を行う必要があります。
Squid backend で Zendesk connector を export すると、プロジェクトに Zendesk AI functions が追加されます。src/service/index.ts で package を export して、アプリケーションで利用できるようにします。
export * from './your-service';
export * from '@squidcloud/zendesk';
Zendesk AI functions を使用するには、AI agent がそれらの functions に接続されている必要があります。そのために、Squid Console で AI agent profile を setup します。backend がデプロイされている場合、AI agent は console の dropdown から AI functions にアクセスできます。backend がデプロイされていない場合、AI functions はコード内で AI agent に提供する必要があります。たとえば Squid Chat Widget を使用する場合、AI functions を widget の squid-ai-functions-json パラメータで提供できます。
const aiFunctionContext = { integrationId: 'YOUR_ZENDESK_CONNECTOR_ID' };
const aiFunctionsJson = JSON.stringify([
{
name: 'createTicket',
context: aiFunctionContext,
},
{
name: 'getAllTickets',
context: aiFunctionContext,
},
{
name: 'getZendeskTicketsByRequester',
context: aiFunctionContext,
},
{
name: 'searchZendeskTickets',
context: aiFunctionContext,
},
{
name: 'deleteZendeskTicket',
context: aiFunctionContext,
},
{
name: 'getLoggedInUser',
context: aiFunctionContext,
},
{
name: 'getZendeskUserByEmail',
context: aiFunctionContext,
},
{
name: 'genericFallbackQueryFunction',
context: aiFunctionContext,
},
]);
const chatWidget = document.createElement('squid-chat-widget');
chatWidget.setAttribute('squid-ai-integration-id', 'ai_agents');
chatWidget.setAttribute('squid-app-id', 'YOUR_APP_ID');
chatWidget.setAttribute('squid-region', 'YOUR_REGION');
chatWidget.setAttribute('squid-environment-id', 'YOUR_ENVIRONMENT');
chatWidget.setAttribute('squid-developer-id', 'YOUR_DEVELOPER_ID');
chatWidget.setAttribute('squid-ai-agent-id', 'YOUR_AGENT_ID');
chatWidget.setAttribute('header-title', 'Zendesk AI');
chatWidget.setAttribute('squid-ai-functions-json', aiFunctionsJson);
chatWidget.setAttribute('intro-text', 'Hi, I am the Zendesk agent. How can I help?');
chatWidget.setAttribute('style', 'display: block; min-height: 350px; height: 75vh;');
const widgetContainer = document.getElementById('widget');
if (widgetContainer) {
widgetContainer.innerHTML = ''; // Clear any existing widget
widgetContainer.appendChild(chatWidget);
}
これらが、アプリケーションで Zendesk connector を起動して動作させるためのコアとなるビルディングブロックです。最も簡単なのは、sample code をコピーして、そこから開発を進めることです。
おめでとうございます!これで、Zendesk インスタンスについて AI agent に質問できるようになりました!