Zoho CRMでクライアントスクリプトを使用してテンプレートでメール作成画面を自動的に開く方法を学ぶ

Zoho CRMでクライアントスクリプトを使用してテンプレートでメール作成画面を自動的に開く方法を学ぶ

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

Requirement 概要

Zoho CRM ユーザーは、ユーザーの特定の操作に基づいて異なる顧客に繰り返しメールを送信する作業を自動化・簡素化したいと考えています。これにより、毎回手動で「メールを送信する」ボタンをクリックする必要がなくなります。

使用ケース

商品別の会社では、営業チームが初回の打ち合わせ後、見込み顧客と定期的にメールでコミュニケーションを取っています。商談のステージ(Won、Lost、オンHold)に応じて、営業担当者は状況に合わせた内容で連絡を取る必要があります。

商談 Won→ オンボーディングの詳細を含む、感謝のメールを送信します。

商談 Lost→ 丁寧なフォローアップまたはフィードバック依頼のメールを送信します。

商談 オン-Hold→ 顧客との関係維持のためのナーチャリングメールを送信します。

営業担当者が迅速にコミュニケーションを行い、商談を効果的に完了させることが非常に重要です。そのため、会社では商談ステージやステータスに応じて自動的にメールを送信するプロセスを求めています。また、送信前にメールの頻度やタイミングを認証する必要があります。
  1. Zoho CRM で実現するための方法

=> ユーザーはデータ編集トリガーに基づいてワークフローを直接使用し、通知メールを送信する操作を設定できます。ただし、この方法では送信前に顧客宛てのメールを認証することができません。また、動的なコンテンツも利用できません。

=> ユーザーはカスタム関数とメール送信操作、動的コンテンツをワークフロー内の操作として関連付けて利用できます。しかし、この場合もメールは自動的に送信されるため、送信前にユーザーが内容を確認することはできません。

=> Client Script には初期設定の ZDK メソッド『openMailer()』があり、これを使用して事前設定済みの構成でデータ内のメール作成画面を呼び出すことができます。
Notes
ヘルプ リンクを参照し、Client Script の openMailer() メソッドについて詳細をご確認ください。
Alert
Info
重要な理由:
  1. 時間の節約
  2. 一貫性の向上
  3. パーソナライズ対応
  4. エラーなし
  5. ユーザーと顧客 両方の体験を向上
  6. 営業の生産性向上
  7. 法人の内部プロセスを迅速化
Info

権限・利用可能範囲

-> 管理 Extensibilityの権限を持つユーザーは、Client Scriptの設定および構成が可能です。
-> 管理 テスト環境の権限を持つユーザーは、テスト環境の管理および本使用ケースのテストが可能です。

設定

上記の使用ケースを分かりやすく理解するために、各項目のステータスに応じてクライアントスクリプトが実行され、事前に情報がセットされたMailerコンポーザーが開く流れを確認します。

それでは、「受注書」タブ詳細ページで、項目イベント(onBeforeUpdate()、つまりステータス)に対するClient Scriptを作成します。例えば、ユーザーが詳細ページで「ステータス」をいずれかの選択肢に更新すると、スクリプトが実行され、指定した構成でMailerコンポーザーが開きます。

この使用ケースのClient Scriptを設定するには、以下の手順に従ってください:

1)スクリプトの目的に基づき、名前説明などの基本情報を入力してください。

2)カテゴリー 詳細セクションにて、以下を選択してください:

* カテゴリーはタブとして指定します。
* Pageは詳細として指定します。
* タブは受注書として指定します。
* 必須のLayoutを選択してください。

3) Event 詳細セクションにて、以下を選択してください:

* 種類は項目イベントとして指定します。
* ドロップダウンから必須項目を選択してください。
* EventはonBeforeUpdateとして指定します。

