Symptoms and fixes for the things that come up most often.
Widget doesn't appear
Symptoms: No floating button on your site. No console errors.
Check:
- API key is correct. It must start with
pk_live_(orck_live_legacy).sk_live_keys are rejected on widget routes. - Script loaded (script tag users). In the Network tab, look for
conclude-widget.js. Confirm it's a 200 response. - Provider mounted (React SDK). The
ConcludeProvidermust be in the rendered tree. If it's inside a conditionally-rendered branch, that branch needs to be active. - Widget config exists. The widget fetches its config on load. If the API key resolves to a board with
enabled: false, the button is hidden.
If everything above checks out, see CSP errors below.
CSP errors
Symptoms: Console says "Refused to connect to 'https://www.conclude.fyi/...'". Network tab shows net::ERR_BLOCKED_BY_CSP.
Fix: Add the required CSP directives. At minimum:
connect-src 'self' https://www.conclude.fyi
img-src 'self' https://www.conclude.fyi blob: data:
Recording mode also needs media-src. Script tag users also need script-src and frame-src. Full list in Content Security Policy.
Screenshots are blank or missing
Symptoms: Screenshot button works but the saved screenshot is blank, or the attachment is missing in the dashboard.
Causes:
- Cross-origin iframes in your page —
html2canvas(React SDK) cannot render inside cross-origin iframes. The widget falls back to capturing what it can. - CSP
img-srcmissingblob:ordata:— screenshot data URLs are blocked. - Network upload failed — check Network tab for the upload request. If it's a 5xx, retry.
Recording fails to start
Symptoms: Click record, nothing happens, or error "Permission denied" in console.
Causes:
- The user denied screen-share permission. Browsers don't expose a way to detect this — you'll see no recording attached.
- Browser doesn't support
getDisplayMedia. Recording requires Chromium-based browsers, Firefox, or Safari 14+. Older Safari and mobile Safari don't support it. - You're on the Starter plan — recording is Pro+.
Linear sync isn't working
Symptoms: Status changes in Linear don't reflect in Conclude (or vice-versa).
Check:
- Plan — bi-directional sync requires Pro or Team. Starter plan is link-only.
- Linear team is in the connected list. The OAuth app only sees teams you've explicitly added.
- OAuth connection is alive. From Integrations, the Linear card should not show "Reconnect". If it does, click it to re-auth.
- Webhook deliveries. For some events, Conclude relies on Linear's webhooks. Look in Settings → Webhooks log for failed deliveries.
Customers aren't getting ship notifications
Symptoms: You marked a roadmap item as Shipped, expected emails to fire, none arrived.
Check:
- Customers identified themselves. Notifications only go to submitters who provided an email address. Anonymous submitters aren't reachable.
- The card had linked feedback. Notifications fire to voters on the linked feedback items, not to all your users.
- Customer hasn't unsubscribed. Each email has an unsubscribe link.
- Job is still running. The notification job runs in the background. For large voter lists it may take a minute or two to drain.
Theme detection seems wrong
Symptoms: Themes don't reflect what your customers are saying, or you see noisy clusters.
Fix:
- Re-detect. Themes are batch on-demand. If you added a lot of feedback recently, click Re-detect themes to refresh.
- Edit names and descriptions. AI-generated names are good but not perfect. Edit them.
- Mark themes as Actioned when you've shipped fixes. Stale themes muddy the page.
Insights aren't generating
Symptoms: No insights on the Insights page despite plenty of feedback.
Check:
- Plan — insights are Pro+. Starter sees neither themes nor insights.
- Recency — insights run on a recurring schedule. New workspaces may not have insights for the first few days.
- Data volume — insights need enough feedback for patterns to emerge. With <20 items, the pipeline often returns empty.
"AI credits exhausted" warning
Symptoms: Banner says you've hit your monthly credit limit.
Fix:
- Feedback collection keeps working. Enrichment degrades gracefully (basic categorisation, no embedding).
- Theme detection and insight generation pause until credits reset on the 1st.
- Upgrade your plan to get more credits, or wait for the next month.
Public board returns 404
Symptoms: Sharing the public board URL gives a 404.
Check:
- Public visibility is on. Product Settings → Board must have public visibility enabled.
- Subdomain and slug are correct. URL pattern is
https://[workspace-subdomain].conclude.fyi/[product-slug]. - You haven't recently changed the slug. Slug changes break old links — check current value in product settings.
I changed my workspace subdomain and now nothing works
The subdomain is part of every public URL. Changing it breaks:
- Public board URLs.
- Public roadmap URLs.
- Public KB URLs.
- Widget configurations that reference the workspace by subdomain.
If you must change the subdomain, treat it like a domain migration: update every external reference and notify customers who had bookmarked links.
Still stuck?
Email support@conclude.fyi with:
- A short description of the problem.
- Your workspace subdomain and product slug.
- Browser console output and Network tab screenshots if relevant.
- A reproducible URL or steps if possible.
We respond within one business day.