Carousel module¶
The Carousel module lets your bot present information in a scrollable card layout. Carousels are commonly used to display products, services, or options in a visually engaging way. Each card can include a title, description, image, and buttons.
Manual Mode¶
- Add cards one by one inside the editor.
-
Each card can include:
-
Title + Description
- Image and Image URL (opened after click on image)
-
Multiple Buttons
- URL buttons – open a link
- Action buttons – behave like buttons in normal chat messages (continue dialog flow)

Dynamic Mode¶
Instead of creating each card manually, it is possible to generate them from a JSON array stored in any $context variable.
- Each object in the JSON = one card in the carousel.
- Card components (title, description, image, link) can be mapped to JSON keys.
- Use template syntax:
{{ title }},{{ description }}, etc.
Example JSON
Dynamic carousel usage steps:¶
- Store your JSON in a
$contextvariable (e.g.$cwProducts). - In the JSON with carousel data section, choose the
$context. - Map JSON keys to carousel components (title, description…) using
{{ }}placeholders (e.g.,{{ prodName }}).

Custom HTML Mode¶
For advanced customization, switch from Basic content to HTML content (contact support if you cannot see this option in your Carousel module). This unlocks a full HTML editor where you can define your own card template.
This allows you to:
- Match your brand’s CSS styles
- Add custom actions (e.g., “Add to cart” button)
- Build completely unique layouts

Best practice¶
When to use which mode:
- Manual → Small, fixed sets of cards (like FAQs or top 3 links).
- Dynamic → Larger, data-driven carousels (e.g. product lists, search results).
- Custom HTML → When you need full control of style and functionality.