
NocobaseでHubspotのクローンを作る_セールスオブジェクト編
前の記事では、Nocobaseを使ってHubspotのCRMオブジェクトをクローンして構築してみました。
今回は、セールスオブジェクトのクローンに焦点を当て、具体的な手順を解説します。
セールスオブジェクトとは
Hubspotにおけるセールスオブジェクトとは、取引、見積もり、商品項目など、営業活動に関連するデータを管理するためのオブジェクトのことです。これらのオブジェクトはCRMオブジェクトと関連させることができます。
データモデル作成
CRMオブジェクトと同じように、Nocobaseでデータセットにコレクションを作成します。
ひとまずhubspotに表示されているオブジェクトを用意してみます。
取引
顧客または会社とのトランザクションに関する進捗状況、担当者、その他の詳細を追跡できるものです。
取引名や取引ステージなど、必要なものを作成していきます。
商品項目
1件の取引、見積もり、注文、またはその他のトランザクションの一部として販売される特定の製品またはサービス。
製品名や単価などの必要な項目を作成していきます。
見積もり
商品項目の提案価格または実際の価格の概要を記述した、見込み客に提示されるドキュメント。
サブスクリプション
経常収益、請求、決済を管理
サブスクリプションには定期的に請求書を作成して送付できたり、支払いリンクを共有する方法があるため、
請求書と支払いリンクのコレクションも必要になってきます。
これらは実際に決済の機能を導入する際に作っていく予定。
関連付け
セールスオブジェクトは、その中での関連付けだけでなくCRMオブジェクトとの関連付けもあるので、作成したコレクションで設定していきます。
担当者(ユーザー)との関連
見積もりと取引は担当者というプロパティを持っているので、関連付けのフィールドを設定します。
- 見積もりと担当者: 多対1
- 取引と担当者: 多対1
で作ります。
見積もりに関しては承認者も作ってみましょう。
- 見積もりと承認者: 多対1
取引の関連づけ
- 取引とコンタクト:多対多
- 取引と会社:多対1
- 取引と商品項目:多対多
- 取引と見積もり:1対多
- 取引とサブスクリプション:1対多
で作ります。
見積もりの関連付け
- 見積もりと商品項目:多対多
- 見積もりとサブスクリプション:1対多
- 見積もりと会社:多対1
- 見積もりとコンタクト:多対多
サブスクリプションの関連付け
- サブスクリプションと商品項目: 多対1
- サブスクリプションとコンタクト: 多対1
- サブスクリプションと会社: 多対1
UIの調整
作成したコレクションのデータを登録できるようにUIを作成したり、既存のUIを修正します。
ページを追加し、登録したデータの一覧を表示するテーブルを置きます。
追加のフォームの作成をします(画像は取引のフォーム)
編集フォームも作成します。
全てのフィールドの情報が参照できる詳細画面も作ります。
関連するデータは別タブにして、見やすくするのもありだと思います。
ワークフローの設定
見積もりが作成されてから、その見積もりの承認を決済者が行う といったフローがある場合、Nocobaseのワークフローを使って承認処理をシステム化することも可能です。
ワークフロー作成
ワークフローのページから新規作成します。トリガータイプは操作後のイベント
としました。
見積もりコレクションを指定し、ローカルモードにします。
このワークフローにバインドされたアクションが完了した後にトリガーされる設定です。
次のブロックで、ステータスが承認待ちだったら という条件で分岐します
YESの場合、Notification機能を使ってメッセージを送信します。
トリガーデータの内容をメッセージ内に入れることもできます。
受信者は、承認権限を持っている人にすると良いでしょう。
所属チームを条件に追加することも出てくるかと思います。
最後にワークフローを有効にして作成を完了させます。
ワークフローのバインド
Nocobaseでは保存ボタンからワークフローを呼び出すことができる機能が使えます。
先ほど追加したワークフローを追加してみましょう。
実際にデータを保存するとワークフローが実行されます。
実行結果は履歴から確認できます。
今回はアプリ内メッセージで送信するようにしたので、このように対象者にメッセージが届いたことがわかります。
アクセス権の設定
承認者じゃないと見積もりの承認ができない、他人の作成した案件は削除できない といった要件もあるかと思います。
こういった場合、Nocobaseのロールと権限を使って制御することができます。
ユーザーと権限の設定ページで、ロールと権限のタブを開いてデータソースの操作設定を行えます。
コレクション毎に設定できるので、見積もりコレクションでやってみます。
権限ポリシーを個別設定にすると、操作やフィールドに対するアクセス権を設定できるようになります。
上記の例では削除を自分が所有するレコードに限定しています。
上記の例は、承認済みかどうか というフィールドの追加と編集をできなくしている設定です。
このようにきめ細かにアクセス権の指定が可能です。
Nocobaseを使ってHubspotのセールスオブジェクトをクローンしてみました
Nocobaseの柔軟なカスタマイズ機能を活用することで、Hubspotのセールス機能をベースにした、独自の営業管理システムを構築できます。
次の記事では、アクティビティオブジェクトのクローンについて解説します。
このようにきめ細かにアクセス権の指定が可能です。