Overview

Carousels allow you to display multiple rich cards in a swipeable horizontal list. This format is ideal for showcasing multiple products, options, or articles in a single message. Each card in a carousel functions as a standalone vertical rich card.

Carousel example image:

Carousel example

JSON Template Properties

Property Name Description Type Required
type Must be set to "carousel". String Y
style.size Determines the width of the cards in the carousel. Can be small or medium. String N
elements An array of vertical container elements. Each element in this array represents a separate rich card within the carousel. Array Y
elements[i].type Must be set to "vertical". String Y
elements[i].tag Must be set to "generic". String Y
elements[i].elements An array containing the components of the individual rich card: image, text (title/subtitle), and button. For supported click actions (e.g., publishText, link, navigate) in buttons, refer to the Suggested Actions Template and Quick Replies Template. Array Y
{
    "type": "carousel",
    "style": {
        "size": "medium"
    },
    "elements": [
        {
            "type": "vertical",
            "tag": "generic",
            "elements": [
                {
                    "type": "image",
                    "url": "https://i.pinimg.com/736x/a0/67/5e/a0675e5161d7ae5be2550987f397a641--flower-shops-paper-flowers.jpg",
                    "tooltip": "Resturant image",
                    "style": {
                        "size": "medium"
                    }
                },
                {
                    "type": "text",
                    "tag": "title",
                    "text": "Your reservation at The French Laundry",
                    "tooltip": "Title"
                },
                {
                    "type": "text",
                    "tag": "subtitle",
                    "text": "We're springing for joy that you'll be dining with us on Saturday, June 18th at 7:30pm. Please let us know if you have any dietary restrictions.",
                    "tooltip": "subtitle"
                },
                {
                    "type": "button",
                    "tooltip": "Publish text example",
                    "title": "Publish text example",
                    "click": {
                        "actions": [
                            {
                                "type": "publishText",
                                "text": "Published text button tap"
                            }
                        ]
                    }
                },
                {
                    "type": "button",
                    "tooltip": "Our Menu",
                    "title": "Our Menu",
                    "click": {
                        "actions": [
                            {
                                "type": "link",
                                "uri": "https://www.liveperson.com",
                                "target": "blank"
                            }
                        ]
                    }
                },
                {
                    "type": "button",
                    "tooltip": "Open this link",
                    "title": "French laundry Location",
                    "click": {
                        "actions": [
                            {
                                "type": "navigate",
                                "la": 51.503399,
                                "lo": -0.119519
                            }
                        ]
                    }
                },
                {
                    "type": "button",
                    "tooltip": "Call us",
                    "title": "Call us",
                    "click": {
                        "actions": [
                            {
                                "type": "link",
                                "uri": "tel:+13125551234"
                            }
                        ]
                    }
                }
            ]
        },
        {
            "type": "vertical",
            "tag": "generic",
            "elements": [
                {
                    "type": "image",
                    "url": "https://i.pinimg.com/736x/a0/67/5e/a0675e5161d7ae5be2550987f397a641--flower-shops-paper-flowers.jpg",
                    "tooltip": "Resturant image",
                    "style": {
                        "size": "medium"
                    }
                },
                {
                    "type": "text",
                    "tag": "title",
                    "text": "Your reservation at The French Laundry",
                    "tooltip": "Title"
                },
                {
                    "type": "text",
                    "tag": "subtitle",
                    "text": "We're springing for joy that you'll be dining with us on Saturday, June 18th at 7:30pm. Please let us know if you have any dietary restrictions.",
                    "tooltip": "subtitle"
                },
                {
                    "type": "button",
                    "tooltip": "Publish text example",
                    "title": "Publish text example",
                    "click": {
                        "actions": [
                            {
                                "type": "publishText",
                                "text": "Published text button tap"
                            }
                        ]
                    }
                }
            ]
        }
    ]
}

Limitations

  • A carousel must contain a minimum of 2 cards and a maximum of 10 cards.
  • All cards within the carousel share the same limitations as standard rich cards:
    • Title text can contain up to 200 characters.
    • Subtitle (description) text can contain up to 2000 characters.
    • Button title text can contain up to 25 characters.
    • A maximum of 4 buttons/suggestions can be added per card.