Visibility
| Symptom | Likely cause | Fix it |
|---|---|---|
| No results appear after setup | No platform is enabled, no prompts are configured, brands or tracked URLs are missing, or the first run hasn’t finished. | Check your Visibility setup |
| A page AI platforms cite isn’t counted as yours | Its domain or URL isn’t in the brand’s tracked URLs, or it’s assigned to the wrong brand. | Add or reassign the URL |
| Mention counts look too low or too high | Brand terms are missing common variations, or a term is too generic. | Review your brand terms |
| Presence is lower than you expect | Tracked URLs or brand terms are incomplete, or the date or platform filter is too narrow. | Review runs and filters |
AI Traffic
| Symptom | Likely cause | Fix it |
|---|---|---|
| AI Traffic cards show no number | No sensor is connected yet. | Connect a sensor |
| The Cloudflare source shows Cloudflare needs reconnecting | Cloudflare rejected the API token. Syncing is paused for every hostname on it. | Update the API token |
| The Cloudflare sensor shows Cloudflare sync needs attention | The token’s permission, the zone ID, the proxy setting or the connection has changed. | Check the connection |
| The Edge middleware row still reads Installation has not been confirmed. | DevTune hasn’t accepted an event yet: the key or project ID isn’t set where you deployed, or collection is switched off. | Check the middleware |
| A linked Vercel project stays Not seen yet | A mistyped ID, a project ID mismatch, collection switched off, or the wrong Vercel environment. | Check the link |
| The Tracking snippet row stays Configured | The snippet isn’t on the page, the key doesn’t match, an ad blocker drops the request, or collection is switched off. | Check the snippet |
| Ad blockers drop snippet requests | The snippet sends to a third-party address. | Proxy the snippet through your domain |
| A test request with a crawler user agent doesn’t appear in the verified totals | It didn’t come from the AI platform’s network, so it isn’t a verified crawl. | Confirm with the sensor row instead |
| PostHog referrals or conversions are missing | The import is still running, the connection needs attention, or events lack session or page data. | Check the PostHog import |
Agents, Slack and Agent Picks
| Symptom | Likely cause | Fix it |
|---|---|---|
| An agent run is blocked before it starts | The account balance can’t cover the run’s credit reservation. | Check balance rules |
| A run didn’t start after Dex proposed it in Slack | Nobody selected Start run, or the proposal expired, was replaced, or lost its permissions or credits. | Ask Dex for a new proposal |
| The Slack identity link doesn’t work | Identity links are single use. | Get a fresh link |
| A Slack message didn’t start a conversation | It wasn’t a direct message, a new @DevTune mention, or a reply in a DevTune thread. | Start a conversation |
| Notification Channels is missing | It’s in the account sidebar, not inside a project, and needs a paid plan. | Find Notification Channels |
| A scheduled Agent Picks test was skipped | Credits, the confirmed amount, setup, plan or access changed. The schedule shows the reason. | Match the reason to its fix |
| Connecting GitHub fails | The organization owner hasn’t approved the app, or your GitHub account can’t access the installation. | Match the message to its fix |
| Alerts don’t arrive | The alert type is switched off, the email address is wrong, or the email went to spam. | Check alert settings |
API, MCP and webhooks
| Symptom | Likely cause | Fix it |
|---|---|---|
401 with Invalid or missing API key | The Authorization: Bearer header is missing, or the key is mistyped, revoked or expired. | Send the key correctly |
403 with API key scope does not allow access to ”…” endpoints | The key doesn’t hold the scope the endpoint needs. | Grant the scope |
403 with API key does not have access to this project | The project ID in the URL isn’t the key’s project. | Use the key’s project |
403 with API access requires a … plan or higher | The account’s plan doesn’t include API access. | Review your plan |
429 with Rate limit exceeded. Please try again later. | The key or sign-in went over its per-minute limit. | Wait for the reset |
An MCP code mode write lost its connection or reports uncertain | The write may have completed. | Replay or reconcile it |
| Webhook deliveries fail or arrive twice | The endpoint didn’t return a 2xx within 10 seconds, or answered a redirect. DevTune retries up to 3 times. | Meet the delivery rules |