Did you know that Widgets/Form Controllers have pending and callback actions?

Did you know that Widgets/Form Controllers have pending and callback actions?

Greetings from Zoho SalesIQ!
As you all know Zoho SalesIQ now has features like stand-alone Widgets and Form Controllers. Widgets allow you to bring custom data from multiple services and display them in the chat window. Form Controllers can be used as a part of a widget's action response and allow you to collect multiple structured data as inputs to perform a particular action. Both these features have a pending action that is generally used when time is needed to complete a specific action inside the Widget or Form Controller and this post will focus on telling you about this action. 

Let's consider a real-time example. 
Say we have an operator who opens a widget in the chat window and clicks a button in the widget - which when clicked upon will send backup data to the customer. This action doesn't reflect immediately in the widget. Let's say that it ideally takes up to a minute to collect the data, send it to the customer and reflect in the widget. In the meantime, we will define this action as pending (the button has been clicked and the process has been scheduled) while in the server, the backup data will be collected and an email to the customer will be sent. Once the email is sent, using a callback API, this information is sent to the widget and the widget will be updated. This action is available in the following return types:


Feature
Handler
Return Types
API Format
Widgets

  1. banner
  2. sections_edit
  3. widget_modification

Where request_id is the ID available in the request parameter of each widget execution.
Form Controllers
  1. banner
  2. sections_edit
  3. widget_modification

Where request_id is the ID available in the request parameter of each widget execution.

  • To perform the action, the pending parameter has to be set as true in the response and then the contents of the widget/form controller can be modified later from the external server using callback APIs.
  • The pending action is valid for 3 minutes. ie, the callback API for a particular pending action should be invoked within 3 minutes.

Example Script:
{
"type":"banner",
"pending":true,
"status":"success",
"text":"text to be shown in a banner",
"refresh_section" : true
}