自動生成されるドキュメントの品質は、その背後にあるCRMフィールドの品質に直結します。私はHubSpotの管理者と多くの時間を共に過ごしており、彼らは「そのまま使える」提案書や契約書を求めています。ほぼすべてのケースで、障壁はテンプレートではありません。プロパティの不整合、重複フィールド、そしてどの値が信頼できる情報源なのかについて誰も合意できていないことが問題です。

これは、私が HubSpot のデータをPortantが生成する見積書、提案書、契約書にスムーズに反映させたいときに使用するチェックリストです。目標はシンプルです。各事実に対して正規のフィールドを一つ設け、担当者が理解できる名称を付け、誤ったデータが顧客向けPDFに気づかれないまま入り込まないようバリデーションを設けることです。

ドキュメントに必要な内容から始める

HubSpotの設定に触れる前に、署名済み契約書や正式な提案書に記載しなければならない情報を列挙します。法人名、請求先住所、署名者、商業条件、開始日、明細項目が典型的な要素です。顧客向けのリストが明確になるまで、社内用語は無視します。

次に、各情報を既存のHubSpotオブジェクトにマッピングします。Companyは法人情報と請求先情報を保持します。Contactは担当者と役割を保持します。Dealは商業的な内容とステージを保持します。Line itemsはSKUレベルの計算を保持します。カスタムオブジェクトは、Dealのフィールドが不足したからではなく、本当にリレーションシップが必要な場合にのみ使用します。

このマッピングが正確であれば、Portantはスプレッドシートからセルをコピーする作業なしに、最新の値を 提案書契約書 に反映できます。マッピングが曖昧であれば、自動化はミスをより速く拡大させるだけです。

担当者が実際に使う命名とグループ化

HubSpotではプロパティをグループ化し、ドキュメント準備をする担当者が「Contract essentials」や「Proposal inputs」といったラベルの付いたブロックを一目で確認できるようにします。散在する50個のフィールドではなく、分かりやすくまとめます。フィールド名はわかりやすい言葉で表現します。「Legal entity name」は「co_legal_nm」より明確です。ヘルプテキストは一文で、その値の出所と、誤りがあった場合の修正担当者を明記します。

似たようなフィールドの重複は避けます。Dealに「Annual contract value」があり、誰も管理していないスプレッドシートの列に「ACV copy」があるような状況ほど、チームを混乱させるものはありません。二つのフィールドが矛盾する可能性がある場合は、一方を削除するか、一方を計算フィールドとして読み取り専用にします。

ピックリストやドロップダウンの選択肢は短く、互いに排他的なものにします。細かなニュアンスには自由入力テキストで十分ですが、価格表や管轄条項を制御するものには適しません。それらはテンプレートが確実に分岐できるよう、統制された語彙に含める必要があります。

必須フィールドは実際のゲート条件に対応させる必要があります。発注書ルールなしに契約書を送付できない場合は、財務部門がPDFを却下した後ではなく、「契約書送付」前にその旨を表示させます。担当チームがその条件に合意するステージで、DealまたはCompanyの必須プロパティを設定します。

HubSpotが許可する範囲で、シンプルなガードレールを追加します。金額には数値フォーマット、署名者にはメールバリデーション、過去に空欄が問題を起こした箇所には最小文字数を設定します。目的は官僚主義的な手続きではありません。目的は、修正が煩雑な悪夢となる一つの不正な値を防ぐことです。

これらのフィールドからドキュメント自動化が実行されると、レビュアーが入力内容を信頼できるため、承認プロセスが短縮されます。それが厳格なプロパティ設計の実践的な成果です。

カスタムプロパティと標準フィールドの使いすぎの回避

HubSpotには標準プロパティが用意されており、それには理由があります。意味が合致する場合は標準プロパティを使用します。「MSA effective date」や「Auto renewal notice window」など、汎用的なメモフィールドに詰め込むべきではない独自のビジネス概念がある場合にのみ、カスタムプロパティを追加します。

また、「メモフィールドの乱用」にも注意が必要です。重要な条件がDealのメモにしか存在しないケースです。メモは人間による翻訳なしに顧客向けドキュメントに使えません。それではコピー貼り付けが再発します。紙の文書に記載すべき情報は、構造化されたプロパティに入力すべきです。

ステージ変更時にファイルを生成する ワークフロー を使用するチームにとって、構造化されたフィールドこそが条件付きセクションを確実に機能させます。「更新期間が12ヶ月の場合、条項ブロックAを含める」という処理は、更新期間が実際のフィールドとして存在する場合にのみ機能します。

データの健全性を証明するレポート

このステージにあるすべてのDealに対してクリーンなドキュメントを生成できるか、という一つの問いに答える小規模なリストとレポートを構築します。このレポートは、必須プロパティの欠落、無効なピックリスト値、そして明細の合計がDeal金額と一致しないDealをフィルタリングします。

RevOpsは最初は週次でそのリストをレビューし、エラー率が安定したら月次に移行します。Sales leadersも確認します。修正策は多くの場合、新たな統合ではなくコーチングであるためです。

プロパティが健全であれば、エンゲージメント指標も意味のあるものになります。HubSpotのドキュメントレコードが正しいアカウントとコンタクトを反映していれば、誰がいつ何を開いたかを正確に把握できます。

テンプレートオーナーへの引き継ぎ

プロパティが安定したら、Google DocsまたはWordのテンプレートを管理する担当者向けに1ページの「フィールド辞書」を作成します。各タグはHubSpotプロパティ、そのオブジェクト、そして値の例にマッピングされます。テンプレートの編集者は、「billing city」がCompanyからのものかContactからのものかを推測する必要がなくなります。

Portantでは、それらのタグがHubSpotのライブデータを取得するため、レコードが更新されても生成されたファイルは常に最新の状態を保ちます。私が好むパターンは、CRMの整備を最初に行い、テンプレートの仕上げを次に行い、自動化をその後に行うというものです。

よくある質問

カスタムプロパティはいくつまでが適切ですか?

担当者が検索なしに必要なフィールドを見つけられない場合、デフォルトビューに表示するフィールドが多すぎます。スマートビュー、フォーム、プレイブックによってロール別に適切なサブセットが表示される限り、総数を多く保つことは問題ありません。私は、際限なくオプションを増やすよりも、より少ないフィールドを厳格に運用することを好みます。

価格の信頼できる情報源はLine itemsであるべきですか?

SKUベースのものに関しては、そうです。Deal金額はLine itemsと一致させるか、文書化された例外プロセスが必要です。ドキュメントテンプレートは、明細が項目別になっている場合はLine itemsから読み取り、単一合計のパッケージバンドルを販売する場合はDealレベルのフィールドから読み取るべきです。

営業チームが条件の自由入力にこだわる場合はどうすればよいですか?

法的・財務的に重要な内容には構造化されたフラグを設定し、必要に応じて補足説明には長文テキストフィールドを使用します。そのうえで、データマージが可能な部分と法務レビューが必要な部分をチームに周知します。更新期間や責任上限額の唯一の格納場所として、非構造化テキストを使用すべきではありません。