# Troubleshooting

> A menu is missing, the widgets don't show, emails don't arrive, replies don't show in Messenger, HubSpot tickets.

## I can't see a menu or a button

What you can see and change depends on your role, user type and permissions.

- **A Settings page is greyed out.** Your role can't open it. Company settings, Team, Support settings, Email settings, API keys, Company metrics, Health score and Data export are for organization admins.
- **Buttons are missing on tickets or settings** (like **Create Ticket**, **Send reply**, **Add tag**). You need to be a **Full User** with the **Edit** permission. View-only users can look but not change.

Ask an organization admin to check your user under **Settings › Team**. See [Team and permissions](/settings/team/).

## Messenger or form doesn't show

When something is off, the widget shows nothing at all rather than an error on your page. Go through this list:

1. **The channel is on.** Settings › Support settings › Channels: the Messenger or Form card is switched on.
2. **Your sending domain is verified and the support address is set.** Without them the channel can't be on. Settings › Email settings.
3. **The right key is chosen.** On the Messenger or Form tab, under the key picker, a key is selected and it has the Messenger or Support form ability. The `data-key` in your page's code is that key (or the key it was rolled into — see [Roll a key](/settings/api-keys/#roll-a-key)).
4. **Your site is on the key's list, exactly.** Settings › API keys. `example.com` does not cover `www.example.com`; add `*.example.com` for subdomains. Check the address in the browser bar for `www.` and for a port. If the key shows *"Seen on sites not on the list"*, your page's site is probably there — click **Add**.
5. **The code is not inside an iframe.** In Bubble, turn **Display in iframe** off on the HTML element that holds the code. In Webflow, use an **Embed** element or the site's custom code.
6. **Your site's Content Security Policy allows the widget.** A strict policy blocks it silently. See [Content Security Policy](/developers/content-security-policy/).
7. **Wait a minute.** After you save settings or change a key's sites, your site can take up to a minute to catch up. Reload the page after that.
8. **Look at the browser console.** Open your browser's developer tools (Console and Network tabs) and reload. A blocked script, a refused request to `widget.customercatalyst.io`, or a Content Security Policy message tells you which step is missing.

For Messenger with **Only my own button**: there is no corner launcher by design. Check that your button has `data-ccm-open="new"` and is on a page that has the Messenger code.

For the form from your own button: check that `data-open` matches your button's id, with the `#`.

## Emails to the support address don't become tickets

- **Forwarding is verified.** Settings › Email settings › Support inbox shows **Forwarding verified**. If not, click **Verify forwarding**; see [Set up support email](/support/email-setup/#3-forward-your-support-mailbox).
- **Gmail asked for a confirmation.** It shows on the Email settings screen; click **Confirm in Gmail**.
- **Microsoft 365 blocks forwarding** to outside addresses by default. Your IT admin can allow it in the Microsoft 365 Defender outbound spam policy.
- **Some emails are skipped on purpose:** automatic replies (like out-of-office), bounces, and emails from your own support address.
- **Also using HubSpot?** If your support address sends to both HubSpot and CustomerCatalyst, each email becomes two tickets. Use one of them.

## A customer or visitor didn't get an email

- **Check the address.** Visitors type their email themselves; a typo means the email goes nowhere.
- **Spam folder.** Ask the visitor to look there.
- **Sending domain.** Settings › Email settings: both DNS records must still be verified. Without a verified domain, replies can't be sent.
- **Daily limits on confirmations.** The "we got your request" email is not sent after 3 messages from the same address in a day, or 200 for your organization in a day. The ticket is still opened, and Messenger then doesn't promise the visitor a copy.
- **Messenger replies.** Your reply on a Messenger ticket is only emailed if the visitor hasn't seen it in Messenger within the delay under [Ticket rules](/support/ticket-rules/#messenger-replies) (default 5 minutes). Under the reply, the ticket shows *"Seen in Messenger"* (no email needed) or *"Emails at …"*.

## Replies don't show in Messenger

- **Same browser.** Messenger shows only conversations started in the browser the visitor is using. On another device or browser — or after clearing browser data or clicking **Not you?** — the list is empty. The visitor still gets your replies by email.
- **Email replies show without text.** A message the visitor sent by email shows as *"Replied by email"* without its text. This is on purpose; see [What visitors see](/support/messenger/privacy/).
- **Internal notes never show.** Only replies do.
- **A closed ticket got a follow-up.** When the visitor writes on a closed ticket, a follow-up ticket opens and Messenger shows that one.
- **A merged ticket.** When a Messenger ticket is merged into another ticket, it disappears from the visitor's Messenger. Answer on the ticket it was merged into.
- **Give it a few seconds.** An open conversation checks for new replies every 10 seconds, the list every 30 seconds.

## HubSpot tickets

- **No reply box on a ticket.** Tickets synced from HubSpot are read-only here. Answer them in HubSpot; you can still add internal notes.
- **Changes from HubSpot don't show yet.** They come in with the next sync.

See [HubSpot](/integrations/hubspot/).

## Still stuck?

Email us at [support@customercatalyst.io](mailto:support@customercatalyst.io).
