営業資料の作成に毎回多くの時間を費やしていませんか。Salesforceに蓄積された顧客データを手作業でGoogleドキュメントに転記するのは非効率で、ミスも発生しやすいものです。この記事では、GoogleドキュメントとSalesforceを連携し、営業資料を自動生成する方法をご紹介します。具体的には、Google Apps Scriptを活用してデータを取得し、定型のテンプレートに反映させる手順を解説します。
【要点】SalesforceデータからGoogleドキュメントの営業資料を自動生成する3つのステップ
- Apps ScriptでSalesforce APIに接続: スクリプトエディタからREST APIを呼び出し、データを取得します。
- テンプレートのプレースホルダー設定: ドキュメント内に「{{会社名}}」などのタグを埋め込み、自動置換の準備をします。
- トリガーによる自動実行: スプレッドシートの更新や時間指定でスクリプトを自動起動し、常に最新の資料を生成します。
ADVERTISEMENT
目次
SalesforceとGoogleドキュメントの連携の仕組み
SalesforceのデータをGoogleドキュメントで利用するには、Google Apps Script(GAS)を経由してREST APIにアクセスする方法が一般的です。Apps ScriptはGoogleのサーバー上で実行されるJavaScriptベースのスクリプトで、OAuth 2.0認証を用いて安全にSalesforceと通信します。取得したデータは、あらかじめ用意したテンプレート文書内のプレースホルダー(例:{{会社名}})と置き換えることで、瞬時に営業資料を生成します。この仕組みを応用すれば、見積書や提案書、案件サマリーなど、あらゆる定型文書を自動化できます。
営業資料自動生成の具体的な手順
事前準備(APIアクセス権限とテンプレート作成)
- Salesforceで接続アプリケーションを作成する
設定メニューから「アプリケーションマネージャ」を開き、新しい接続アプリケーションを作成します。コールバックURLには「https://script.google.com/macros/done」を指定し、OAuth 2.0のスコープに「API」を追加します。作成後、コンシューマ鍵と秘密鍵を控えてください。 - Googleドキュメントでテンプレートを作成する
新しいドキュメントを開き、営業資料のレイアウトをデザインします。データを差し込む位置には二重中括弧で囲んだキー名(例:{{会社名}}、{{担当者名}}、{{案件名}})を入力します。このキー名は後ほどスクリプトで使用するため、Salesforceの項目名と一致させると便利です。
Apps Scriptでデータ取得と文書作成のコードを書く
- スクリプトエディタを開く
テンプレートドキュメントの「拡張機能」メニューから「Apps Script」を選択します。プロジェクト名は「Salesforce連携」などわかりやすい名前に変更してください。 - OAuth認証コードを記述する
スクリプト内でSalesforceのREST APIを呼び出すため、OAuth 2.0の認証フローを実装します。Scriptサービスを使ってアクセストークンを取得し、後続のリクエストに使用します。鍵と秘密鍵はプロパティに保存し、コードに直接記述しないよう注意してください。 - データ取得と文書作成の関数を実装する
Salesforceから必要なオブジェクト(取引先責任者、商談など)をクエリし、レスポンスを解析します。その後、テンプレートドキュメントをコピーし、本文内のプレースホルダーを取得したデータで置換します。置換にはDocumentAppのreplaceTextメソッドを使用します。完成した文書は指定したフォルダに保存します。
トリガーを設定して自動化を完成させる
- スクリプトにトリガーを追加する
Apps Scriptエディタの左メニューから「トリガー」を開き、「トリガーを追加」ボタンをクリックします。実行する関数を選択し、イベントのソースを「時間主導型」または「スプレッドシートから」に設定します。例えば、毎日午前9時に実行すれば、営業開始時に最新の資料が準備されるでしょう。 - 初回の認証を済ませる
トリガーを設定後、一度スクリプトを手動実行してSalesforceの認証画面を通過します。承認が完了すれば、以降は自動実行でも安全にデータを取得できます。認証情報はスクリプトのプロパティに保存され、繰り返し使用されます。
よくあるトラブルと対処法
API接続エラーが出るとき
Salesforce APIへの接続に失敗する場合、まずOAuthのスコープとコールバックURLを確認してください。スコープに「refresh_token」が含まれているか、コールバックURLが正しいスペルであることが重要です。また、接続アプリケーションのIP制限がかかっていないかも確認しましょう。Googleのサーバーからのアクセスを許可する必要があります。
テンプレートの置換が正しく行われない
置換されないプレースホルダーがある場合、キー名のスペルミスや大文字小文字の違いが原因です。Salesforceの項目名とテンプレート内のキー名を厳密に一致させてください。また、replaceTextメソッドは正規表現を受け入れるため、特殊文字が含まれていると誤動作することがあります。プレースホルダーは英数字とアンダースコアのみで構成することをおすすめします。
スクリプトの実行時間が長すぎるとき
大量のデータを処理する場合、Apps Scriptの1回の実行時間制限(6分)を超えることがあります。その場合は、処理を分割して複数のトリガーで実行するか、Salesforceのクエリにフィルターをかけて一度に取得するレコード数を減らしてください。また、不要な項目を除外してレスポンスを軽量化するのも効果的です。
ADVERTISEMENT
手動作成と自動生成の比較
| 項目 | 手動作成 | 自動生成 |
|---|---|---|
| 1件あたりの作成時間 | 15~30分 | 数秒 |
| データ入力ミスの発生率 | 高い | ほぼゼロ |
| 大量生成時の負荷 | 人的リソースを圧迫 | サーバーに任せられる |
| フォーマット統一 | 個人差が生じる | 完全に統一される |
まとめ
SalesforceとGoogleドキュメントをApps Scriptで連携することで、営業資料の作成時間を大幅に短縮できます。本記事で紹介した手順を実践すれば、テンプレートにデータを流し込む一連の流れを自動化できます。さらに応用として、複数のテンプレートを切り替えたり、添付ファイルを自動でメール送信する仕組みも構築可能です。まずは簡単な案件サマリーから自動生成に挑戦してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleドキュメントの人気記事ランキング
- 【Googleドキュメント】上付き・下付き文字の入力方法!ショートカットと手動切替
- 【Googleドキュメント】ルビ(ふりがな)を振る方法!代替ツールとアドオンの活用
- 【Googleドキュメント】文字間隔(字間)を調整する方法!カーニングの代替手段
- 【Googleドキュメント】図表番号の自動採番!Figure 1, Table 2 の連番
- 【Googleドキュメント】Docs→Wordへエクスポート!docx出力での書式維持
- 【Googleドキュメント】縦書き表示を実現する方法!代替ツールと回避策
- 【Googleドキュメント】インデントを正確に調整する方法!ルーラーとタブストップの使い方
- 【Googleドキュメント】罫線を縦・横に挿入する方法!Wordの罫線機能との比較
- 【Googleドキュメント】共有後に閲覧履歴を確認!誰がいつ開いたかの追跡
- 【Googleドキュメント】共有先の名前が表示されない時の対処!匿名動物アイコンの正体
