AWS connect: Add Live Sync navigation, input, and context documentation
Summary
Adds sections on navigation/input actions, custom action handlers, automatic frontend context, application setup, and manual Context API.
Security assessment
The change is primarily feature documentation for Live Sync, but it includes a setup step to configure required guardrails, which is a security hardening best practice. It does not address a specific vulnerability or incident.
Evidence
+ 5. Configure required guardrails.
Diff
diff --git a/connect/latest/adminguide/acxd-live-sync.md b/connect/latest/adminguide/acxd-live-sync.md index aec100fd6..e76694325 100644 --- a//connect/latest/adminguide/acxd-live-sync.md +++ b//connect/latest/adminguide/acxd-live-sync.md @@ -7 +7 @@ -ComponentsCreating a flowPromptToolsFlow toolsActionsPathsTouchpointContext API +ComponentsCreating a flowPromptToolsFlow toolsActionsNavigation actionsInput actionsRegister handlersAutomatic contextPathsSet up the applicationInvoke the applicationTouchpointManual Context API @@ -314,0 +315,190 @@ Use scope tags when different pages or UI states support different actions. +## Navigation actions + +Touchpoint can provide automatic handling for supported navigation and input actions. + +Navigation actions let the agent move the user through supported destinations in the digital experience. + +For example, the user might say "Go back." or "Take me to checkout." + +When the appropriate destination is available in the current frontend context, the Live Sync agent can send a navigation action and Touchpoint can perform the corresponding navigation. + +Custom navigation behavior can also be implemented when the frontend requires different routing logic. + +## Input actions + +Input actions allow Live Sync to update supported form controls. + +For example, the user might say "Change my checkout date to Friday." + +The Live Sync agent can identify the applicable field from the current frontend context and send an input action containing the new value. + +Touchpoint can apply the value to the matching form control and trigger the corresponding frontend input and change events. + +## Register custom action handlers + +Your frontend should register application-specific actions using the same action names configured on the Live Sync node. + +A custom action that does not need a returned value can simply execute its configured behavior: + + + setCustomLiveSyncActions([ + { + action: "disable_features", + handler: () => { + FEATURE_DEFS.forEach((f) => toggleFeature(f.id, false)); + }, + }, + ]); + +If a custom action returns a structured value, its handler can receive the value as a payload: + + + setCustomLiveSyncActions([ + { + action: "select_room", + handler: (payload) => { + selectRoomById(payload); + }, + }, + ]); + +For example: + + * Action: `select_room` + + * Payload: `2` + + * Frontend behavior: Select the room associated with ID 2. + + + + +Whether the handler needs a payload depends on the action. + +Custom action | Handler pattern | Use +---|---|--- +`disable_features` | `handler: () => { ... }` | The action itself determines what the frontend should do. +`open_help_modal` | `handler: () => { ... }` | No additional value is required. +`select_room` | `handler: (payload) => { ... }` | The frontend needs the selected room ID. +`apply_filter` | `handler: (payload) => { ... }` | The frontend needs the selected filter value. + +When an action includes an output schema, make sure the handler expects the corresponding value type. + +## Use automatic frontend context + +A Live Sync agent needs information about the current digital experience before it can reliably navigate, update fields, or trigger frontend actions. + +With the Touchpoint SDK, you can automatically gather this context and send it to the active Live Sync conversation. Automatic context is enabled by default. + +For supported web experiences, automatic context can include: + + * Current page or route + + * Supported form controls + + * Current field values + + * Available selections + + * Navigation destinations + + * Registered custom actions + + + + +This means most implementations do not need to manually construct and send Context API requests whenever the page changes. + +### Automatic form context + +For supported web experiences, Touchpoint can inspect common form controls including: + + * Text inputs + + * Text areas + + * Select menus + + * Checkboxes + + + + +Context can include information such as: + + * Accessible field name + + * Description + + * Input type + + * Current value + + * Placeholder + + * Available options + + + + +For example, suppose a checkout page contains: + + * Checkout date + + * Room type + + * Email address + + * Newsletter consent + + + + +The user can say "Change my checkout date to Friday and choose the Garden Suite." + +The Live Sync agent can use the current form context to determine which controls should change and send the appropriate input actions. + +Use meaningful labels, accessible names, descriptions, and option text to help Touchpoint represent frontend controls accurately. + +### Automatic navigation context + +For supported web experiences, Touchpoint can inspect available links and expose their accessible names as navigation destinations. + +For example, if the current page contains: + + * Rooms + + * Checkout + + * Spa + + + + +the user can say "Take me to checkout." + +The Live Sync agent can determine that Checkout is an available destination and send the appropriate navigation action. + +### Automatic context updates + +Touchpoint monitors the digital experience for relevant changes. + +Updated context can be sent when: + + * The user navigates + + * A form appears + + * Available options change + + * Page elements are added or removed + + * Registered custom actions change + + + + +Touchpoint compares newly gathered context with the previous context and updates the active Live Sync conversation when the relevant information changes. + +Automatic handling can be customized or disabled when an implementation requires more control. + @@ -355,0 +546,46 @@ A Goodbye exit condition might route to an Exit application node that says: +## Set up the application