
HubSpotで管理しているタスクが増えてくると、「どのタスクが期限切れなのか」「誰が担当しているのか」を一覧で把握するのが難しくなります。本記事では、GAS(Google Apps Script)を活用して、HubSpotから期限切れの未完了タスクを自動で抽出し、スプレッドシートにリスト化するライブラリとその活用方法を解説します。


このオートメーションの目的は、期限切れのタスクを「可視化」し、チームのタスク漏れをゼロにすることです。
この機能を利用するためには、HubSpotの「プライベートアプリ」を作成し、アクセストークンを発行する必要があります。その際、以下のスコープ(権限)を許可してください。
GASプロジェクトの画面左側にある「ライブラリ +」をクリックし、以下のようにスクリプトIDを入力して検索をクリックして追加します。
1wA-U-zBpQ6DfHLPdstfMJ51a3koDJPl7kMAq0jSpfOFvOXFCuTEwraHc以下のコードをエディタに貼り付けます。コメントを参考に、ご自身の環境に合わせて各値を設定してください。
#実行テストコード:
// library id
// 1wA-U-zBpQ6DfHLPdstfMJ51a3koDJPl7kMAq0jSpfOFvOXFCuTEwraHc
// test code
function runHubSpotTaskExport() {
// settings
const HUBSPOT_ACCESS_TOKEN = "ここにHubSpotのアクセストークンを貼ってください"; // HubSpotのアクセストークン
const SPREADSHEET_ID = "ここにスプレッドシートIDを貼ってください"; // 出力先スプレッドシートID
const SHEET_NAME = "シート1"; // 出力したいシート名
// library identify id "HubSpotLib"
HubSpotLib.exportOverdueTasksToSheet(
HUBSPOT_ACCESS_TOKEN,
SPREADSHEET_ID,
SHEET_NAME
);
}実行すると、スプレッドシートの最終行の下に以下の項目が自動で追記されます。
タスクID / 件名 / 期限日 / 超過日数 / 担当者名 / URL / 取得日時
HubSpotのプライベートアプリを作成し、アクセストークンを発行する必要があります 。また、担当者情報を取得するための「crm.objects.owners.read」と、タスクを取得するための「crm.objects.tasks.read」の2つのスコープ(権限)を許可してください 。
「期限(hs_timestamp)が現在時刻よりも前」かつ「ステータスが完了(COMPLETED)ではない」未完了のタスクのみが抽出されます 。
タスクID、件名、期限日、期限からの超過日数、担当者名、HubSpot上のタスク詳細ページへのURL、およびデータ取得日時の計7項目が出力されます 。