お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の
英語版を参照してください。
概要:
Zoho CRM ユーザーは、データを一括であるブループリントから別のブループリントに自動的に移行したい場合があります。しかし、Zoho CRM では初期設定でこのオプションは用意されていません。
この操作は、Blueprint API をワークフロー、項目更新、カスタム関数と組み合わせて利用することで、簡単に実現できます。
法人向けシナリオ:
本ドキュメントで説明しているカスタムソリューションは、以下のようなケースで利用できます。
-
特定の項目値や条件に基づいて、あるブループリントから別のブループリントへデータを移動させる必要がある場合。
-
誤って別のブループリントに入ってしまったデータを、正しいブループリントに移し替えたい場合。
課題:
ユーザーが一般的に行っているブループリント間のデータ移動には、いくつかの困難があります。
- 現在のブループリント内の各遷移を、対象となるデータごとに手動で実行し、順次現在のブループリントから終了させる必要があります。
- 終了後、データを新しいブループリントへ移動するために一括更新が必須です。
この一連のプロセスは、時間がかかり非効率的です。
解決策:
提案する設定では、ユーザーはダミーのチェックボックス項目に対して一括更新を行うだけで済みます。この操作によってワークフールールがトリガーされ、関連付けされたカスタム関数が実行されます。関数は既存のブループリントからデータを自動的に終了させ、新規ブループリントへ移動します。
権限と利用可能範囲
管理者権限(Extensibility)– 外部連携の作成およびカスタム関数の作成が必要です。
管理者権限(自動化)– ワークフールールとブループリントの設定が必要です。
管理者権限(カスタマイズ)– カスタム項目の作成が必要です。
実装手順:
データ元ブループリント
ここで取り上げているサンプルブループリントは、商談タブ用に作成されています。データ元と移行先の両方のブループリントが、同じタブで設定されていることを確認してください。
メモ: 最初のブループリントで最終遷移を共通遷移として設定することが入力必須です。これにより、データはどの前段階からでも最終段階へ移行でき、制限なくブループリントを終了できます。
対象ブループリント
手順 1: チェックボックス項目の作成
タブに移動し、項目 > 商談タブ > レイアウト > ダミーチェックボックス項目を作成します。
このチェックボックスはプロセスのトリガーとして機能します。複数のデータを別のブループリントに移動する場合、必要なデータに対してこの項目を一括更新することで、ワークフローと関連付けられた関数が起動し、データが対象ブループリントへ移動します。
手順 2: ワークフルールの設定
- 自動化 > ワークフロールールに移動します。該当するタブに対して新しいルールを作成してください(ブループリントが設定されているタブ)。
- トリガー条件を「チェックボックス項目が選択されたとき」に設定します。
- 条件を定義します:チェックボックスが選択済み。

