Carousel and cards
result_transform chooses how mapped items appear in the widget. All layouts use the same field mapping — only presentation differs.
Layouts
Section titled “Layouts”| Layout | Visitor experience | Best for |
|---|---|---|
| carousel | Horizontal swipe, one card prominent | 3–12 visual offers (rooms, products) |
| grid | Multi-column tile view | Dense catalogs on wide screens |
| list | Vertical stack, compact rows | Search results, many SKUs |
| single | One large card | Featured offer or confirmation |
Set layout in your transform config. See Transform reference.
Shared transform steps
Section titled “Shared transform steps”- items_path — JSON path to the array (e.g.
data.offers). - card type — product or media.
- Field mapping — title, image, price, link, etc.
- sort_by — optional ordering (e.g. price ascending).
- actions — button labels wired to URLs or follow-up intents.
Example — carousel
Section titled “Example — carousel”| Setting | Value |
|---|---|
| items_path | data.offers |
| layout | carousel |
| card type | media |
| sort_by | totalGrossAmount.amount:asc |
| actions | ”Book This Room”, “More Details” |
Full walkthrough: Room offer carousel quickstart.
Trust reminder
Section titled “Trust reminder”Layouts render only after a successful tool call. See Trust policy.