コード

  1. //ステータス項目の値を取得
  2. var ステータス = 値;

  3. //確認中 ステータス値が「承認済み」の場合
  4. if (ステータス == '承認済み') {

  5.   //Mailerコンポーネントを開く
  6. ZDK.Client.openMailer({
  7. from: 'harshadjoshi518@gmail.com', to: [{ メール: 'harshikajoshi51@gmail.com' }], 件名: '順番確認', 本文: 'あなたの順番が承認されました。順番を確定したい場合はご確定ください。' });
  8. }

  9. //確認中 ステータス値が「Confirmed」の場合
  10. if (ステータス == 'Confirmed') {

  11.     //UIで確認用ポップアップを表示
  12. var resp = ZDK.Client.showConfirmation('本当に順番を確定しますか?', 'はい!', 'いいえ!');

  13.    //「はい」を選択したユーザーのみ、続行
  14. if (resp == 真) {
  15. templateId = '5113649000017098722';
  16. recid = $Page.record_id;

  17. //Connection Methodを使ってCRM_APIを呼び出し、templateIDでテンプレートデータを取得
  18. var fetchRec = ZDK.Apps.CRM.外部連携.invoke('zohocrm', 'https://www.zohoapis.com/crm/v4/設定/email_templates/'+ templateId + '/処理/print_preview?record_id=' + recid + '&print_type=html', '取得する', 1, {}, {});

  19. content = fetchRec.詳細.statusMessage.email_template_preview.本文;
  20. console.log(content);

  21.         //Mailerコンポーネントを開く
  22. ZDK.Client.openMailer({ from: $Crm.ユーザー.メール, to: [{ メール: '123@1213.com', ラベル: 'テスト' }], CC: [], 件名: 'Hello', 本文: content });
  23. }
  24. }
  1. Client Script コードの説明

-> 最初に、該当するステータス項目値を取得します(これによりクライアントスクリプトが実行済みとなります)。

-> 次に、IF条件を使用して各ステータスに応じた異なるメールを作成します。

-> 例として、「承認済み」ステータスには直接メール本文の内容を使用しています。

-> 「Confirmed」ステータスの場合は、確認ポップアップを表示し、ユーザーが「はい」をクリックすると、初期設定Web APIメソッド(外部連携)を使い、IDで必要なテンプレートを取得してテンプレート内容を取得します。

-> その後、Mailerコンポーネントを使い、テンプレート内容を本文として渡し自動的に開きます。
Notes
メール テンプレート APIを参照して、その他の情報や接続に必要なスコープを取得してください。

動作デモ - スクリーンキャスト



Idea
-> ユーザーは、営業チーム向けの商談ステージに関連する上記の使用ケースと同じ設定を行うことができます。

その他の使用ケース:
-> 例として、学校で管理者がすべての生徒の保護者にメールを送信したい場合。
-> この場合、ユーザーはCRM APIを使用し関連リスト経由で関連付けられているすべての保護者データを取得し、メールアドレスを取得してMailerコンポーネント(To住所パラメータ)に渡し、すべての保護者にメールを送信できます。
Alertスムーズな導入のために、設定を本番環境へ適用する前に、テスト環境で設定の構成およびテストを行うことを推奨します。

TIPS - よくあるエラーを回避するために

-> スクリプト内の正しい API Namesタブ & 項目両方で使用しているか必ずご確認ください。

-> 意図した出力が得られているか確認するため、各変数ごとにlogs() または console.log()を追加し、動作をチェックすることをおすすめします。たとえば、'Messages'タブ(Client Script IDE内)で各logs() の出力を表示できます。console logs の表示方法は、'ブラウザページ上で右クリック >> 検証 >> Console'です。

-> 期待した機能が動作しない場合は、各出力やループを確認しながらスクリプトを検証し、あわせて各ZDK Client/CRM API メソッドの構文もサンプルヘルプドキュメントでクロス認証してください。

-> 関数スクリプト内で外部連携を利用している場合は、意図したAPI操作を実施するために必要なスコープが接続に追加されているかご確認ください。また、Client Script内のConnectionメソッドに渡す際は、外部連携のリンク名(例:crm_connection)を使用してください。

-> 一般的な運用として、使用中 US DC API エンドポイントを利用しています。もしCRMアカウントが別のDC(例:IN、EU、CA、AUなど)で運用されている場合は、ご利用のDCに応じたAPIエンドポイントURLを使用することを推奨します。

例:

Info各ZDKクライアント/CRM APIメソッドごとのサンプルスクリプト- ヘルプ参照
Notes
メモ: 以下のガイド記事を参照し、コード最適化のベストプラクティスZoho CRM全体でクライアントスクリプトを展開するさまざまな方法をご確認ください。



ご不明な点がございましたら、どうぞご遠慮なくパートナー-サポート@zohocorp.comまでご連絡ください。

Notes
また、Europeおよびイギリスのパートナーにつきましては、パートナー-サポート@eu.zohocorp.comまでご連絡いただきますようお願いいたします。