ガイド:カスタム関数のZoho CRMの展開方法とコード最適化のベストプラクティスを学ぶ

ガイド:カスタム関数のZoho CRMの展開方法とコード最適化のベストプラクティスを学ぶ

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

本記事では、Zoho CRMの『カスタム関数』機能について解説し、ユーザーがZoho CRM組織内のさまざまな場所でこれらのスクリプトを活用するための詳細なガイドを提供します。

カスタム関数

Zoho CRMのカスタム関数は、ユーザーが定義したスクリプトであり、特定の業務プロセスを自動化し、初期設定や標準機能を超えたZoho CRMの機能拡張を実現します。たとえばデータの作成・更新、カスタム通知の送信、他アプリケーションとの連携などに対応します。これらの関数は、ワークフールール、Blueprints、スケジューラー、ボタンなどの処理によって実行されます。カスタム関数を活用することで、CRMを独自の組織ニーズに合わせて最適化し、業務効率を向上させることができます。

例:
1. リードから受信メールを受信した際に、ワークフールールを設定し、カスタム関数を利用してイベント(動的な情報付き)を自動作成します。
2. 高額な商談が作成された際に、タスクを自動で作成できます。
3. 商談が特定のステージ(例:商談成立)に到達した時点で、すべての添付ドキュメントを自動で送信します。
4. Zoho CRMでリードが作成または更新された際に、外部システムへデータを送信します。

Zoho CRMでカスタム関数を展開する

カスタム関数の作成とさまざまなCRM機能への展開を一元管理できるセクション

Zoho CRMには、ユーザーがカスタム関数を作成し、複数のCRM機能で活用できる統合セクションがあります。
下記のカテゴリーで関数を作成できます:Button
  1. 自動化
  2. スケジュール
  3. 関連リスト
  4. スタンドアロン
  5. シグナル
  6. 入力規則
操作手順:Zoho CRMの設定(⚙️)> Developer Hub > Functions > My Functions > 新規Function を開きます。

Function 名前-> スクリプトの用途に応じて名前を入力してください。
Display-> 関数を識別するための名前を、関連付け/関数リスト表示時に入力してください。
説明-> スクリプトの用途に関する概要を入力してください。
カテゴリー-> 関数を関連付ける必要があるCRM機能(上記参照)を選択してください。



概要 Recordings: Zoho CRM全体でカスタム関数を作成する手順

「Developer Hub >> Functions」からカスタム関数を作成するには-> スクリーンキャスト

各種CRM自動化機能からカスタム関数を作成し、項目マッピングを引数として指定する方法:

ワークフロー Ruleでカスタム関数を利用 -> スクリーンキャスト
Blueprintでカスタム関数を利用 -> スクリーンキャスト
カスタム 関連リストをFunctionで利用 -> スクリーンキャスト
承認プロセスでカスタム関数を利用 -> スクリーンキャスト
スケジュールでカスタム関数を利用 -> スクリーンキャスト
ボタンでカスタム関数を利用 -> スクリーンキャスト
シグナルでカスタム関数を利用 -> スクリーンキャスト
入力規則でカスタム関数を利用 -> スクリーンキャスト   
カスタム関数をKioskで利用 -> スクリーンキャスト

Alert
機能が任意のタブに存在する項目に基づく情報の取得を必要とし、その項目をスクリプトの引数として直接追加したい場合は、必須CRM自動化機能(例:ワークフロー操作、Blueprint操作など)から直接関数を作成し、特定のタブから項目を引数として関連付けることを推奨します。

TIPS: カスタム関数のコード最適化方法

Zoho CRMのカスタム関数を扱う際、コードを最適化して記述することは、スムーズな実行と潜在的なエラーの防止に不可欠です。これによりパフォーマンスや保守性も向上し、不要なAPI通話を減らし、最適なロジックによる構造的なコードが実現します。

以下は、コードを効果的に最適化するためのベストプラクティスおよびヒントです。
  1. 不要なループを避ける:

-> スクリプト内でループ(for each{} など)を使用する場合、ループに入る前にデータをフィルターするようにしてください。また、'For Loop'内にIF条件を追加して、ループ内でデータをフィルターすることも可能です。さらに、ループの代わりにスクリプト内で可能な限り組み込みのList/Mapメソッドを利用することを推奨します。
  1. API通話の最小化

-> ユーザーがDelugeスクリプト内でZoho API(例:getRecords、insert、更新するなど)を利用すると、認証済みユーザーのアカウントから情報を取得するためにサーバーへ通話が発生し、API貸方を消費します。API通話の過剰利用(またはループ内での繰り返しAPI通話)は、許容範囲を超える可能性があります。

-> Bulk CRM APIsを使用すると、一件ずつAPI通話を行う代わりに、一括処理(例:一括読み込み・一括書き込み)が可能です。
  1. 変数の使用と本番環境でのログ出力

-> スクリプト作成時に、ユーザーは各変数へinfo() ログを追加して、Zoho CRM IDE内のコンソールセクションで出力を確認し、機能が正しく動作しているかをチェックできます。コードのテストが完了した後は、削除またはコメントアウトして、出力ログや未使用の変数を整理することを推奨します。これにより、スクリプトが見やすくなり、今後のデバッグも容易になります。つまり、デバッグ目的の場合のみ条件付きロギングを使用してください。

-> 定義する意味のある変数名を必ず使用してください。変数名は格納するデータや用途を明確に反映させると、スクリプトの可読性が向上し、デバッグや共同作業も大幅にしやすくなります。

例:
      // ❌ 推奨されません
  1. x = input.取得する('Account_Name');
  2. ar = Zoho.crm.getRecordbyID('連絡先', contactID);
      // ✅ 推奨
  1. accountName = input.取得する('Account_Name');
  2. 連絡先 = Zoho.crm.getRecordbyID('連絡先', contactID);
  1. Try-Catch ブロックの使用

