ZohoCRMカスタム関数でちょっぴり幸せになろう


こんにちは、まめぞうです。
今回はZohoCRMのカスタム関数でちょっぴり幸せになろうということで、カスタム関数を使って自動化して幸せになろうぜという話です。

普段からZohoCRMを使っているけれど、なんかイマイチ使いこなせていないなぁという方は必見です!

カスタム関数とは

Excelのマクロみたいな感じ。プログラムを書いて、データの更新や外部との連携など自動化できる優れものです。
ワークフローに紐付けたり、商談プロセスを自動化できます。

どういったときに使えるの?

  • 粗利や売上の自動計算
  • 発注書から見積書や請求書を作成
  • 条件に合わせて項目を自動で更新またはメール送信
  • 住所の自動変換
  • タスクの自動生成やアラート関連

モノは使いようです。設定によっては化けます。

チャレンジした方が良い人

  • 商談の金額計算ロジックが複雑で手計算している人。
  • CRMなどでデータが滅茶苦茶になってしまった人。
  • 手動でやってるけど「これ簡単に自動化できるやろ」と日々ストレスが溜まっている人。

注意点

カスタム関数は万能ではありません。特徴として、トランザクション処理に特化しており、集計などの大量のデータを扱う処理は苦手です。

実際にやってみよう(住所変換機能)

では、郵便番号を入力して、住所を番地まで記載するカスタム関数を実装してみましょう。
今回はボタンとして「見込み客タブ」に作成します。
1. ボタンの作成へ移動する
設定→カスタマイズのタブ&項目→見込み客→リンクとボタン→新しいボタン
2. ボタンの作成
ボタンの名前を入れ、「ページの編集」へ配置、ユーザーがクリックした時「関数の作成」を選択
3. 引数設定
LeadId : int(見込み客のID)
ZipCode : string(郵便番号)
4. 以下コードをコピペ

StreetAdressSync.dg
zipRes = getUrl("http://zipcloud.ibsnet.co.jp/api/search?zipcode=" + ZipCode);
prefecture = zipRes.executeXPath("/root/results/address1/text()");
city = zipRes.executeXPath("/root/results/address2/text()");
street = zipRes.executeXPath("/root/results/address3/text()");
mp = Map();
mp.put("State",prefecture);
mp.put("City",city);
mp.put("Street",street);
resp = zoho.crm.updateRecord("Leads",LeadId,mp);
return "住所を自動入力しました。";

見込み客のAPI名によって異なってくるのですが、デフォルトだと上のままで大丈夫です。
また、今回郵便番号から住所情報を取得するために外部のAPIを使用しています。
・郵便番号検索API
http://zipcloud.ibsnet.co.jp/doc/api

いかがでしたでしょうか。
他にも以下サイトを参考に是非カスタム関数でちょっぴり幸せになってくださいね。

その他参考できる記事
・ワークフロールールでのカスタム関数の関連付け | オンラインヘルプ - Zoho CRM
https://www.zoho.com/jp/crm/help/automation/custom-functions.html

・カスタム関数の実装例
https://www.zoho.com/jp/crm/help/automation/custom-function-examples.html