ADVERTISEMENT

【Googleスプレッドシート】FreshdeskのチケットをSheetsで分析!カスタマーサポート指標の取得

【Googleスプレッドシート】FreshdeskのチケットをSheetsで分析!カスタマーサポート指標の取得
🛡️ 超解決

カスタマーサポートのチケットデータをFreshdesk上で確認するだけでは、傾向分析や指標の可視化が難しいと感じていませんか。日々の対応件数や応答時間、カテゴリ別の傾向を把握するには、データをGoogleスプレッドシートに取り込んで自由に加工できる環境が便利です。この記事では、Freshdeskのチケット情報をスプレッドシートに取得し、サポート指標を分析する方法を解説します。CSVエクスポートからAPI連携まで、具体的な手順を分かりやすくお伝えします。

【要点】Freshdeskのチケットデータをスプレッドシートで分析する3つの方法

  • CSVエクスポート機能: Freshdesk管理画面からチケット一覧をCSVでダウンロードし、スプレッドシートにインポートします。簡単な方法で、誰でもすぐに始められます。
  • Freshdesk API + Google Apps Script: プログラムで定期的にデータを取得し、スプレッドシートに自動反映します。最新データを常に保ちたい場合に最適です。
  • サードパーティ製アドオン: Coupler.ioやZapierなどのツールを使い、ノーコードで連携します。手間をかけずに自動化したい方向けです。

ADVERTISEMENT

Freshdeskのチケットデータをスプレッドシートで扱うメリット

Freshdeskの標準レポート機能では、細かい集計やグラフ作成に制限があります。スプレッドシートにデータを移せば、フィルタやピボットテーブルを使って自由に分析できます。例えば、応答時間の平均値やチケットカテゴリ別の件数、エージェントごとの処理傾向などを即座に把握できます。また、QUERY関数やグラフ機能を組み合わせることで、経営層向けのダッシュボードも簡単に作成できます。

方法1: CSVエクスポートでデータを手動取得する手順

最もシンプルな方法は、Freshdeskが標準で提供するCSVエクスポート機能を使うことです。以下の手順で、チケットデータをスプレッドシートに取り込みます。

  1. Freshdesk管理画面にログインする
    管理者アカウントでFreshdeskにサインインします。チケット一覧ページを開いてください。
  2. エクスポート条件を設定する
    画面右上の「エクスポート」ボタンをクリックし、エクスポートするデータ範囲(日付、ステータス、グループなど)を選択します。「チケットデータ」を選び、CSV形式を指定します。
  3. ファイルをダウンロードする
    エクスポートを実行すると、メールにダウンロードリンクが届くか、そのままダウンロードが始まります。ファイルをパソコンに保存します。
  4. Googleスプレッドシートにインポートする
    新しいスプレッドシートを開き、「ファイル」→「インポート」を選択します。ダウンロードしたCSVファイルをアップロードし、区切り文字を「カンマ」に設定してインポートします。
  5. データを整形して分析する
    インポート後、日付列の書式を調整したり、不要な列を削除したりします。その後、ピボットテーブルやグラフを作成して分析を始めます。

CSVエクスポートの注意点

エクスポートできるデータには制限があります。一度に取得できるチケット数は最大10,000件までです。大量のチケットがある場合は、日付範囲を区切って複数回エクスポートする必要があります。また、添付ファイルやカスタムフィールドの一部が含まれない場合があるため、必要な項目が揃っているか確認してください。

方法2: Freshdesk APIとApps Scriptで自動取得する手順

定期的にデータを更新したい場合は、Freshdesk APIを利用してGoogle Apps Scriptから直接スプレッドシートに書き込む方法が便利です。以下の手順で設定します。

事前準備: APIキーの取得

  1. FreshdeskのAPIキーを確認する
    管理画面の「設定」→「APIキー」で、あなたのアカウントのAPIキーを確認します。キーを安全な場所にメモしておいてください。
  2. スプレッドシートを開く
    分析用のスプレッドシートを開き、「拡張機能」→「Apps Script」を選択します。
  3. スクリプトを記述する
    以下のコードをスクリプトエディタに貼り付けます。適宜、ドメイン名とAPIキーを置き換えてください。
