The Intershop PWA provides an integration with the Copilot Embedded to add an AI product advisor, an agent that recommends products through a chat.
Unlike the Intershop Copilot for Buyers, which embeds a pre-built chat UI, the PWA owns the whole Copilot Embedded UI and all REST interaction with the underlying Flowise chatflow.
Note
Copilot Embedded is an experimental feature. Its functionality and configuration can change in future releases.
Important
Before enabling the Copilot Embedded feature, review its data flows and applicable privacy requirements for your deployment.
Inform users about chat data stored in the browser and sent to the configured Flowise chatflow.
Provide any privacy notice or consent mechanism required for your deployment.
Enable the copilotEmbedded feature toggle and provide the Flowise connection details.
The copilotEmbedded configuration is required whenever the feature toggle is enabled.
Example via environment.ts file:
features: ['copilotEmbedded'],
copilotEmbedded: {
chatflowid: 'xxxx-xxxx-xxxx-xxxx-xxxx',
apiHost: 'https://<FLOWISE-API-HOST>',
},Example via docker-compose.yml configuration:
pwa:
environment:
FEATURES: |
- copilotEmbedded
COPILOT_EMBEDDED: |
chatflowid: "xxxx-xxxx-xxxx-xxxx-xxxx"
apiHost: "https://<FLOWISE-API-HOST>"chatflowid - the project-specific Flowise chatflow ID.apiHost - the URL to the project-specific Flowise API host.Optionally, you can add the following values to the configuration:
streaming - forces the response mode.true always streams the answer, false always waits for the complete answer.chatflowConfig - additional chatflow variables that are sent with every request, provided as vars object.The Copilot Embedded is reachable at /copilot.
The header link and the page title use the localization key copilot.embedded.link.
Note
The texts of the chat page, e.g., the starter prompts, are demo content of the Intershop B2B demo shop.
Adapt the copilot.embedded.* localizations to the project's catalog and chatflow.
The PWA sends the following variables with every request (overrideConfig.vars):
restEndpoint - ICM REST endpoint including the current channel context.currentLocale - current PWA locale, e.g., en_US.user_token - ICM access token of the current user, so the chatflow can call ICM on behalf of the user.Important
The ICM tools of the chatflow use their own ICM configuration, which is independent of the PWA.
Make sure that the PWA and the chatflow use the same ICM host and the same site (channel).
Otherwise, the chatflow recommends products that the PWA cannot load, and basket actions fail.
Additionally, the PWA appends the current context to each question, because Flowise does not resolve runtime variables inside the prompt:
[CURRENT_BASKET]=[{"sku":"1234","quantity":2}]
[ORDER_TEMPLATES]=[{"id":"abc","title":"My List"}]
[SHOWN_PRODUCTS]=[{"sku":"201807204","title":"Microsoft Surface Laptop"}]
The chatflow prompt can use these markers, e.g., to add products to the basket or to an existing order template without calling ICM first.
[SHOWN_PRODUCTS] lists the products of the results panel in display order, so the chatflow can resolve references such as "add the first one".
Image uploads require a chatflow with image uploads enabled on a vision-capable chat model.
The chat history is stored in the browser's localStorage for one day by default, configurable via dataRetention.copilotEmbedded with the same values as for the other features (lifetime in minutes, 'session', or 'forever').
It is stored separately for each baseHref of a multi-site configuration, so switching to a language or channel with a different baseHref starts a new conversation, and switching back restores the previous one.
The Start a new conversation button deletes the stored chat history of the current baseHref, while the logout deletes it for all baseHrefs.
The Copilot Embedded handles the same PWA tool calls as the Intershop Copilot for Buyers, see handleToolCall Actions.
The handlers are implemented in the copilot-embedded-tool-call.service.ts.
Unlike the Intershop Copilot for Buyers, the Copilot Embedded checks the feature toggles that some tool calls depend on.
If a feature is disabled, e.g., order templates in a B2C shop, the tool call is ignored instead of leading to an error page:
compare - required for the PWA_compare_products tool.orderTemplates - required for the PWA_order_template_actions tool and for navigating to the order template pages via PWA_navigate_to_page.Additionally, the Copilot Embedded supports the PWA_ask_choice tool, which renders predefined answers as clickable choices.
The tool accepts the following input parameters:
question - optional question the choices refer to.options - pipe-separated list of answers, e.g., In the office|Hybrid|Mobile.multiSelect - if true, the user can select multiple options, which are sent as a comma-separated answer.The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Website, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.