-> try-catch ブロックを活用し、例外を適切に処理しましょう。ただし、頻繁に折れ線グラフ全体をtryで囲まないよう注意してください。発生したエラーの内容が正確に特定できるよう、必須のエラーメッセージをログに記録してください。コードの折れ線グラフに関する問題追跡に役立ちます。構文やサンプルコードについては、以下のヘルプリンクを参照してください。
  1. 文字列と日付の処理を最適化する

-> Deluge の組み込み受注データを[パッケージ]データに変換する際は、カスタムロジックの代わりに toDate()、toString()、dateDiff()、toText() などのメソッドを活用してください。詳細はDeluge 組み込みメソッドをご参照ください。
  1. ifNull() を使用してエラーを防止

> Deluge 関数で 取得する()メソッドを使う際、エラー(「取得する値が null です」など)が出て実行が停止しないよう、ifNull()条件支払明細を活用することを推奨します。関数を自動化(例:ワークフロー ルール)に関連付けている場合、同様のエラーが発生すると該当データの関数実行が停止します。詳細な ifNull 支払明細についてはヘルプリンクをご覧ください。
  1. Function ログ - 完了または失敗

-> カスタム関数には「失敗」セクションがあり、自動化機能(例:ワークフールール、Blueprintなど)にデプロイした後に発生する可能性のあるエラーを特定できます。このセクションには、関数名、項目(つまりデータ)、失敗理由、正確な失敗時刻とともにすべての関数が一覧表示されます。統合された失敗セクションにより、ユーザーはコード内の正確な問題を特定し、必要な調整を行うことができます。

ナビゲート:Zoho CRM の設定(⚙️)>> Developer Hub >> Functions >> 失敗

-> カスタム関数が自動化機能に関連付けられている場合、ユーザーは特定の作成した関数に対してすべての実行結果の完了ログも確認できます( My Functions >> 3点リーダー >> ログで確認可能)。この機能は、ワークフールール経由でCRMデータに関数が実行されたものの、意図した処理や更新がデータに反映されなかった場合にも役立ちます。そのような場合、ユーザーはZoho CRM内の関数ログから出力(infoログ)や実行時のエラーを確認できます。

Alert支払明細の実行や実行時間の制限に関連する問題を回避するため、必ずOptimised コードを使用してください。詳細についてはDelugeの制限事項をご参照ください。
Infoカスタム関数の実行中に発生する可能性のあるヘルプリンクをご覧いただき、Common Deluge エラーメッセージについてご確認ください。



ご不明点がございましたら、どうぞご遠慮なくパートナー-サポート@zohocorp.comまでご連絡ください。
Notesまた、ヨーロッパおよびイギリスのパートナーの皆様はパートナー-サポート@eu.zohocorp.comまでご連絡いただきますようお願いいたします。

    Zoho CRM 管理者向けトレーニング

    「導入したばかりで基本操作や設定に不安がある」、「短期間で集中的に運用開始できる状態にしたい」、「運用を開始しているが再度学び直したい」 といった課題を抱えられているユーザーさまに向けた少人数制のオンライントレーニングです。

    日々の営業活動を効率的に管理し、導入効果を高めるための方法を学びましょう。

    Zoho CRM Training



              Zoho Campaigns Resources

                Zoho WorkDrive Resources




                  • Desk Community Learning Series


                  • Digest


                  • Functions


                  • Meetups


                  • Kbase


                  • Resources


                  • Glossary


                  • Desk Marketplace


                  • MVP Corner


                  • Word of the Day


                  • Ask the Experts









                                  • Related Articles

                                  • Zoho CRMにおけるユーザー間のレコード共有の仕組み:トラブルシューティングガイド

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 シナリオ Zoho CRM では、多くの組織が階層構造を採用しており、管理者はレポート先ユーザーから上司のデータへのアクセスを制限することを好みます。しかし、特定の状況では、上司のデータが部下から見える場合があります。 ...
                                  • ZohoパートナーのためのZoho CRMの遅延とパフォーマンス問題のトラブルシューティングガイド

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 Zohoでは、Zoho ...
                                  • スローダウンとパフォーマンス問題のトラブルシューティング:Zohoパートナーのためのガイド

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 認識向上とパフォーマンス改善:協働的アプローチ Zoho サービスをグローバルに展開している顧客、パートナー、社内チームなどのユーザーに対し、高速かつ快適な利用環境を提供することが私たちの目標です。これは最優先事項です。 また、Zoho ...
                                  • ガイド:Zoho CRMでクライアントスクリプトを展開する方法とコード最適化のベストプラクティス

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 この記事では、Zoho CRMの『Client ScriptClient Script Client Scriptは、サーバーではなくWebブラウザ上で直接実行されるJavaScriptコードで、即時に応答が返されます。Zoho ...
                                  • Zoho Delugeを使用したZoho CRMのメールテンプレート送信

                                    お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。 概要: Zoho CRMでは、ユーザーが複数の受信者に標準化されたメッセージを送信するためのメールテンプレートを作成できます。場合によっては、ユーザーがDelugeを使用してカスタム関数経由でこれらのテンプレートを送信したいことがあります。本ガイドでは、Delugeを利用してZoho ...

                                  Resources

                                  Videos

                                  Watch comprehensive videos on features and other important topics that will help you master Zoho CRM.



                                  eBooks

                                  Download free eBooks and access a range of topics to get deeper insight on successfully using Zoho CRM.



                                  Webinars

                                  Sign up for our webinars and learn the Zoho CRM basics, from customization to sales force automation and more.



                                  CRM Tips

                                  Make the most of Zoho CRM with these useful tips.