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 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 Deskでの関数の作成

                                  関数とは、システムにおいて行う処理を独自に設定して実行できるようにする機能のことです。現行の機能では行えないタスクを行えるように設定することができます。たとえば、Zoho CRMにおける顧客ごとの売上見込みに基づいて、顧客の問い合わせに優先順位を付けるとします。しかし、このような機能はZoho Deskにはありません。そこで、関数を使用します。 必要な権限 この機能を利用するには、 システム管理者の権限が必要です。 各プランの機能と制限を確認する 関数とは ...
                                • Zoho Deskでのカスタム関数の使用

                                  カスタム関数は、独自の処理を実行する内容を記述したもので、サポート関連のデータの処理や他の外部アプリケーションでのデータの更新等に役立ちます。データがワークフローの条件に一致した際に、カスタム関数を自動で実行でき、データを更新することが可能です。カスタム関数では、Delugeスクリプト(Zoho Creatorの機能)を使用して独自のスクリプトを記述し、ワークフローのルールに関連付けて、自社用の処理を自動化できます(関連項目:Delugeスクリプト - ガイド)。 利用例 Zoho ...
                                • Webhookブロックにおける外部連携の設定

                                  ボットの会話フローにおいて、Webhookを通じて外部アプリ/システムのデータを取得、更新する際に、外部アプリ/システムと連携する必要があります。このような場合に、Webhookブロックの外部連携が役立ちます。 外部連携を設定することで、対象の外部アプリ/システムとの連携を安全に行うことが可能です。以下では、外部連携の概要や設定方法について説明します。 参考情報:自動ガイドボットのWebhookブロックの概要 外部連携とは ...
                                • 新しいカスタム関数の作成

                                  Deluge(デリュージ)とは、Data Enriched Language for the Universal Grid Environmentの略語で、Zohoサービスと連携したオンラインのスクリプト言語です。このスクリプトを使用すると、さまざまな種類のロジックや処理をカスタム関数に追加できます。保存してあるデータの値を関数の中で利用することも可能です(関連項目:Delugeスクリプト - ガイド)。 対象者 ワークフローの自動化ルールを設定するヘルプデスク管理者 ...
                                • ギャラリーのカスタム関数

                                  ギャラリーから利用可能なカスタム関数Zoho Deskのカスタム関数のギャラリーでは、あらかじめ用意されている以下のカスタム関数の中から必要なカスタム関数を選択して利用できます。 新しい問い合わせに対してタスク(期限3日間)を作成 Zoho Deskでの取引先の新規追加や変更をZoho CRMに更新 Zoho Deskでの新しい問い合わせに対してZoho CRMの連絡先を作成 Zoho Deskでの新しい問い合わせに対してZoho CRMの取引先を作成 タブから別のタブに項目値をコピー 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.