カスタムツールに接続する

アプリから呼び出せるあらゆるツール、特にサポート業務のワークフローに GitBook Assistant を接続します

カスタムツールはGitBookアシスタントに ドキュメント埋め込み で実際のアクションを実行させます。

それを接続できるのは 任意の あなたのアプリがアクセスできるツールです。これにはバックエンドAPI、サードパーティのSDK、および内部システムが含まれます。

もしあなたのアプリが呼び出せるものなら、アシスタントも呼び出せます。

一般的な例:

  • ユーザーに代わってサポートチケットを作成または更新する

  • 事前入力されたメッセージでサポートチャットを開いてサポートに引き継ぐ

  • 製品アクションをトリガーする(MFAのリセット、招待の再送、機能フラグの有効化)

  • バックエンドでアカウントのステータスを照会する

  • Jira、Linear、Slack、Zendeskなどのツールでワークフローを開始する

埋め込み設定で定義したツールに加えて、アシスタントは任意の 設定したMCPサーバー も使用できます 設定 → AI & MCP.

ツールが実行される場所

ツールの execute 関数は埋め込み統合と同じ環境で実行されます。

通常これはユーザーのブラウザ内、あなたのアプリ内で実行されることを意味します。

したがって、あなたは次のことができます:

  • 自分のバックエンドエンドポイントを呼び出す

  • アプリですでに読み込まれている任意のサードパーティSDKを呼び出す(例:Intercom)

  • モーダル、ディープリンク、または製品内UIを開く

ツールを追加する

ツールを定義する:

ツールは埋め込みの アクション.

  • と同じではありません。使ってください アクション ユーザーがクリックするボタン用に。

  • アシスタントにコードを選択して実行させたいときはツールを使用してください。

ツールテンプレート(招待メールの再送)

例を見てみましょう:

window.GitBook("configure", {
  tools: [
    {
      // ツールを名前と説明で登録します。
      name: "resend_invite",
      description:
        "ユーザーが招待メールを見つけられないか、有効期限が切れたと言ったときに招待メールを再送します。",

      // input schemaはexecute関数でアクセスできるデータです。
      inputSchema: {
        type: "object",
        properties: {
          email: {
            type: "string",
            description:
              "再送する招待のメールアドレス。不明な場合はまずユーザーに尋ねてください。",
          },
        },
        required: ["email"],
      },

      // 実行関数が実行される前に表示されるオプションの確認ボタン。
      confirmation: { icon: "paper-plane", label: "招待を再送しますか?" },

      // execute関数はツールが使用されたときに呼び出される関数です。
      execute: async (input) => {
        const { email } = input;

        const result = await fetch("/api/invites/resend", {
          method: "POST",
          headers: { "Content-Type": "application/json" },
          body: JSON.stringify({ email }),
        }).then((r) => r.json());

        return {
          // 出力はAIに返されます。
          output: {
            recipient: email,
            status: result.status ?? "success",
          },
          // 要約はユーザーに表示されます。
          summary: {
            icon: "check",
            text: "招待メールを再送しました。",
          },
        };
      },
    },
  ],
});

ツールの利用方法

ツールを登録すると、アシスタントはユーザーの質問とあなたのツールの 説明.

に基づいて自動的にそれらを選択できます。必須フィールドが欠けている場合、アシスタントはフォローアップの質問をするべきです。

必須フィールドが足りない場合、アシスタントはフォローアップの質問をすべきです。 もしあなたがconfirmation

を追加した場合、ツールが実行される前にユーザーの承認が必要です。

  • ツールフィールドname

  • 説明: 一意の識別子。

  • inputSchema: ツール入力のためのJSON Schema。

  • もしあなたが (オプション):ツールが実行される前に表示される確認ボタン。

  • execute(input): アクションを実行する非同期関数。

    • 返す { output, summary }.

    • output はアシスタントに返されます。

    • summary はユーザーに表示されます。

確認

と同じではありません。使ってください もしあなたが はユーザーにアクションの承認を求めたいときに使用します。予期せぬ副作用を防ぐのに役立ちます。

もしあなたが 受け入れる項目:

  • label (必須):ボタンのテキスト。

  • icon (オプション): Font Awesome のアイコン名。

サポートワークフロー

サポートはツールにとって最も高い効果を持つユースケースです。

アシスタントに次のことをさせることができます:

  • 不足している詳細を収集する

  • システム内でチケットを作成する

  • コンテキストが事前入力された状態で人間のサポートチャネルを開く

テンプレート:事前入力メッセージでサポートチャットを開く

人間への引き継ぎをきれいに行いたいときにこれを使用してください。

window.GitBook("configure", {
  tools: [
    {
      name: "open_support_chat",
      description:
        "事前入力されたメッセージでサポートチャットを開き、ユーザーが速やかにサポートに連絡できるようにします。",
      inputSchema: {
        type: "object",
        properties: {
          message: {
            type: "string",
            description:
              "サポートに送信するメッセージ。欠けている場合はまずユーザーに尋ねてください。",
          },
        },
      },
      confirmation: { icon: "circle-question", label: "サポートチャットを開く" },
      execute: (input) => {
        // GitBookアシスタントを閉じる
        window.GitBook('close');
     
        // 例:
        // - Intercom: Intercom('showNewMessage', input.message);
        // - Zendesk: zE('messenger', 'open');
        
        return {
          output: {
            status: "success",
          },
          summary: { icon: 'check', text: "サポートに転送しました。" },
        };
      },
    },
  ],
});

これを常に表示される お問い合わせ 埋め込みサイドバーのアクションと組み合わせてください。アクションは次の手順に従って設定できます 埋め込みのカスタマイズ.

次のステップ

  • 埋め込みAPIの全体が必要ですか?こちらを参照してください APIリファレンス.

  • さらにUIコントロール(挨拶、提案、アクション)をさらに使いたいですか?こちらを参照してください 埋め込みのカスタマイズ.

最終更新

役に立ちましたか?