Webhookブロックのフォーマッター(Deluge)

Webhookブロックのフォーマッター(Deluge)


APIによる出力データは、チャットの利用者にとってわかりにくい場合があります。このような場合に、Webhookブロックのフォーマッターが役立ちます。フォーマッターでは、Delugeスクリプトを通じてAPIによる出力データの形式を整えることができます。
 
たとえば、APIによって出力される日時の値が「2025-06-02T10:45:00Z」の場合に、値が「2 June 2025, 10:45 AM」となるように形式を変更することが可能です。また、APIによって出力される問い合わせの情報が「ticket_subject and ticket_id」の場合に、「問い合わせ#2034 - 支払いに失敗しました」となるように変更できます。



フォーマッターとは

フォーマッターとは、自動ガイドボットのWebhookブロックの機能のひとつです。APIによって出力されたデータを、チャット欄に表示する前に形式を整えることができます。
フォーマッターを通じて行える内容は、以下のとおりです。
  1. 項目名を変更し、値をわかりやすく表示できます
  2. 日時の値の形式を変更できます
  3. 複数の項目の値を統合できます
  4. JSONの複雑な階層の値から、特定の値を抽出できます
  5. リスト内において繰り返しの処理を行い、要約を作成したり、値をわかりやすくしたりできます
 これらの設定は、Delugeを通じて行います。簡単な操作でAPIの設定を行うことが可能です。 
 


フォーマッターのメリット  

フォーマッターを使用することで、APIによって出力されるデータの値を整理できます。
フォーマッターの主なメリットは、以下のとおりです。
  1. チャットの利用者に対して、APIの出力データをわかりやすい値に変換して表示できます
  2. 「ticket_id」や「cust_name」などの値を、他の値に変換できます
  3. チャットの表現や形式に合わせて出力値を変更できます
  4. 必要な情報のみをチャット欄に表示できます
  5. 自動ガイドボットの会話フローにおいて、他のWebhookブロックと組み合わせて使用できます 
 フォーマッターを使用することで、APIの出力データをよりわかりやすくなるように他の値に変換し、チャット欄に表示することが可能です。 
 

使用例   

日時の形式の変更

APIのレスポンス

 { 
   "order_date": "2025-06-02T10:45:00Z" 
 } 

変更後の値:2 June 2025, 10:45 AM

フォーマッターのコード

 formatted_date = order_date.toDateTime("yyyy-MM-dd'T'HH:mm:ss'Z'").toString("d MMMM yyyy, h:mm a"); 
 return {"formatted_date": formatted_date};   

ボットのレスポンス

注文日は、2 June 2025, 10:45 AMです。

この出力値を、次のブロックで使用できます。Info(情報)は、デバッグにのみ使用されます。文字列の出力値は、リストに入れられて処理されます。データ構造をより明確にするには、マップ形式で出力することをお勧めします。  
項目名の変更

APIのレスポンス

 { 
   "cust_name": "Talaash Thedal" 
 }  

変更後の値:"顧客名":"Talaash Thedal"
 

フォーマッターのコード

 customer_name = cust_name; 
 return {"customer_name": customer_name}; 

ボットのレスポンス

顧客名: Talaash Thedal
 
フォーマッターを通じて項目の名前を変更しても、他のブロックの変数名には影響ありません。会話フローにおいて、Webhookに関連付けられている変数のみが直接参照されます。 
項目の値の統合

APIのレスポンス

 { 
   "ticket_id": "2034", 
   "ticket_subject": "Payment failed" 
 } 

変更後の値:問い合わせ#2034 - 支払いに失敗しました

 

フォーマッターのコード 

 issue_summary = "Issue #" + ticket_id + " - " + ticket_subject; 
 return {"issue_summary": issue_summary}; 

  

ボットのレスポンス

問い合わせ#2034 - 支払いに失敗しました

値の抽出

APIのレスポンス 

 { 
   "user": { 
     "details": { 
       "contact": { 
         "email": "aarav@example.com
       } 
     } 
   } 
 } 

変更後の値:ユーザーのメールアドレスのみ

 

フォーマッターのコード

 email_id = user.get("details").get("contact").get("email"); 
 return {"email_id": email_id}; 

ボットのレスポンス

連絡先のメールアドレス:taro.kawane@example.com

配列のデータの抽出

APIのレスポンス 

 { 
   "recent_orders": [ 
     { "order_id": "123", "status": "Delivered" }, 
     { "order_id": "124", "status": "Processing" } 
   ] 
 } 

変更後の値:

  • 注文#123 - 配送済み

  • 注文#124 - 処理中

 

フォーマッターのコード

 orders = recent_orders; 
 summary = ""; 
 for each order in orders 
 { 
   summary += "Order #" + order.get("order_id") + " - " + order.get("status") + "\n"; 
 } 
 return {"order_summary": summary};   
 

