1. Zoho CRM で設定メニューを開きます。
2. [ワークフロー ルール]を選択し、[ルールを作成]をクリックします。
3. タブとして RIQ Field Visits を選択し、ルール名を入力して「次へ」をクリックします。
4.
特定の項目からデータが更新されたときにワークフローが実行されるように設定します。項目「Check-out Time」が空ではない値に更新されたときに、ワークフローが毎回実行されるようにします。条件に一致する「すべての RIQ Field Visits」に対して、このワークフロールールが適用されるように設定します。

5. 「挿入操作」セクションで「Function」を選択し、「関数を設定」をクリックします。
6.
次のページで、カスタム関数が表示されます。これを編集し、以下の引数を追加して、それぞれマッピングします。
-
Int recordID = #RIQ Field Visits - RIQ Field Visit Id
-
Int plannedVisitOrder = #RIQ Field Visits - Planned Visit Order(予定訪問順)
-
Int routeID = #Lookup:RIQ Route Name - RIQ Route Id
7. 関数内に、以下のコードスニペットをコピー&ペーストします。このコードは、ワークフローを実行したレコードのメール項目を確認・取得します。
- //Arguments:
- // Int recordID = #RIQ Field Visits - RIQ Field Visit Id
- // Int plannedVisitOrder = #RIQ Field Visits - Planned Visit Order(予定訪問順)
- // Int routeID = #Lookup:RIQ Route Name - RIQ Route Id
- // Constants
- riqFVModApiName = 'zrouteiqzcrm__RIQ_Field_Visits';
- riqPlanVisitOrder = 'zrouteiqzcrm__Planned_Visit_Order';
- riqRouteName = 'zrouteiqzcrm__RIQ_Route_Name';
- riqAssociatedModApiName = 'zrouteiqzcrm__Associated_Record_Module_API_Name';
- riqAssociatedRecID = 'zrouteiqzcrm__Associated_Record_ID';
- // すべての RouteIQ 連携タブの API 名をキーに、そのタブのメール/電話番号項目の API 名を値として追加します
- crmModVsField = コレクション('見込み客':'メール','処理':'メール','連絡先':'メール','取引先':'メール','Auto_Route_Creation':'メール');
- // 次の訪問先の訪問順(現在値 + 1)を保持するグローバル変数
- plannedVisitOrderPlusOne = plannedVisitOrder + 1;
- plannedVisitOrderPlusOneAsString = plannedVisitOrderPlusOne。toString();
- // 同じ Route ID かつ予定訪問順が +1 のすべての訪問先詳細を取得
- recordSearchCrt = '(' + riqRouteName + ':equals:' + routeID + ') and (' + riqPlanVisitOrder + ':equals:' + plannedVisitOrderPlusOne + ')';
- nextStopDetails = Zoho。crm。searchRecords(riqFVModApiName,recordSearchCrt);
- nextStopDetails = nextStopDetails。取得する(0);
- // 次の訪問先が存在するかどうかを確認
- if(nextStopDetails。size() == 0)
- {
- info '次の訪問先はありません';
- }
- else
- {
- // 次の訪問先に関連付けられているレコードの詳細を取得
- nextStopModuleAPIName = nextStopDetails。取得する(riqAssociatedModApiName);
- nextStopAssociatedRecordID = nextStopDetails。getJSON(riqAssociatedRecID);
- // 次の訪問先のレコード詳細を取得
- if(!nextStopAssociatedRecordID。isNull())
- {
- nextStopRecordDetails = Zoho。crm。getRecordById(nextStopModuleAPIName,nextStopAssociatedRecordID);
- if(!nextStopRecordDetails。isNull())
- {
- info nextStopRecordDetails;
- nextStopEmail = crmModVsField。取得する(nextStopModuleAPIName);
- // タブを判別し、対応するメール項目からメールアドレスを取得
- if(!nextStopEmail。isNull())
- {
- // ここにメール送信ロジックを記述します
- info nextStopRecordDetails。取得する(nextStopEmail);
- }
- }
- }
- else
- {
- info 'これは CRM レコードと一致しません。RIQ 住所レコードの可能性があります';
- }
- }
メモ: スクリプト 13 には、すべての RIQ 連携タブの API 名と、それぞれに対応するメール/電話番号項目の API 名の一覧を含める必要があります。RouteIQ と連携している CRM タブに応じて、このコレクション内の値を追加・削除することを推奨します。メール/SMS のトリガーロジックと本文は、スクリプト 42 を基に独自に作成してください。
8. 「保存して関連付け」をクリックし、元のページに戻ったら「保存」をクリックします。
動作例
倉庫 A で、今日配達するすべての物資をバッグに補充し、チェックアウトします。すると自動的に、Doctor Johnson(次の訪問先)に、設定に基づいてメール/SMS が送信されます。内容例:
「Rung Pharmaceuticals の Sonia が向かっています。」
重要なメモ
-
@placesや@favorite placesを使って手動で訪問先を追加した場合(つまり、Zoho CRM のデータとリンクされていない場合)、RouteIQ はモバイル番号やメールアドレスを自動取得できません。その訪問先に対応する CRM データが存在しないためです。この場合、その訪問先についてはワークフローは実行されません。
-
通知内容はカスタマイズできます。ワークフローを設定する際に、送信する SMS/メールの文面を自由に指定できます。
メモ: RouteIQ には、SMS/メールの送信ベンダーは標準では用意されていません。この機能を利用するには、Zoho マーケットプレイス経由、または任意の外部ベンダーとの連携を設定する必要があります。この点について詳しいサポートが必要な場合は、support@zohocrm.com までお問い合わせください。担当チームが設定手順をご案内します。
このワークフローで実現できること
少し設定するだけで、RouteIQ は日々の訪問ルートをスマートな自動ワークフローに変換し、関係者全員に最新情報を共有できるようにします。