Chat Visualforce Components

Use Visualforce components to customize the appearance and behavior of chat windows.

The legacy chat product is scheduled for retirement on February 14, 2026, and is in maintenance mode until then. During this phase, you can continue to use chat, but we no longer recommend that you implement new chat channels. To avoid service interruptions to your customers, migrate to Messaging for In-App and Web before that date. Messaging offers many of the chat features that you love plus asynchronous conversations that can be picked back up at any time. Learn about chat retirement in Help.

Important

Chat includes the following customizable Visualforce components. These components are placed on your Visualforce form to make certain functionality available and to customize the appearance of the chat window.

Chat windows have various states to inform chat visitors of their chat’s progress. The following components let you customize how the chat window looks and behaves in these states to best help your visitors.

Component NameDescription
liveAgent:clientChatThe main parent element for any chat window. This element is necessary to do any additional customization of Chat. This component can only be used once in a Chat deployment.
liveAgent:clientChatAlertMessageThe area in a chat window that displays system alert messages (such as “You have been disconnected”).
liveAgent:clientChatMessagesThe area in a chat window that displays system status messages, such as “Chat session has been disconnected.” Must be used within liveAgent:clientChat. Each chat window can have only 1 message area.
liveAgent:clientChatStatusMessageThe area in a chat window that displays system status messages (such as “You are being reconnected”).
liveAgent:clientChatQueuePositionA text label indicating a visitor’s position in a queue for a chat session that’s initiated by a button that uses push routing. (This component has no effect on buttons that use pull routing.) Must be used within liveAgent:clientChat. For more information on this component, see the Using liveAgent:clientChatQueuePosition section.
liveAgent:clientChatCancelButtonThe button within a chat window when the chat is in a waiting state that allows the visitor to cancel the chat. Must be used within liveAgent:clientChat.
liveAgent:clientChatSaveButtonThe button in a chat window that a visitor clicks to save the chat transcript as a local file. Must be used within liveAgent:clientChat. Each chat window can have multiple save buttons.
liveAgent:clientChatEndButtonThe button within a chat window that a visitor clicks to end a chat session. Must be used within liveAgent:clientChat.
liveAgent:clientChatLogThe area in a chat window that displays the chat conversation to a visitor. Must be used within liveAgent:clientChat. Each chat window can have only 1 chat log.
liveAgent:clientChatInputThe text box in a chat window where a visitor types messages to a support agent. Must be used within liveAgent:clientChat. Each chat window can have only 1 input box.
liveAgent:clientChatSendButtonThe button in a chat window that a visitor clicks to send a chat message to an agent. Must be used within liveAgent:clientChat. Each chat window can have multiple send buttons.
liveAgent:clientChatLogAlertMessageThe area in a chat window that displays the idle time-out alert (customer warning) to a visitor.
liveAgent:clientChatFileTransferThe file upload area in a chat window where a visitor can send a file to an agent. Must be used within liveAgent:clientChat.

For more information about each of these components, see the Visualforce Component Guide.

Using liveAgent:clientChatQueuePosition 

The liveAgent:clientChatQueuePosition component shows where in the chat queue a visitor is. In order for a chat to enter the queue:

  • The button from which the chat was requested must have queuing enabled.
  • All online agents (with the relevant skills, if applicable) must be at capacity, causing a queue to form.
  • The chat must be in the queue and not yet assigned to an agent.

If all three of these conditions aren’t met, liveAgent:clientChatQueuePosition doesn’t display a value.