> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devtune.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Troubleshooting

> Find the cause of a common DevTune problem by its symptom, and go to the page with the steps that fix it.

Find the symptom you see, then follow the link to the steps that fix it.

## 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](https://docs.devtune.ai/search-tracking/getting-started.md#troubleshooting) |
| 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](https://docs.devtune.ai/search-tracking/domains.md#a-page-is-being-cited-but-not-counted-correctly) |
| Mention counts look too low or too high | Brand terms are missing common variations, or a term is too generic. | [Review your brand terms](https://docs.devtune.ai/search-tracking/keywords.md#troubleshooting) |
| 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](https://docs.devtune.ai/search-tracking/running-search-tests.md#troubleshooting) |

A tracked URL you add or reassign labels citations from that day on. Citations recorded earlier keep their old label.

## AI Traffic

| Symptom | Likely cause | Fix it |
| - | - | - |
| AI Traffic cards show no number | No sensor is connected yet. | [Connect a sensor](https://docs.devtune.ai/ai-traffic/dashboard.md#empty-state) |
| The Cloudflare source shows **Cloudflare needs reconnecting** | Cloudflare rejected the API token. Syncing is paused for every hostname on it. | [Update the API token](https://docs.devtune.ai/ai-traffic/cloudflare.md#if-cloudflare-stops-syncing) |
| 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](https://docs.devtune.ai/ai-traffic/cloudflare.md#if-cloudflare-stops-syncing) |
| 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](https://docs.devtune.ai/ai-traffic/edge-middleware.md#check-the-middleware-is-working) |
| 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](https://docs.devtune.ai/ai-traffic/edge-middleware.md#link-status) |
| 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](https://docs.devtune.ai/ai-traffic/tracking-snippet.md#check-the-snippet-is-working) |
| Ad blockers drop snippet requests | The snippet sends to a third-party address. | [Proxy the snippet through your domain](https://docs.devtune.ai/ai-traffic/tracking-snippet.md#proxy-setup) |
| 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](https://docs.devtune.ai/ai-traffic/setup.md#verifying-your-sensors) |
| 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](https://docs.devtune.ai/ai-traffic/posthog.md#if-data-is-missing) |

## 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](https://docs.devtune.ai/agents/models-and-credits.md#balance-checks-and-final-cost) |
| 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](https://docs.devtune.ai/integrations/slack-agent-channels.md#a-run-did-not-start-after-dex-proposed-it) |
| The Slack identity link doesn't work | Identity links are single use. | [Get a fresh link](https://docs.devtune.ai/integrations/slack-agent-channels.md#the-link-does-not-work) |
| 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](https://docs.devtune.ai/integrations/slack-agent-channels.md#a-message-did-not-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](https://docs.devtune.ai/integrations/slack-agent-channels.md#notification-channels-is-missing) |
| 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](https://docs.devtune.ai/agent-picks/schedules.md#skipped-tests) |
| 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](https://docs.devtune.ai/integrations/github-pull-requests.md#if-connecting-fails) |
| Alerts don't arrive | The alert type is switched off, the email address is wrong, or the email went to spam. | [Check alert settings](https://docs.devtune.ai/insights-actions/alerts.md#not-receiving-alerts) |

## 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](https://docs.devtune.ai/api-reference/authentication.md#using-your-api-key) |
| `403` with **API key scope does not allow access to "…" endpoints** | The key doesn't hold the scope the endpoint needs. | [Grant the scope](https://docs.devtune.ai/account-billing/api-keys.md#scopes) |
| `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](https://docs.devtune.ai/api-reference/errors.md#403-forbidden) |
| `403` with **API access requires a … plan or higher** | The account's plan doesn't include API access. | [Review your plan](https://docs.devtune.ai/account-billing/overview.md#plan-management) |
| `429` with **Rate limit exceeded. Please try again later.** | The key or sign-in went over its per-minute limit. | [Wait for the reset](https://docs.devtune.ai/api-reference/rate-limits.md#when-you-exceed-the-limit) |
| An MCP code mode write lost its connection or reports `uncertain` | The write may have completed. | [Replay or reconcile it](https://docs.devtune.ai/api-reference/mcp-server.md#retries-and-recovery) |
| 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](https://docs.devtune.ai/api-reference/webhooks.md#retry-policy) |

For other common API status codes, see [API errors](https://docs.devtune.ai/api-reference/errors.md).

## Next steps

* [Set up Visibility](https://docs.devtune.ai/search-tracking/getting-started.md)
* [Set up AI Traffic](https://docs.devtune.ai/ai-traffic/setup.md)
* [Read the changelog](https://devtune.ai/changelog)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.