---
title: Multi-step responses
description: An example of multi-step response is a set of images in a carousel or a date control.
locale: en-US
canonical_url: https://www.servicenow.com/docs/r/australia/conversational-interfaces/virtual-agent/ccci-multi-step-responses.html
release: australia
product: Virtual Agent
classification: virtual-agent
topic_type: reference
last_updated: "2026-03-12"
reading_time_minutes: 1
breadcrumb: [Supported features for custom chat integrations, Conversational custom chat integrations, Integrate VA with other channels, Virtual Agent, Conversational Interfaces]
---
# Multi-step responses
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:
```
{
uiType: "MultiPartOutput",
group: "DefaultMultiPartOutput",
navigationBtnLabel: "Go next",
content: {
uiType: "OutputHtml",
style: "inline",
type: "html",
height: 100,
width: 100,
value: "
html
"
}
}
```
## Outbound transformation script
```
(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
```
(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](https://raw.githubusercontent.com/ServiceNow/ServiceNowDocs/australia/markdown/australia/conversational-interfaces/virtual-agent/va-features-custom-chat-integrations.md)