How to Configure the Carousel Input Block in Chat Workflows
The Carousel Input block (Get Carousel Input) is a User Input block that allows users to select an option from a visually rich, horizontally scrollable carousel within a chat workflow. It provides an interactive way to present multiple choices using cards.
When to Use this Block
Use the Carousel Input Block (Get Carousel Input) when you need users to make a selection from multiple options in a visually engaging, card-based format.
The Carousel Input block is supported only in Live Chat source workflows.
Example scenarios include:
- Selecting subscription plans
- Choosing products or offers
- Picking service options or packages
Configuration Steps
1. Navigate to chat workflow
-
Go to Admin → Chat → Chat Automation → Workflows
-
Open or create a workflow
2. Add the Block
-
In the Workflow Designer, open the context menu and navigate to: User Inputs → Interactive Layout → Get Carousel Input
-
The block is added to the workflow.
3. Configure Block Settings
General Configuration
-
Block Name (optional)
Specify a clear name to identify the block within the workflow. -
Message (required)
Define the prompt displayed to users during workflow execution.
In the message editor, you can use placeholders to dynamically insert Agent, contact, or chat details into the message.Example:
“Welcome! 👋
Choose a service below to continue.”
Field Configurations
Define where the user input will be stored
You must define where the captured user input will be stored. The captured input can be stored in the following options:
-
Chat API Field
- Stores the selected value in a configured conversation (chat) field.
- Leave Use Temporary Fields disabled and select the required API Field Name.
- Use this option when the selected value needs to be persisted within the conversation and reused across workflow.
-
Temporary Field
- Stores the selected value in a temporary variable within the workflow.
- Enable Use Temporary Fields and provide a Temporary Field Name.
- Use this option when the value is only required within the current workflow scope.
The input can be stored in either a Chat API Field or a Temporary Field, not both.
Card Type
Define how carousel cards are configured and populated in the block.
Static Mode
Use Static mode when you want to manually configure a fixed set of cards directly within the block.
- Cards are created using the Add New Card Option.
- Each card includes:
- Image URL (required)
- Section Title (required)
- Description (optional)
- Primary Button (required)
- CTA Buttons (optional)
All card content is predefined and remains unchanged at runtime.
Dynamic Mode
Use Dynamic Mode when you want to generate cards at runtime using workflow data—such as data retrieved from a webhook or external API and stored in a Temporary Field.
How It Works
- Instead of entering fixed (static) values, you configure cards using keys.
- These keys correspond to fields inside a Temporary Field that contains a list (array) of objects.
- During execution, the system reads the Temporary Field and dynamically populates each card using the mapped keys.
Example: Using a Webhook API Response
Sample API Response
Imagine your webhook returns the following JSON response:
{
"services": [
{
"id": "201",
"name": "Car Wash",
"description": "Professional exterior and interior car cleaning",
"image": "https://example.com/images/car-wash.jpg"
},
{
"id": "202",
"name": "Oil Change Service",
"description": "Complete engine oil replacement and filter check",
"image": "https://example.com/images/oil-change.jpg"
},
{
"id": "203",
"name": "Tire Replacement",
"description": "High-quality tire fitting and balancing service",
"image": "https://example.com/images/tire-replacement.jpg"
}
]
}
Store the data in the temporary field using JSONata query like below:
Car_Service_Details: ${"value":id, "Label": name, "description": description, "name":name, "image":image}
Store Data in a Temporary Field
You map the Service array into a Temporary Field, for example:
- Temporary Field Name:
tf_Car_Service_Details
Configure Card Properties Using Keys
When setting up Dynamic Mode, you map card properties to object fields like this:
- Image URL → image
- Section Title → name
- Description → description
- Primary Button
- Label → Label
- Value → value
Runtime Rendering
At runtime:
- The system loops through tf_Car_Service_Details
- For each object, it creates a card:
- Card 1 → Uses data from first object (Car Wash)
- Card 2 → Uses data from second object (Oil Change Service)
- Card 3 → Uses data from third object (Tire Replacement)
This results in multiple service cards being automatically generated based on the API response.
For step-by-step guidance on mapping API responses to Temporary Fields, learn more about How to Map API Responses to Temporary Fields in BoldDesk Workflows.
Ensure all required card properties are correctly mapped to object fields in the data source. Missing or incorrect mappings will result in the corresponding card being skipped during rendering.
Configure Carousel Cards
Each card must include:
- Image URL
- Section Title
- Primary Button
- Label (for example, “Select”)
- Value (stored in target field)
Optional elements:
- Description
- Up to two CTA buttons (non-selection purposes)
Static and Dynamic Mode Validations
The following validations and constraints apply to card configuration in both Static and Dynamic modes:
- Only one card selection is allowed per interaction.
- CTA buttons (if configured):
- Open external links.
- Do not influence workflow progression.
- Static Mode
- You can configure up to 10 cards manually within the block.
- Dynamic Mode
- Cards are generated from a data source (Temporary Field list).
- Each object in the list is mapped to a corresponding card.
- The system renders cards dynamically based on the mapped data.
- If more than 10 objects are available, only the first 10 valid objects are rendered.
- Objects with missing or invalid mappings are excluded from rendering.
- If no valid data is available:
- The workflow will not proceed further. The current execution will be stopped immediately. An error will be logged for tracking in Workflow error logs.
Example Use Case 1. Static Mode
Service Selection Using Carousel
This use case demonstrates how the Get Carousel Input block can be used in Static Mode to allow users to select a predefined service category during a Live Chat interaction.
In this workflow example, the workflow is triggered when a Conversation Created event occurs through Live Chat. This ensures that every new conversation starts with a guided service selection experience.
Using Static Mode, the carousel items are configured directly within the workflow. Each carousel card represents a fixed service option, such as:
- IT Support
- HR Services
- Facility Support
- Learning & Development
Each card displays key service information and includes a Primary Button, such as Select. When the user clicks the Primary Button on a card, the selected value is captured by the Get Carousel Input block and stored in a temporary field, for example:
Service_Category
The stored value can then be used within the same workflow session to determine the next action.
How the Carousel Input Works in Live Chat
In this example, when a user starts a Live Chat conversation, the workflow displays a carousel containing predefined service categories such as IT Support, HR Services, Facility Support, and Learning & Development.
Each service is presented as an individual card with relevant information and a Select button. The user can browse through the available options and choose the service that best matches their request.
When the user clicks Select on a service card:
- The selected service category is captured by the Get Carousel Input block.
- The selected value is stored in the configured field, such as the temporary field
Service_Category. - The workflow uses the stored value to determine the next step in the conversation.
- The chat automatically progresses to the next workflow node, where service-specific actions, messages, or routing can be performed.
For example, if the user selects IT Support, the value IT Support is stored in the Service_Category field. The workflow can then use this value to display relevant options, collect additional information, or route the request to the appropriate support team.
Customer Experience
Once published, the configured Carousel Input card appears in chat.
Example Use Case 2. Dynamic Mode
Displaying API-Based Options Using a Dynamic Carousel
This use case explains how the Get Carousel Input block can be used in Dynamic Mode to display carousel cards from data returned by a webhook or API.
Dynamic Workflow Flow
A typical Dynamic Mode workflow can follow this structure:
-
Conversation Created event triggers the workflow.
-
A Webhook Trigger block calls an external API.
-
If the webhook call succeeds, the API response is stored to a Temporary Field.
-
The Get Carousel Input block uses the Temporary Field data to generate carousel cards.
-
The user selects one of the cards.
-
The selected value is stored in a Chat API Field or Temporary Field.
-
The workflow continues to the next step.
In dynamic scenarios, any objects with missing or invalid mappings are automatically skipped and are not included in the rendered carousel.
Frequently Asked Questions
-
Can users select more than one card?
No. The block supports single selection only. -
Where can I see the selected value after submission?
The value is stored in the configured Chat API Field or Temporary Field, which can then be mapped to chat fields or used in automation. -
Can CTA buttons trigger workflow actions?
No. CTA buttons only open links and do not influence workflow progression. -
Is there support for more than 10 carousel cards?
No. In BoldDesk, the number of carousel cards depends on the selected content mode:- Static Mode supports up to 10 cards per carousel, with each card created manually using the Add Card option.
- Dynamic Mode cards are generated from a data source at runtime. If more than 10 objects are available, only the first 10 valid objects are rendered as cards.