ボットのレスポンス

  • 注文#123 - 配送済み

  • 注文#124 - 処理中

   

JSONの複雑な階層の値から特定の値を抽出   

APIによって複数の部門が出力されるのに対して、標準の部門のみを表示したいとします。

JSONの複雑な階層の値から特定の値を抽出
JSONの複雑な階層の値から特定の値を抽出
APIによって複数の部門が出力されるのに対して、標準の部門のみを表示したいとします。
 
APIのレスポンス
 { 
   "data": [ 
     { 
       "name": "Support", 
       "isDefault": false 
     }, 
     { 
       "name": "Sales", 
       "isDefault": true 
     } 
   ] 
 } 

変更後の値:標準の部門のみ("isDefault": trueとなっている部門のみ)

フォーマッターのコード
 // 値のないコレクションを作成し、条件に一致する部門を保存します 

 result = Collection();   
 // APIの出力データから、すべての部門のリストを取得します 
 allDepartments = response.get("data");   
 // リスト内の各部門を確認します 
  

 

     // 該当の部門が標準の部門か確認します 
     isDefault = department.get("isDefault");   
     // 標準の部門の場合、結果のコレクションに追加します 
     if(isDefault == true) 
     { 
         result.insert(department); 
     } 
 }  
 
 // 標準の部門の最後のリストを出力します 
 return result; 

ボットのレスポンス
標準の部門:営業

出力値を次のブロックで使用し、特定の項目の値を抽出することが可能です。
 

使用に関するヒント


  1. 対象のデータに関して、APIのJSONのレスポンスの構造を確認することをお勧めします。
  2. コードのエラーを解決したり、値のプレビューを表示したりする際には、Delugeの情報をご確認ください。
  3. Webhookブロックの直後でフォーマッターを使用することで、次のブロックで出力値を使用できます。
  4. フォーマッターを使用するにあたって、条件と変数を組み合わせることで、より動的な値を出力できます。







              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 Deskの機能を拡張し、複雑な処理に対応できます。要件に応じた独自の処理を自動化し、業務に合わせた処理を実装できます。たとえば、Zoho CRMの販売情報をもとに問い合わせの優先度を設定する場合は、カスタム関数で処理を作成し、問い合わせを更新できます。 カスタム関数は、Zoho独自のスクリプト言語であるDelugeを使用して作成します。特別なツールや設備を用意する必要はありません。Zoho Desk内で作成可能であるため、複雑な業務処理も簡単に自動化できます。 ...
                                  • Zoho Deskでのスケジュール処理の作成と管理

                                    スケジュール処理は、日時を指定して実行できる自動化処理です。特定の日時に、または指定した間隔でカスタム関数の処理を実行するように設定することができます。定期業務を自動化し、手作業を減らすのに役立ちます。たとえば、毎週月曜の朝にフォローアップ用の問い合わせを作成したり、サポート担当者に定例会議の通知を送信したりできます。 また、次の処理を実行することも可能です。 営業終了時に未割り当ての問い合わせを特定の担当者に自動で割り当てる。 ...
                                  • 外部連携の設定

                                    外部連携機能を利用すると、Zoho Deskと外部のクラウドサービスを連携し、安全にデータのやりとりを行うことができます。外部連携を設定するには、外部連携名や認証の種類などの詳細情報を入力する必要があります。 外部連携を利用する理由 Zoho Deskには、さまざまな外部サービスとの連携機能が用意されています。しかし、中にはZoho Deskと直接連携できない外部サービスもあります。このような場合に外部連携機能を利用することで、Zoho ...
                                  • Zoho DeskとQntrlの連携

                                    Qntrlとは、組織の業務プロセスの効率化を図るのに役立つサービスです。業務プロセスの自動化、他のユーザーとの共同作業、進捗状況の確認など、業務プロセスの効率化に役立つさまざまな機能が用意されています。Zoho Deskでは、Qntrlを連携することができます。複数の部門やチーム間において共同作業を円滑に行うことが可能です。 たとえば、飛行機や宿泊施設の予約などの出張に関する申請をZoho ...
                                  • Zoho DeskのMicrosoft Azure DevOps拡張機能

                                    Microsoft Azure DevOpsは、ソフトウェア開発プロジェクトを管理するためのクラウドサービスです。利用することで、チームでは、計画、開発、テスト、本番環境への展開といった一連のプロセスをスムーズに進めることができます。ソフトウェア開発に関わる各チームでは、互いに業務システムや業務プロセスが異なることも少なくありません。Azure DevOpsを利用すると、Azureボード内でチーム同士が効率的に連携し、共同作業を行うことが可能です。 Zoho DeskのAzure ...

                                  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.