Troubleshoot connections and permissions

Resolve OAuth failures, wrong accounts, revoked access, missing resources, and confused connection types.

Start by identifying which connection owns the workflow.

Settings areaPurpose
Settings → Organization → IntegrationsSlack and Discord (shared by the organization), Linear, Jira, Asana, Basecamp, Notion, and the GitHub App
Settings → Project → Trace importsSource connections for importing traces from other observability platforms
Settings → Account → Tools & MCPYour own connected apps, personal GitHub access, and custom MCP servers used by AI workflows
Settings → Account → Coding agentsYour own Claude Code, Codex, and Cursor credentials
Settings → Project → AI ProvidersModel keys for supported Neatlogs AI features

Slack and Discord are shared organization connections. Credentials for the other organization integrations belong to the person who connected them.

A personal GitHub tool connection does not enable repository dispatch; that uses the organization's GitHub App. A Slack integration does not automatically let an investigation read channel history.

OAuth does not complete

Preserve the error shown on the settings page (it has a Dismiss button), then check:

  • browser pop-up and cookie restrictions (Tools & MCP apps open in a new tab; if it is blocked, allow pop-ups for Neatlogs and select Connect again);
  • external account currently signed in;
  • correct Neatlogs region (app.neatlogs.com or eu.app.neatlogs.com);
  • external administrator approval;
  • app installation in the intended organization or workspace;
  • requested scopes;
  • whether the authorization session expired, in which case start again from the settings page.

Do not keep retrying with different accounts without recording which one was active.

The wrong account is connected

  1. open the connection from the settings area that owns it and select Disconnect;
  2. sign out or switch accounts at the external provider;
  3. connect again;
  4. confirm the account shown (for example Connected as on an organization integration);
  5. test one safe resource.

Personal tool connections and organization integrations can legitimately use different accounts. Verify the connection type before removing either.

Access was revoked or expired

Jira, Asana, and Basecamp tokens refresh in the background. For other connections, reconnect when access expires or is revoked:

  • organization integrations: Disconnect, then connect again;
  • Tools & MCP apps: Reauthorize, or Check connection to confirm the current state;
  • personal GitHub: Reconnect GitHub or Replace token;
  • GitHub App: Reconnect GitHub App.

If the external app was removed from a workspace, organization, or repository, reinstall or reauthorize it there as well.

Rotating an API key and renewing OAuth are different operations.

For trace import connections, an organization owner or administrator can select Re-verify in Settings → Integrations. Neatlogs tests the saved connection again and reports how many source projects are visible. Re-verification does not start a new import job or change an existing mapping.

A repository, channel, or project is missing

Check both permission layers:

External provider

  • Can the connected account see the resource?
  • Does the app installation include it?
  • Is the Slack app a member of the channel?
  • Does the key belong to the correct project or region?

Neatlogs

  • Is the user in the correct organization and project?
  • Can their role configure the connection? Any organization member can connect Slack, Linear, Jira, Notion, Asana, or Basecamp. Discord, the GitHub App, and trace-import sources need an organization owner or admin.
  • Is the tool granted to the evaluator?
  • For incident evidence from Slack or Discord, has a project admin selected Authorize thread under Issue evidence access?
  • Is the destination supported by that workflow?

A custom MCP connection fails

Custom MCP servers are added under Settings → Account → Tools & MCP, on the Custom MCP tab. Only you can use a server you add, and header values are write-only.

Check:

  • the Server URL uses HTTPS and points at a Streamable HTTP MCP endpoint;
  • the host is publicly reachable from Neatlogs;
  • the URL does not redirect (redirects are rejected);
  • the Authentication headers are correct (an Auth rejected result means the server returned 401 or 403);
  • the server answers the MCP initialize request within a few seconds;
  • the result of Test saved connection (a test also runs when you select Save server).

Turn on Available for evaluator grants only for servers an evaluator needs, then grant the tool in that evaluator.

Diagnose by symptom

SymptomLikely boundary
OAuth callback failsBrowser, provider app, account, or an expired authorization session
Connection succeeds but resource list is emptyExternal account scope or installation
Connect fails for Discord or the GitHub AppRequires an organization owner or admin
Admin can configure but reviewer cannot useProject role or evaluator tool grant
Alert delivery works but AI cannot read SlackSeparate evidence authorization or Tools & MCP access
Personal GitHub search works but dispatch is unavailableOrganization GitHub App
Provider test works but model is missingWorkflow-specific model support

Frequently asked questions

Does connecting an app make it available to every AI evaluator?

No. An evaluator can use a tool only when it is granted to that evaluator. Your own Tools & MCP connections are used by the AI assistants you run, with your permissions.

Does a personal GitHub tool enable fix dispatch?

No. Conversational tools and organization integrations serve different workflows.

Why can an administrator connect an app but I cannot use it?

Project role, external account access, evaluator grant, or repository and channel scope may still exclude it. Personal connections also belong only to the person who made them.

What should I send support?

Connection type, provider, organization and project, region, external account identifier without secrets, timestamp, the exact error, and the missing resource name.

Next step

Review members and permissions →

On this page

Ask Neatlogs AI

Answers from the docs

How can I help?

Ask anything about instrumenting, tracing, or the Neatlogs dashboard.