Send typing indicators to live chat conversations through the GHL MCP server. This tool powers real-time chat widget experiences by showing contacts that an agent is actively composing a response. Typing indicators create a more natural, responsive feel for website visitors using the GHL chat widget, reducing abandonment during wait times.
Prerequisites
Before sending typing indicators, confirm the following:
- A GoHighLevel sub-account with the live chat widget installed on your website
- A Private Integration Token (PIT) with the
conversationsscope enabled - An active live chat conversation with a website visitor
- The conversation ID for the chat thread you want to target
The live chat widget must be configured and embedded on your site. Navigate to Sites > Chat Widget in GHL to verify the widget is active. If no chat widget is set up, typing indicators have no visual target and will not produce visible results.
Set Up Authentication
Generate a PIT from Settings > Integrations > Private Integrations in your sub-account. Click Create New, name it “MCP Live Chat,” and enable the conversations scope. Copy the token and store it securely.
Include these headers on every request: Authorization: Bearer YOUR_PIT_TOKEN, Content-Type: application/json, and Version: 2021-07-28. The typing endpoint uses the same authentication as all other conversation endpoints.
Make Your First Call
Send a typing indicator using POST /conversations/messages/typing with the following body:
conversationId— the ID of the active live chat conversationlocationId— your GHL location ID
When this call succeeds, the chat widget on the visitor’s browser displays a typing animation (typically three bouncing dots) indicating that an agent is composing a message. The indicator disappears automatically after a short timeout if no follow-up message or additional typing call is sent.
For a realistic typing experience, send the typing indicator immediately before you begin composing a response. If your integration takes a few seconds to process and generate a reply, fire the typing call first so the visitor sees activity while your system prepares the message.
You can pair this endpoint with SMS Operations or Conversation CRUD to build a complete automated chat responder: detect a new inbound message, send a typing indicator, process the response, then send the reply.
Handle the Response
A successful call returns a confirmation object with a success field set to true. There is no complex payload to parse since the endpoint’s purpose is purely to trigger a visual indicator on the client side.
If the call fails, common causes include:
- Invalid conversation ID: The conversation does not exist or is not a live chat channel. Typing indicators only work on live chat conversations, not SMS or email threads.
- Conversation closed: If the chat session has ended, the indicator cannot be delivered to the visitor.
- Missing location ID: The
locationIdfield is required and must match the location that owns the conversation.
The typing indicator is ephemeral. It does not create a message record and does not appear in conversation history. It is a real-time signal only.
Test Your Setup
Validate the typing indicator end-to-end:
- Open your website with the GHL chat widget in a browser
- Start a live chat conversation by sending a message through the widget
- Find the conversation ID in the GHL inbox or via Conversation CRUD search
- Call
POST /conversations/messages/typingwith the conversation ID and location ID - Watch the chat widget in the browser for the typing animation to appear
- Send a follow-up message to confirm the full chat interaction flow works
See the full Live Chat and Typing guide for patterns like bot-assisted chat flows and typing delay strategies. For uploading files during a chat session, use Attachment Handler.