ADVERTISEMENT

【Googleスプレッドシート】PipedriveのリードをSheetsに同期!営業管理の自動化

【Googleスプレッドシート】PipedriveのリードをSheetsに同期!営業管理の自動化
🛡️ 超解決

Pipedriveで管理しているリードデータを、毎回手動でエクスポートしてGoogleスプレッドシートに貼り付けていませんか。この作業は時間がかかるうえに、更新忘れが発生しやすいものです。そこで本記事では、Google Apps Scriptを使ってPipedriveのリード情報をスプレッドシートに自動同期する方法を詳しく解説します。この手順を実践すれば、営業データが常に最新の状態でシートに反映され、分析や報告の効率が大幅に向上します。

【要点】Pipedriveのリードを自動でスプレッドシートに同期する方法

  • Google Apps ScriptでAPI連携: PipedriveのAPIを使ってリードデータを取得し、スプレッドシートに書き込むスクリプトを作成します。
  • 時間主導型トリガーで定期実行: 設定した間隔でスクリプトが自動的に実行され、常に最新データが保たれます。
  • エラーハンドリングで安定運用: スクリプト内でエラーをキャッチし、ログを残すことでトラブルを素早く特定できます。

ADVERTISEMENT

Pipedriveとスプレッドシートを連携する3つの方法

Pipedriveのデータをスプレッドシートに取り込む方法は主に3つあります。1つ目は手動でCSVダウンロードする方法ですが、毎回の作業が発生します。2つ目はZapierなどの外部サービスを使う方法で、月間のタスク数に制限があり有料プランが必要な場合が多いです。3つ目はGoogle Apps Scriptを使う方法で、無料で完全にカスタマイズできる点が最大のメリットです。本記事では第3の方法を採用し、Pipedrive API v1を使ってリード(deal)情報を取得し、シートに書き込む手順を紹介します。

Google Apps Scriptで同期する準備と手順

ここでは、実際にスクリプトを作成し、スプレッドシートにリードデータを同期する手順を説明します。事前にPipedriveのAPIトークンを取得しておいてください。

手順1: PipedriveのAPIトークンを取得する

  1. Pipedriveにログインして設定を開く
    右上のユーザーアイコンをクリックし、「設定」を選択します。
  2. APIタブに移動する
    左メニューから「API」をクリックします。「自分のAPIトークン」の欄に表示されている文字列がAPIトークンです。このトークンをメモしておきます。

手順2: スプレッドシートを準備する

  1. 新しいスプレッドシートを作成する
    Googleスプレッドシートを開き、新しいファイルを作成します。シート名は「リード一覧」としておきます。
  2. ヘッダー行を設定する
    1行目に以下の見出しを入力します:ID、タイトル、ステージ、金額、作成日、更新日、担当者、メール。これらは同期するリードの基本項目です。

手順3: Apps Scriptエディタを開く

  1. 拡張機能からスクリプトエディタを起動する
    メニュー「拡張機能」→「Apps Script」をクリックします。新しいタブでスクリプトエディタが開きます。
  2. プロジェクト名を変更する
    左上の「無題のプロジェクト」をクリックし、「Pipedrive同期」など適当な名前を付けます。

手順4: スクリプトコードを記述する

  1. デフォルトのコード.gsを編集する
    エディタに表示されている内容をすべて削除し、以下のコードを貼り付けます。

    function syncLeads() {
    const apiToken = 'あなたのAPIトークン';
    const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('リード一覧');
    const url = 'https://api.pipedrive.com/v1/deals?api_token=' + apiToken + '&limit=100';
    const response = UrlFetchApp.fetch(url);
    const data = JSON.parse(response.getContentText());
    const deals = data.data;
    if (!deals || deals.length === 0) {
    Logger.log('リードデータが取得できませんでした');
    return;
    }
    const rows = [];
    for (let i = 0; i < deals.length; i++) {
    const d = deals[i];
    rows.push([
    d.id,
    d.title,
    d.stage.name || '',
    d.value || 0,
    d.add_time,
    d.update_time,
    d.owner_name || '',
    d.contact ? d.contact.email[0].value : ''
    ]);
    }
    sheet.getRange(2, 1, rows.length, 8).setValues(rows);
    Logger.log('同期完了: ' + rows.length + '件');
    }

    コード内の「あなたのAPIトークン」を手順1でメモした実際のトークンに置き換えます。また、取得する項目は必要に応じて追加・変更可能です。
    d.stage.name の部分はステージ名を取得しています。
    ・メールアドレスは連絡先情報から取得しています。連絡先がない場合は空文字になります。

  2. スクリプトを保存する
    Ctrl+S(MacはCmd+S)で保存します。初回はプロジェクト名の入力を求められます。

