My visitor can't see the agent's replies. What's wrong?
Almost always, the site's domain is not on the instance's allowed-domains list. When that happens, the widget can send a message but is blocked from reading anything back, so the visitor sees their own message and never the replies, and the conversation looks blank if they refresh. Add the site's domain to the instance's domains field and it starts working. Everything else on this page is a rarer cause.
The usual cause: the domain is not allowed
Each instance has an allowed-domains list. It protects your key, but it also governs whether the widget can read replies. If a visitor's site is not on the list, sending works but reading is blocked, which looks exactly like "the agent never replies".
To fix it:
- In codus, open the chats tab and click ▶ instances.
- Expand the instance and find the domains field.
- Add the domain your site is served from, for example
app.example.com. You can use a wildcard like*.example.comto cover subdomains. Separate several with commas. - Click away from the field to save.
Two useful details:
- An empty domains list means any domain is allowed. That is handy while testing, but worth locking down before launch.
localhostis always allowed, so testing on your own machine works even with a domains list set. That is why a chat can work in your own testing but fail once it is live on a real domain that you forgot to add.
Check someone is actually answering
If the domain is definitely allowed and replies still are not coming:
- Is codus open and signed in? While your desktop is online, it answers and lets you reply. If it is closed, answers come from the cloud instead, which needs a support brief. See Who answers my visitors when codus is closed?.
- Is there a support brief? With codus closed and no fresh brief, the cloud parks the conversation and the visitor sees "the team has been notified" rather than a real answer. Generate one from the instance card.
- Is the conversation waiting? A conversation shown as waiting in your chats tab is held for a person. Open it and reply to pick it up.
A slow reply is not the same as no reply
Replies normally appear within a second or two thanks to a live update channel. Some websites have strict security rules that block that channel. When that happens the widget quietly falls back to checking for new messages every couple of seconds instead, so replies still arrive, a touch slower. A blocked live channel is not a cause of replies never appearing; that is the domains list.
How do I know it worked?
Open your live site (not localhost), send a test message through the bubble, and reply to it from the chats tab in codus. The reply should appear in the widget within a couple of seconds, and still be there if you refresh the page.
Common problems
It works on localhost but not on the live site. The live domain is not on the allowed list. localhost is always allowed, which masks the problem during testing. Add the real domain to the instance's domains field.
The visitor sees their own messages but nothing back, and a refresh shows an empty chat. This is the classic sign of the domain being blocked from reading. Add the domain as above.
Replies appear in codus but not in the widget. Same cause: the widget on that domain cannot read back. Fix the domains list.