function fetchFreshdeskTickets() {
  const domain = 'YOURDOMAIN.freshdesk.com'; // あなたのドメイン
  const apiKey = 'YOUR_API_KEY';
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const url = `https://${domain}/api/v2/tickets?per_page=100&page=1`;
  const options = {
    'headers': {
      'Authorization': 'Basic ' + Utilities.base64Encode(apiKey + ':X')
    },
    'muteHttpExceptions': true
  };
  const response = UrlFetchApp.fetch(url, options);
  const tickets = JSON.parse(response.getContentText());
  const headers = ['ID', 'Subject', 'Status', 'Priority', 'CreatedAt', 'UpdatedAt', 'GroupId', 'AgentId'];
  const data = tickets.map(t => [t.id, t.subject, t.status, t.priority, t.created_at, t.updated_at, t.group_id, t.responder_id]);
  sheet.clear();
  sheet.appendRow(headers);
  data.forEach(row => sheet.appendRow(row));
}
  1. スクリプトを保存して実行する
    スクリプトエディタで保存ボタンを押し、「実行」をクリックします。初回は権限の承認を求められるので許可します。スプレッドシートにチケットデータが書き込まれます。
  2. トリガーを設定して定期実行する
    スクリプトエディタの左メニューから「トリガー」を選び、時間ベースのトリガー(1時間ごと、1日ごとなど)を追加します。これで自動更新が可能です。

API取得の注意点

Freshdesk APIにはレート制限があります。1分あたりのリクエスト数に上限があるため、大量データを取得する場合はページネーションを実装する必要があります。上記のコードは1ページ分のみですが、ループを使って全ページを取得するように拡張できます。また、APIキーは第三者に漏れないよう、スクリプト内に直接記述する代わりにスクリプトプロパティを利用すると安全です。

ADVERTISEMENT

方法3: サードパーティツールを使ったノーコード連携

コードを書かずに連携したい場合は、Coupler.ioやZapier、Integromat(Make)などのツールが役立ちます。これらのツールはFreshdeskとスプレッドシートを接続し、スケジュールに従ってデータを自動同期します。無料プランではレコード数や更新頻度に制限がありますが、小規模なチームには十分です。設定方法は各ツールのガイドに従えば、数分で完了します。

CSVエクスポート方式とAPI方式の比較

項目 CSVエクスポート Freshdesk API + Apps Script
手軽さ 簡単で誰でもできる スクリプト知識が必要
自動更新 手動で再エクスポート トリガーで定期更新可能
データ量 最大10,000件/回 ページネーションで大量対応可
カスタマイズ性 エクスポート項目は固定 任意のフィールドを取得可能

よくあるトラブルと対処法

CSVをインポートしても日付が文字列として認識される

インポート後、日付列がシリアル値にならず文字列のまま表示されることがあります。その場合は、日付列を選択して「表示形式」→「数字」→「日付」を適用するか、DATEVALUE関数を使って数値に変換します。例:=DATEVALUE(A2) を隣の列に追加してください。

Apps Scriptで「権限が不足しています」とエラーが出る

スクリプトを初めて実行する際、スプレッドシートや外部サービスへのアクセス許可が必要です。画面の指示に従って承認してください。承認後もエラーが出る場合は、プロジェクトの「OAuthスコープ」を確認し、必要なスコープ(例:https://www.googleapis.com/auth/spreadsheets)が追加されているか見直します。

APIのレート制限に達した場合

短時間に大量のリクエストを送るとHTTP 429エラーが返ります。スクリプト内で Utilities.sleep() を使ってリクエスト間隔を空けるか、ページネーションのループに待機時間を挿入することで回避できます。

まとめ

FreshdeskのチケットデータをGoogleスプレッドシートに取り込む方法を3つ紹介しました。CSVエクスポートは即座に始められる手軽さが魅力です。API+Apps Scriptは自動化とカスタマイズ性に優れており、継続的な分析に適しています。サードパーティツールはコード不要で素早く連携できます。取得したデータは、ピボットテーブルやグラフで可視化し、応答時間の中央値やエージェントごとの生産性などを指標化してみてください。さらに一歩進んで、QUERY関数を使ったダッシュボードや、Slack通知と組み合わせる応用も検討すると効果的です。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。