# Rubens Products

- [Overview](https://docs.roomle.com/rubens/rubens-products/overview.md)
- [Architectural overview](https://docs.roomle.com/rubens/rubens-products/architectural-overview.md)
- [Rubens Products vs. Rubens SDK](https://docs.roomle.com/rubens/rubens-products/rubens-products-vs.-rubens-sdk.md)
- [Rubens 3D Viewer & AR](https://docs.roomle.com/rubens/rubens-products/rubens-3d-viewer-and-ar.md)
- [Getting started](https://docs.roomle.com/rubens/rubens-products/rubens-3d-viewer-and-ar/getting-started.md)
- [Rubens Configurator](https://docs.roomle.com/rubens/rubens-products/rubens-configurator.md)
- [Getting started](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/getting-started.md)
- [Integration](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration.md)
- [Setup the configurator](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/setup-the-configurator.md): On this page you will learn how to set up a basic version of our Ruben Configurator which you can then customise, listen to events or call API functions.
- [Listen to events](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/listen-to-events.md)
- [Request a product](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/listen-to-events/request-a-product.md)
- [Parts list changes](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/listen-to-events/parts-list-changes.md)
- [Analytic events](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/listen-to-events/analytic-events.md)
- [Button clicks](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/listen-to-events/button-clicks.md)
- [Trigger API functions](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/call-3d-scene-functions.md)
- [Implement custom buttons](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/call-3d-scene-functions/trigger-request-product-button.md)
- [How to use prices in Rubens Configurator?](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/how-to-use-prices-in-room-designer.md)
- [Use the parts list for calculating prices](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/how-to-use-prices-in-room-designer/use-the-parts-list-for-calculating-prices.md)
- [Use Rubens Price Service](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/how-to-use-prices-in-room-designer/use-rubens-price-service.md)
- [Use your own backend for calculating prices](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/how-to-use-prices-in-room-designer/use-own-backend-for-calculating-prices.md)
- [Analytics Event](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/analytics-event.md)
- [Rubens Configurator + Google Analytics (GDPR)](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/analytics-event/rubens-configurator-+-google-analytics-gdpr.md)
- [Customise shareable links](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/customise-shareable-links.md)
- [Handle CORS](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/integration/handle-cors.md)
- [Customisation](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation.md)
- [Hide Bottom Bar](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/hide-bottom-bar.md)
- [Custom parts list print](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/custom-parts-list-print.md)
- [Enable / Disable buttons](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/enable-disable-buttons.md)
- [Override labels](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/override-labels.md)
- [Skinning options](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/skinning-options.md)
- [Colors](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/skinning-options/colors.md)
- [Font](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/skinning-options/font.md)
- [Localization](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/localization.md)
- [Change floor material](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/change-floor-material.md)
- [Highlighting in the configurator](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/customisation/highlighting-in-the-configurator.md)
- [Recipes](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/recipes.md)
- [Implement custom AR button](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/recipes/implement-custom-ar-button.md): This document describes how to integrate a custom button into your application to display Roomle product configurations in Augmented Reality (AR) on mobile devices.
- [Add product variants](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/recipes/add-product-variants.md)
- [Parameter outside of the configurator](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/recipes/parameter-outside-of-the-configurator.md): Parameter implementation outside of the configurator iFrame
- [Load different products into the configurator](https://docs.roomle.com/rubens/rubens-products/rubens-configurator/recipes/load-different-products-into-the-configurator.md)
- [Rubens Room Designer](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer.md)
- [Getting started](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/getting-started.md): The Room designer allows you to configure not only one object but several objects in relation to each other within rooms. Also, the rooms can be configured within the Room Designer.
- [Integration](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration.md)
- [Setup Room Designer](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/setup-room-designer.md)
- [Listen to events](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/listen-to-events.md)
- [onSavePlan](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/listen-to-events/onsaveplan.md)
- [Call 3D Scene functions](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/call-3d-scene-functions.md)
- [Trigger request plan button](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/call-3d-scene-functions/trigger-request-plan-button.md)
- [How to use prices in Room Designer?](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/how-to-use-prices-in-room-designer.md)
- [Use Rubens Price Service](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/how-to-use-prices-in-room-designer/use-rubens-price-service.md)
- [Use your own backend for calculating prices](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/how-to-use-prices-in-room-designer/use-your-own-backend-for-calculating-prices.md)
- [Handle CORS](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/integration/handle-cors.md)
- [Customisation](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation.md)
- [Hide Bottom Bar](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/hide-bottom-bar.md)
- [Enable / Disable buttons](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/enable-disable-buttons.md)
- [Override labels](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/override-labels.md)
- [Skinning options](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/skinning-options.md)
- [Colors](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/skinning-options/colors.md)
- [Font](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/skinning-options/font.md)
- [Add products from an external catalog](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/add-products-from-an-external-catalog.md)
- [Add custom overlays (advanced)](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/custom-overlay.md)
- [Localization](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/customisation/localization.md)
- [Recipes](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/recipes.md)
- [Load different plans into the scene](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/recipes/load-different-plans-into-the-scene.md)
- [Adding items to the scene](https://docs.roomle.com/rubens/rubens-products/rubens-room-designer/recipes/adding-items-to-the-scene.md)
- [Rubens Products Reference](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference.md)
- [Classes](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes.md)
- [ExposedAnalyticsCallbacks.ExposedAnalyticsCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_analytics_callbacks.exposedanalyticscallbacks.md)
- [ExposedApi.ExposedApi](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api.exposedapi.md)
- [ExposedApi.Internal.Connector](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.connector.md)
- [ExposedApi.Internal.ExposedApiDragGhost](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.exposedapidragghost.md)
- [ExposedApi.Internal.ExposedApiDragHandler](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.exposedapidraghandler.md)
- [ExposedApi.Internal.Libs](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.libs.md)
- [ExposedApi.Internal.MessageHandler](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.messagehandler.md)
- [ExposedApi.Internal.RoomleSdkWrapper](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.roomlesdkwrapper.md)
- [ExposedApi.Internal.SdkConnector](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnector.md)
- [ExposedApi.Internal.SdkConnectorConfigurator](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorconfigurator.md)
- [ExposedApi.Internal.SdkConnectorPlanner](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorplanner.md)
- [ExposedApi.Internal.SdkConnectorViewer](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.sdkconnectorviewer.md)
- [ExposedApi.Internal.UiCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.uicallbacks.md)
- [ExposedApi.Internal.default-1](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default-1.md)
- [ExposedApi.Internal.default-2](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default-2.md)
- [ExposedApi.Internal.default](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_api._internal_.default.md)
- [ExposedCallbacks.ExposedCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/exposed_callbacks.exposedcallbacks.md)
- [RoomleConfiguratorApi.default](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/classes/roomle_configurator_api.default.md)
- [Enums](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums.md)
- [ExposedApi.Internal.BUTTONACTIONS](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.button_actions.md)
- [ExposedApi.Internal.GACATEGORY](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.ga_category.md)
- [ExposedApi.Internal.GACUSTOM](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.ga_custom.md)
- [ExposedApi.Internal.SDKMODULES](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/exposed_api._internal_.sdk_modules.md)
- [Types.UIBUTTON](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/types.ui_button.md)
- [Types.UIELEMENTS](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/enums/types.ui_elements.md)
- [Interfaces](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces.md)
- [ExposedApi.Internal.Analytics](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.analytics.md)
- [ExposedApi.Internal.CollectionViewComponentIcon](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.collectionviewcomponenticon.md)
- [ExposedApi.Internal.CollectionViewElement](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.collectionviewelement.md)
- [ExposedApi.Internal.CollectionViewState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.collectionviewstate.md)
- [ExposedApi.Internal.CoreData](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.coredata.md)
- [ExposedApi.Internal.CoreState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.corestate.md)
- [ExposedApi.Internal.DragGhostOptions](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.dragghostoptions.md)
- [ExposedApi.Internal.DragInOptions](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.draginoptions.md)
- [ExposedApi.Internal.DragInSettings](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.draginsettings.md)
- [ExposedApi.Internal.EmbeddingCommand](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.embeddingcommand.md)
- [ExposedApi.Internal.EmbeddingResponse](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.embeddingresponse.md)
- [ExposedApi.Internal.GridViewElement](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.gridviewelement.md)
- [ExposedApi.Internal.GridViewUiState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.gridviewuistate.md)
- [ExposedApi.Internal.GridViewVariantElement](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.gridviewvariantelement.md)
- [ExposedApi.Internal.IncomingMessageBus](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.incomingmessagebus.md)
- [ExposedApi.Internal.KernelBoundsFormatted](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.kernelboundsformatted.md)
- [ExposedApi.Internal.OutgoingMessageBus](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.outgoingmessagebus.md)
- [ExposedApi.Internal.OverlayState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.overlaystate.md)
- [ExposedApi.Internal.ParameterGroup](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.parametergroup.md)
- [ExposedApi.Internal.PartlistResponse](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.partlistresponse.md)
- [ExposedApi.Internal.PlannerCoreData](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.plannercoredata.md)
- [ExposedApi.Internal.PlannerUiState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.planneruistate.md)
- [ExposedApi.Internal.PointRect](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.pointrect.md)
- [ExposedApi.Internal.SampleRoom](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.sampleroom.md)
- [ExposedApi.Internal.SceneSelection](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.sceneselection.md)
- [ExposedApi.Internal.SharedUiState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.shareduistate.md)
- [ExposedApi.Internal.StoreState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.storestate.md)
- [ExposedApi.Internal.TabCategory](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.tabcategory.md)
- [ExposedApi.Internal.Translator](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.translator.md)
- [ExposedApi.Internal.UiLabels](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.uilabels.md)
- [ExposedApi.Internal.UiPossibleChildTagWithKey](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.uipossiblechildtagwithkey.md)
- [ExposedApi.Internal.UiState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.uistate.md)
- [ExposedApi.Internal.WrapLines](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_api._internal_.wraplines.md)
- [ExposedCallbacks.Labels](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_callbacks.labels.md)
- [ExposedCallbacks.Price](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_callbacks.price.md)
- [ExposedCallbacks.Internal.SaveDraftPayload](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/exposed_callbacks._internal_.savedraftpayload.md)
- [RoomleConfiguratorApi.RoomleEmbeddingApiKeys](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/roomle_configurator_api.roomleembeddingapikeys.md)
- [Types.ConfiguratorSettings](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.configuratorsettings.md)
- [Types.CustomViewSettingsForIframe](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.customviewsettingsforiframe.md)
- [Types.CustomViewSettingsForOverlay](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.customviewsettingsforoverlay.md)
- [Types.CustomViews](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.customviews.md)
- [Types.CustomViewsCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.customviewscallbacks.md)
- [Types.EmbeddingSkin](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.embeddingskin.md)
- [Types.HelpCenterSetting](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.helpcentersetting.md)
- [Types.ThumbnailsSettings](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.thumbnailssettings.md)
- [Types.UiInitData](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uiinitdata.md)
- [Types.UiState](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.uistate.md)
- [Types.VariantsMap](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types.variantsmap.md)
- [Types.Internal.CustomTutorialTranslation](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types._internal_.customtutorialtranslation.md)
- [Types.Internal.CustomViewSettingsBase](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types._internal_.customviewsettingsbase.md)
- [Types.Internal.PartlistPrintPayload](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types._internal_.partlistprintpayload.md)
- [Types.Internal.SidebarEventTypes](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types._internal_.sidebareventtypes.md)
- [Types.Internal.UiFeatureFlags](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/interfaces/types._internal_.uifeatureflags.md)
- [Modules](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules.md)
- [ExposedAnalyticsCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_analytics_callbacks.md)
- [ExposedApi.Internal](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api._internal_.md)
- [ExposedApi](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_api.md)
- [ExposedCallbacks.Internal](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_callbacks._internal_.md)
- [ExposedCallbacks](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/exposed_callbacks.md)
- [RoomleConfiguratorApi](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/roomle_configurator_api.md)
- [Types.Internal](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/types._internal_.md)
- [Types](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/modules/types.md)
- [Translate-labels](https://docs.roomle.com/rubens/rubens-products/rubens-products-reference/translate-labels.md): It's possible to change certain labels for certain languages in the UI.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roomle.com/rubens/rubens-products.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
