Multi-step responses

reference australia Updated Sep 10, 2026 1 min read ccci-multi-step-responses.md
Raw file servicenow.com

An example of multi-step response is a set of images in a carousel or a date control.

Multipart Control richControl has the following attributes, which can be used to transform control.

  • content: Rich Control which must be presented in current step.
  • navigationBtnLabel: Label for "next" or "more" button for user to click to move to next step.

Example:

YAML
{        uiType: "MultiPartOutput",        group: "DefaultMultiPartOutput",        navigationBtnLabel: "Go next",        content: {                uiType: "OutputHtml",                style: "inline",                type: "html",                height: 100,                width: 100,                value: "<div>html</div>"        }}

Outbound transformation script

JavaScript
(function execute(inputs, outputs) {
    try{      var richControl = inputs.rich_control;      var payload = inputs.payload;        var content = richControl.content;      var navigationBtnLabel = richControl.navigationBtnLabel;      var uiType = content.uiType;      var partResult = null;        switch (uiType) {        case "OutputText":          partResult = sn_fd.FlowAPI.executeActionQuick('example_default_text_outbound_transformer', {              rich_control : content,              payload : payload            });          break;        case "OutputLink":          partResult = sn_fd.FlowAPI.executeActionQuick('example_default_output_link_outbound_transformer', {              rich_control : content,              payload : payload            });          break;        case "OutputImage":          partResult = sn_fd.FlowAPI.executeActionQuick('example_default_image_outbound_transformer', {              rich_control : content,              payload : payload            });          break;        case "OutputHtml":          partResult = sn_fd.FlowAPI.executeActionQuick('example_default_html_outbound_transformer', {              rich_control : content,              payload : payload            });          break;        default:          break;      }      partResult =  partResult + addButtonMore(navigationBtnLabel)      outputs.result = JSON.stringify(outActivity);    }    catch(e){      gs.error("Error in default multipart outbound transformer : " + e.message);      throw e;     }    })(inputs, outputs);

Inbound transformation script

JavaScript
  (function execute(inputs, outputs) {    try {      var requestContext = inputs.request_context;      var typedValue = requestContext.typed_value;      outputs.result = typedValue;    } catch(e) {       gs.error("Error in default multipart inbound transformer : " + e.message);       throw e;     }  })(inputs, outputs);

Parent Topic:Supported Virtual Agent and Agent Chat features for custom chat integrations

Search documentation
Search document titles and file paths on the australia branch