手順 3: Connectionの作成
Zoho CRMの設定 > Developer Hub > 外部連携 > My Connection > Connectionを作成へ移動します。
‘Zoho OAuth’をサービスとして選択し、‘Connection’に名前を付けます。その後、以下を選択してください。
scope: ZohoCRM.タブ.すべて
手順 4: カスタム関数の関連付け
下記のカスタム関数を使用して、データを一つのブループリントから別のブループリントへ移動させてください。
カスタム関数スクリプト
-
無効 自動化.MoveBlueprint(Int dealId)
-
{
-
//ステージをブループリントの最終ステージに更新する
-
UpdateDealStage = Zoho.crm.updateRecord('商談',dealId.toLong(),{'Stage':'Validation'});
-
info UpdateDealStage;
-
blueprintMap = Map();
-
//トランジションIDは別のコードで取得済みである必要があります。
-
blueprintMap.put({'blueprint':{{'transition_id':'6649548000002229171'}}});
-
if(UpdateDealStage.取得する('コード') == 'RECORD_IN_BLUEPRINT')
-
{
-
response = invokeurl
-
[
-
-
種類 :PUT
-
パラメーター:blueprintMap.toString()
-
connection:'テスト'
-
];
-
info response;
-
}
-
//データは最初のブループリントの出力から取得されます
-
//2番目のブループリントの最初のステージおよびエントリー条件(該当する場合)を更新する
-
UpdateNewBlueprintStage = Zoho.crm.updateRecord('商談',dealId,{'Stage':'Proposal Submission','trigger':'blueprint'});
-
info UpdateNewBlueprintStage;
-
}
引数セクションでdealIdパラメーターを商談 データIDにマッピングします。
提供されたスクリプト内の接続「テスト」を実際のConnection 名前に置き換えてください。
レスポンス:
カスタム関数スクリプトの説明:
- 現在のblueprintの最終状態を更新する:スクリプトは実行対象データのステージ値(blueprintの最終状態)を更新します。
- Transition IDを渡す:最終(共通)遷移のTransition IDをBlueprint APIで渡すことで、データを最後のステージに移動させ、現在のblueprintを終了します。
このTransition IDは、別途用意したスクリプト(下記参照)で取得済みです。
- 次のblueprintの初期状態を更新する:次に、スクリプトはステージ項目を2つ目のblueprintの開始状態に更新し、データが入力できるようにします。
メモ: 2つ目のblueprintにエントリー条件が設定されている場合は、それらの条件もスクリプト内で更新されていることを必ずご確認ください。スクリプトでは、1つ目のblueprintの最終遷移のTransition IDを使用してデータを終了します。
このTransition IDを取得するには、提供されているサンプルスクリプトをご利用ください。
-
無効 自動化.GetTransitionId(Int Did)
-
{
-
response = invokeurl
-
[
-
-
種類 :取得する
-
connection:'madhu'
-
];
-
info response;
-
}
上記のスクリプトは、特定のデータに対して現在および今後の遷移の詳細を返します。ブループリントに入る条件を満たすテストデータを作成してください。最終遷移が共通遷移として設定されているため、そのIDはすべてのステージで一貫して返されます。データがブループリント内に入ったら、スクリプトを実行して遷移IDを取得します。このIDは、現在のブループリントからデータを終了させる際に必要です。
ビデオ参照:
セットされたデータを一つのブループリントから別のブループリントへ移動した結果を示す詳細な画面録画は、リンクより確認できます。
スクリーンキャスト動画:
スムーズな導入のために、設定を本番環境へ反映する前にテスト環境で設定し、十分にテストされることを推奨します。
TIPS: よくあるエラーを回避するために
-> スクリプト内で正しいAPI Namesをタブと項目の両方で使用していることを必ずご確認ください。
-> 意図した出力が得られているか確認するため、Zoho CRM Function IDE のコンソールセクションで各変数について info() ログを活用し、出力結果をチェックすることを推奨します。
-> 関数スクリプト内で使用中の外部連携については、意図したAPI操作を行うために必須スコープが接続に追加されていることを必ずご確認ください。また、Deluge Invoke URLやIntegrationタスクに渡す際は、外部連携のリンク名(例:crm_connection)を使用するようにしてください。
-> 一般的な運用として、US DCのAPIエンドポイントを使用中です。別のDC(IN、EU、CA、AUなど)のCRMアカウントをご利用の場合は、ご自身のDCに対応したAPIエンドポイントURLを使用することを推奨します。
例:
-> この 使用するケースには自動化機能(例:ワークフロー ルール)が関与しているため、意図した機能が動作しない場合、ユーザーは関連付け済みfunction failure 理由を「設定 >> Developer Hub >> Functions >> 失敗」で確認できます。また、ユーザーはすべての function 実行の完了ログを、特定の作成 function に対して実行履歴として確認可能です(つまり、 My Functions >> 3点リーダー >> Logs)。この方法は、CRMデータでワークフロールール経由で関数が実行され(タイムラインに表示)、しかしデータに意図した処理や更新が行われなかった場合のシナリオにも役立ちます。このような場合、ユーザーはZoho CRM内のfunctionログから出力(情報ログ)や実行時のエラーを確認できます。
メモ: 最適なコード運用やZoho CRM全体でカスタム関数を展開するさまざまな方法については、以下のガイド記事をご参照ください。
カスタム Solution 作成者 Madhu Sree T | Zoho パートナーサポート