# Troubleshooting connections

> Expired tokens, revoked access, the wrong account, and permission errors — what each one looks like and how to fix it.

A connector that worked yesterday and fails today has usually hit one of five things. This page is the shortlist, in the order they occur.

## Start here

Open the agent's connectors in [Agent Builder](/docs/build/agent-builder/). A connection that needs attention is marked there, and the fix is almost always to authorize it again.

**Re-authorizing keeps your bindings.** Connecting the same service with the same account re-authorizes the existing connection rather than creating a second one, so you do not have to rebind it to every agent afterwards.

## The five causes

### The authorization expired

Providers expire access after a period — some quickly, some after months. The connection is marked as needing re-authorization and the agent's tools for that service stop working.

**Fix:** connect again with the same account.

### Access was revoked at the provider

Someone removed Endue in Google account settings, uninstalled the Slack app, or deleted the API token. Endue cannot tell this apart from an expiry until it tries.

**Fix:** re-authorize, or create a new token and reconnect. If the revocation was deliberate, remove the connection in Endue so the state is honest.

### You connected the wrong account

The classic case: you were signed into a personal Google account when you approved a work connector. Nothing errors — the agent finds nothing, because it is looking in the wrong inbox.

**Fix:** sign out of the wrong account at the provider, or use a private window, and connect again with the account you meant. Check the account shown on the consent screen before approving.

### The agent lacks access to the specific resource

The connection is fine; the resource is not shared with it.

| Service | Symptom | Fix |
| --- | --- | --- |
| **Slack** | "Not in channel" when reading history | Invite the app to that channel in Slack |
| **Notion** | Search returns nothing for a page you can see | Share the page with the integration from Notion |
| **GitLab** | A project or issue is reported as not found | The token's user may not have access — check permissions, not spelling |
| **Google** | A file is not found | The account you connected may not have access to it |

<Aside type="note" title="Not found often means not permitted">
  Several providers return "not found" rather than "not allowed" for things you
  cannot see, to avoid revealing that they exist. Treat a not-found on something
  you are sure exists as a permission problem first.
</Aside>

### A self-hosted service moved or is unreachable

Connectors that ask for an address — GitLab, Jenkins, Discourse, WordPress, Mattermost, Grafana, Elasticsearch — need that address reachable from the internet.

**Fix:** confirm the address is correct and publicly reachable, then reconnect. A service behind a VPN cannot be reached.

## When the connector is fine and the agent still fails

- **The operation does not exist.** Each connector exposes a fixed set of operations — check [Available connectors](/docs/connect/available-connectors/). An agent cannot use part of a provider's API that Endue does not expose.
- **The connection is not bound to *this* agent.** Connecting is account-level; using is per agent.
- **The tool group is switched off.** Check the agent's [built-in tools](/docs/capabilities/built-in-tools/) if the missing capability is memory, artifacts, routines, or web fetch rather than a connector.
- **The action was rejected at the [approval](/docs/work/approvals/) gate**, including automatically, because the run was unattended.

## Removing a connection

Removing it in Endue immediately withdraws those tools from every agent bound to it. Existing conversations keep their history; the agent can no longer make those calls.

Removing a connection in Endue does not revoke Endue at the provider. For a clean break, do both.

## Related

<CardGrid>
  <LinkCard
    title="Connectors overview"
    href="/docs/connect/overview/"
    description="How connecting, binding, and revoking fit together."
  />
  <LinkCard
    title="Troubleshooting"
    href="/docs/troubleshooting/"
    description="Problems that are not about connections."
  />
  <LinkCard
    title="Security and permissions"
    href="/docs/account/security/"
    description="What an agent can reach, and what it cannot."
  />
</CardGrid>
