1. はじめに
1.1 序文
この章は、NocoBaseにおけるCRMリード転換の実装方法チュートリアルシリーズの第二部です。前章では、リード転換の基礎知識、必要なコレクションの作成、データ管理ページの設定、およびリードから会社、連絡先、商談へのデータ変換の実装について説明しました。本章では、リードのフォローアッププロセスとステータス管理の実装に焦点を当てます。
1.2 章の目的
この章では、NocoBaseにおけるCRMリード転換の実装方法について学びます。リードのフォローアップとステータス管理を通して、業務効率を向上させ、より洗練された販売プロセスの管理を実現することができます。
1.3 最終成果のプレビュー
前章では、リードと会社、連絡先、商談のコレクション間でデータを関連付ける方法について説明しました。ここではリードモジュールに焦点を当て、主にリードのフォローアップとステータス管理の実施方法について解説します。以下のデモをご覧ください:
2. リードコレクションの構造
2.1 リードコレクションの紹介
リードのフォローアップ機能では、「status」フィールドが重要な役割を果たします。これは、リードの現在の進捗状況(例:不適格、新規、進行中、育成中、商談中、完了)を反映するだけでなく、フォームの動的な表示や変更も促します。以下の表は、リードコレクションのフィールド構造とその詳細な説明を示しています:
フィールド名 | 表示名 | フィールドインターフェース | 説明 |
---|---|---|---|
id | Id | 整数 | 主キー |
account_id | account_id | 整数 | ACCOUNTコレクションへの外部キー |
contact_id | contact_id | 整数 | CONTACTコレクションへの外部キー |
opportunity_id | opportunity_id | 整数 | OPPORTUNITYコレクションへの外部キー |
name | リード名 | 単一行テキスト | 見込み客の名前 |
company | 会社名 | 単一行テキスト | 見込み客の会社の名前 |
メール | メール | 見込み客のメールアドレス | |
phone | 連絡先番号 | 電話 | 連絡先番号 |
status | ステータス | シングルセレクト | 現在のリードのステータス(不適格、新規、進行中、育成中、商談中、完了) |
Account | 会社 | 多対一 | 会社コレクションにリンク |
Contact | 連絡先 | 多対一 | 連絡先コレクションにリンク |
Opportunity | 商談 | 多対一 | 商談コレクションにリンク |
3. リードテーブルブロックと詳細ブロックの作成
3.1 作成の手順
まず、必要なフィールドを表示するために「Leads」テーブルブロックを作成します。同時に、ページ右側に詳細ブロックを設定し、レコードをクリックすると該当する詳細が自動で表示されるようにします。下記のデモをご参照ください:
4. アクションボタンの設定
4.1 ボタン全体の概要
様々な業務ニーズに応えるため、合計10個のボタンを作成する必要があります。各ボタンは、レコードのステータスに応じて(非表示、アクティブ、または無効)異なる表示となり、ユーザーを正しい業務プロセスへ導きます。
4.2 各機能ボタンの詳細な設定
ボタン | スタイル | 操作 | 連動ルール |
---|---|---|---|
編集ボタン | 編集操作 | — | レコードのステータスが「完了」の場合、不要な編集を防ぐために自動的に無効化されます。 |
不適格ボタン(アクティブ) | “不適格 >“ | レコードのステータスを「不適格」に更新します。 | デフォルトで表示されます。ステータスが「完了」の場合、ボタンは無効化されます。 |
新規ボタン(非アクティブ) | データ更新操作、“新規 >“ | ステータスを「新規」に設定し、「新規」成功通知を表示します。 | レコードのステータスが「不適格」でない場合は非表示になります。(レコードが既に「新規」以降のステータスにある場合はアクティブにすべき) |
新規ボタン(アクティブ) | データ更新操作、“新規 >“ | レコードのステータスを「新規」に更新します。 | ステータスが「不適格」の場合は非表示、ステータスが「完了」の場合は無効化されます。 |
進行中ボタン(非アクティブ) | データ更新操作、“進行中 >“ | ステータスを「進行中」に更新し、「進行中」成功通知を表示します。 | レコードのステータスが「不適格」または「新規」でない場合は非表示になります。 |
進行中ボタン(アクティブ) | データ更新操作、“進行中 >“ | レコードのステータスを「進行中」に更新します。 | ステータスが「不適格」または「新規」の場合は非表示、ステータスが「完了」の場合は無効化されます。 |
育成中ボタン(非アクティブ) | データ更新操作、“育成中 >“ | ステータスを「育成中」に設定し、「育成中」成功通知を表示します。 | レコードのステータスが「不適格」、「新規」、または「進行中」でない場合は非表示になります。 |
育成中ボタン(アクティブ) | データ更新操作、“育成中 >“ | レコードのステータスを「育成中」に更新します。 | ステータスが「不適格」、「新規」、または「進行中」の場合は非表示、ステータスが「完了」の場合は無効化されます。 |
転送ボタン | 編集操作、“transfer”、アイコン: ”√“ | 変換フォームを開き、提出時にステータスを「完了」に更新します。 | レコードのステータスが「完了」の場合、重複した転送を防ぐために非表示になります。 |
転送完了ボタン(アクティブ) | 閲覧操作、“transfered”、アイコン: ”√“ | 転送完了後の情報表示のみで、編集機能はありません。 | レコードのステータスが「完了」の場合にのみ表示され、他のステータスでは非表示になります。 |
- 連動ルールの例:
進行中ボタン(非アクティブ)
進行中ボタン(アクティブ)
- 転送フォーム:
転送ボタン(非アクティブ)
転送ボタン(アクティブ)
- 転送提出時のプロンプト表示:
4.3 ボタン設定のまとめ
- 各機能は、非アクティブ状態とアクティブ状態で異なるボタンスタイルを提供します。
- リンクルールは、レコードのステータスに応じて(非表示または無効)ボタンの表示を動的に制御し、営業担当者が正しいワークフローに従うよう導きます。
5. フォーム連動ルール設定
5.1 ルール1:名前のみ表示
- レコードが未確認またはステータスが空の場合、名前のみが表示されます。
5.2 ルール2:「新規」ステータスの場合の最適化表示
- ステータスが「新規」の場合、会社名は非表示となり、連絡先情報が表示されます。
6. ページMarkdownルールとHandlebars構文
6.1 動的テキスト表示
ページ内では、Handlebars構文を使用して、レコードのステータスに応じた異なるプロンプトメッセージを動的に表示します。以下は各ステータスのサンプルコードです:
ステータスが「不適格」の場合:
{{#if (eq $nRecord.status "不適格")}}
**不適格リードの詳細を追跡しましょう。**
製品に興味がなかったり、関連会社を離れた場合、そのリードは不適格と判断される可能性があります。
- 将来の参考のために教訓を記録する
- アプローチの詳細および連絡先情報を保存する
{{/if}}
ステータスが「新規」の場合:
{{#if (eq $nRecord.status "新規")}}
**このリードに関する詳細情報を収集しましょう。**
- 見込み客のニーズと関心事を理解する
- 基本的な連絡先情報と会社の背景を収集する
- フォローアップの優先順位と方法を決定する
{{/if}}
ステータスが「進行中」の場合:
{{#if (eq $nRecord.status "進行中")}}
**積極的にリードに連絡し、ニーズを初期評価しましょう。**
- 電話やメールを通じて見込み客と連絡を取る
- 顧客の問題や課題を理解する
- 顧客のニーズと自社の製品・サービスの適合性を予備評価する
{{/if}}
ステータスが「育成中」の場合:
{{#if (eq $nRecord.status "育成中")}}
**顧客のニーズを深く探り、リードを育成しましょう。**
- 関連する製品情報やソリューションの提案を提供する
- 顧客の質問に答え、懸念点を解消する
- リード転換の可能性を評価する
{{/if}}
ステータスが「完了」の場合:
{{#if (eq $nRecord.status "完了")}}
**リードが正常に顧客に転換されました。**
- 関連する会社と連絡先のレコードが作成されたことを確認する
- 商談レコードを作成し、フォローアップ計画を設定する
- 関連資料とコミュニケーション記録を担当営業担当者に引き継ぐ
{{/if}}
7. 転換後の関連オブジェクトとジャンプリンクの表示
7.1 関連オブジェクトの説明
転換後、関連するオブジェクト(会社、連絡先、商談)と、その詳細ページへのリンクを表示します。
詳細ポップアップ(例えば会社)を見つけて、リンクをコピーします。
注意:他のポップアップやページでは、詳細リンクの末尾(filterbytk以降)が現在のオブジェクトのIDを表しています。たとえば:
{Base URL}/admin/w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/{id}
7.2 Handlebarsを使用した関連リンクの生成
会社の場合:
{{#if (eq $nRecord.status "完了")}}
**会社:**
[{{$nRecord.account.name}}](w3yyu23uro0/popups/ki0wcnfruj6/filterbytk/{{$nRecord.account_id}})
{{/if}}
連絡先の場合:
{{#if (eq $nRecord.status "完了")}}
**連絡先:**
[{{$nRecord.contact.name}}](1oqybfwrocb/popups/8bbsqy5bbpl/filterbytk/{{$nRecord.contact_id}})
{{/if}}
商談の場合:
{{#if (eq $nRecord.status "完了")}}
**商談:**
[{{$nRecord.opportunity.name}}](si0io9rt6q6/popups/yyx8uflsowr/filterbytk/{{$nRecord.opportunity_id}})
{{/if}}
8. 関連オブジェクトを非表示にして値を保持する
転換後に関連情報が正しく表示されるようにするため、会社、連絡先、および商談のステータスは「非表示(値の保持)」に設定する必要があります。これにより、フォーム上でこれらのフィールドが表示されなくても、その値は記録され、引き継がれます。
9. 転換後のステータス変更の防止
転換後にステータスが誤って変更されるのを防ぐため、すべてのボタンに条件を追加します。つまり、ステータスが「完了」の場合、すべてのボタンが無効化されます。
10. 結論
以上の手順を完了すると、リードフォローアップ転換機能が完成します!このステップバイステップガイドを通して、NocoBaseにおけるステータスに基づくフォームの動的表示や連動の実装方法をより明確に理解いただけたなら幸いです。健闘を祈り、快適な操作をお楽しみください!