---
paths:
- "**/*.tsx"
- "**/components/**/*.ts"
---
# Agentforce Conversation Client (standards)
When adding or editing the embedded Agentforce chat client in this project, follow these conventions.
## Component and library
- Use the shared **AgentforceConversationClient** React component from `@salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental`. Do not call `embedAgentforceClient` directly in application code.
- Install with `npm install @salesforce/webapp-template-feature-react-agentforce-conversation-client-experimental`. The underlying SDK (`@salesforce/agentforce-conversation-client`) is included automatically as a dependency.
## Authentication
- The component resolves auth automatically: **localhost** fetches `frontdoorUrl` from `/__lo/frontdoor`; **production** uses `window.location.origin` as `salesforceOrigin`.
- Do not hard-code `salesforceOrigin` or `frontdoorUrl` unless the consumer explicitly provides them as props.
## Rendering mode
- Pass `agentforceClientConfig.renderingConfig.mode` to select **floating** (default) or **inline**. Do not apply custom positioning CSS to override the built-in layout.
- For inline mode, set `width` and `height` in `renderingConfig`. Do not override iframe dimensions with external CSS.
## Agent selection
- Use `agentforceClientConfig.agentId` to select a specific agent. Ask the user for the agent ID; if not provided, note that the org's default agent is used.
## Placement
- Render `` inside the existing app layout (e.g. alongside ``). Do not replace the entire page shell with the chat client.