手順5: スクリプトを手動で実行して動作確認する

  1. 関数を選択して実行する
    エディタ上部の関数リストから「syncLeads」を選び、▶ボタンをクリックします。初回は承認画面が表示されるので、「許可を確認」→「許可」をクリックします。
  2. 実行ログを確認する
    メニュー「表示」→「ログ」を開き、「同期完了: ○件」と表示されれば成功です。スプレッドシートにリードデータが反映されているか確認します。

手順6: トリガーを設定して自動実行する

  1. トリガー管理画面を開く
    スクリプトエディタ左側の時計アイコン(トリガー)をクリックします。
  2. 新しいトリガーを追加する
    右下の「トリガーを追加」をクリックし、以下の設定を行います。
    ・実行する関数:syncLeads
    ・時間ベースのトリガー:時間主導型
    ・時間の間隔:1時間(必要に応じて変更可能)
    ・エラー通知:毎日通知を受け取る(推奨)
    「保存」をクリックします。これで1時間ごとに自動でリードが同期されるようになります。

同期の注意点とよくあるトラブル

自動同期を安定して運用するために、以下の点に注意してください。

APIトークンが漏洩するリスク

スクリプト内にAPIトークンを直接記述するため、スプレッドシートの共有設定には注意が必要です。不要な共有は避け、トークンが他人に見られないようにしましょう。より安全に管理するには、スクリプトのプロパティにトークンを保存する方法もあります。

レート制限に引っかかるケース

Pipedrive APIには1秒あたりのリクエスト数制限があります(通常10リクエスト/秒)。大量のデータを取得する場合は、スクリプト内でページネーション処理を行い、間隔を空けてリクエストする工夫が必要です。上記のコードでは1回のリクエストで100件まで取得していますが、1000件を超える場合はループ処理を追加します。

データ形式が合わずエラーになる場合

PipedriveのAPIレスポンスは、空のフィールドが存在する場合があります。コード内で d.stage ? d.stage.name : '' のように条件分岐すると安全です。メールアドレスも連絡先が存在しないケースがあるため、同様にチェックします。

トリガーが意図した時間に動かない

時間主導型トリガーは、設定した間隔で必ず実行されるわけではありません。特に無料のGoogleアカウントでは、実行が遅延したりスキップされる場合があります。重要なデータ同期には、有料のGoogle Workspaceアカウントを検討するか、日次バッチとして余裕を持ったスケジュールにしましょう。

ADVERTISEMENT

3つの同期方法の比較

方法 費用 自動化 カスタマイズ性 運用負荷
手動CSVエクスポート 無料 不可 高(毎回手作業)
Zapierなどの外部連携ツール 月額10ドル〜 可能(タスク数制限あり) 低(設定は簡単)
Google Apps Script(本記事の方法) 無料 可能(トリガーで定期実行) 高(コードで自由に拡張) 中(初期設定に知識が必要)

まとめ

本記事では、Google Apps Scriptを使ってPipedriveのリードデータをスプレッドシートに自動同期する方法を解説しました。スクリプトを一度設定すれば、トリガーによって定期的にデータが更新されるため、手動エクスポートの手間から解放されます。さらに、スクリプトを改良すれば、特定のステージのリードだけを抽出したり、更新日時でフィルタリングするなど、より高度な営業管理が可能です。まずは今回のコードをベースに、自社の営業プロセスに合わせたカスタマイズを試してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

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