Skip to main content

Integration Troubleshooting

This guide covers common issues and solutions across all Bike4Mind integrations. Use the quick diagnosis section to identify your problem, then jump to the relevant section.

Quick Diagnosis

What best describes your issue?

SymptomLikely CauseJump To
"Unauthorized" or "Token expired"OAuth token expired or revokedAuthentication Issues
Agent says "not connected"Integration not set upConnection Issues
Webhook not delivering eventsSignature, URL, or circuit breakerWebhook Issues
"Rate limit exceeded" / 429 errorToo many API callsRate Limit Issues
"Permission denied" / 403 errorInsufficient access on external servicePermission Issues
Slack bot doesn't respondBot not in channel or scopes missingSlack Issues
Tool returns unexpected errorAPI or configuration problemPer-Integration Sections

Authentication Issues

Authentication problems are the most common integration issue. All integrations use OAuth tokens that can expire or be revoked.

Token Expired

Symptoms: 401 Unauthorized errors, agent says "token expired"

Resolution:

  1. Navigate to Profile → Integrations
  2. Find the affected integration
  3. Click Disconnect, then Reconnect
  4. Re-authorize on the external service
Automatic Token Refresh

Atlassian tokens (Jira/Confluence) are automatically refreshed before expiration. If automatic refresh fails, you'll need to reconnect manually.

Token Revoked

Symptoms: 401 Unauthorized after changing password or revoking app access

Resolution: Same as token expired — disconnect and reconnect in Profile → Integrations.

OAuth Flow Fails

Symptoms: Redirect to error page during connection, "state parameter invalid"

Resolution:

  1. Clear browser cookies for Bike4Mind
  2. Ensure you're logged in to the correct Bike4Mind account
  3. Try connecting again
  4. If the issue persists, the OAuth state token may have expired (10-minute validity) — restart the flow

Connection Issues

Integration Not Appearing

Symptoms: No option to connect an integration

Resolution: Ask your organization admin to enable the integration in Admin Settings → Integrations.

Atlassian Site Selection

Symptoms: Connected but no Jira/Confluence data available, "site not found"

Resolution:

  1. You may have selected the wrong Atlassian site
  2. Disconnect Atlassian in Profile → Integrations
  3. Reconnect and carefully select the correct site
  4. If you only have one site, it's auto-selected

Webhook Issues

Webhook Not Receiving Events

Possible causes:

CauseCheckFix
Wrong URLVerify URL in GitHub/Jira webhook settingsCopy URL from Bike4Mind webhook config
Webhook disabledCheck status in external serviceRe-enable the webhook
Events not selectedCheck subscribed events in external serviceAdd missing events
Network/firewallCheck if external service can reach your URLVerify URL is publicly accessible

Invalid Signature

Symptoms: 401 responses on webhook deliveries, "signature mismatch" in delivery logs

Resolution:

  1. Verify the webhook secret in the external service matches the one in Bike4Mind
  2. If you recently rotated the secret, ensure you updated it in the external service within 24 hours
  3. If the secret was lost, rotate it in Bike4Mind and update the external service
Secret Mismatch

If the secret in the external service doesn't match Bike4Mind, all webhook deliveries will fail. This is the most common webhook issue.

Subscription Auto-Disabled

Symptoms: No notifications received, subscription shows as "disabled" in settings

Cause: Circuit breaker triggered after consecutive delivery failures.

Resolution:

  1. Check the failure reason in the delivery history:
    • Slack channel deleted → Update subscription to a valid channel
    • Bot removed from channel → Re-invite the bot: /invite @Bike4Mind Bot
    • Slack rate limited → Wait and re-enable; consider reducing subscription volume
  2. Fix the underlying issue
  3. Re-enable the subscription in Settings → Webhooks → Subscriptions

Delivery Retry

To retry a failed webhook delivery:

  1. Navigate to Settings → Webhooks → Deliveries
  2. Find the failed delivery by correlation ID or timestamp
  3. Click Retry
  4. Or via API: POST /api/webhooks/deliveries/{id}/retry

Webhook Rate Limiting

Symptoms: 429 Too Many Requests on webhook endpoint

GitHub webhooks: No Bike4Mind-imposed rate limit on incoming webhooks.

Jira webhooks: Limited to 120 requests/minute per webhook config (60-second sliding window).

Resolution: If Jira webhooks are being rate limited, consider:

  • Reducing the number of subscribed events
  • Filtering to specific projects rather than all projects

Rate Limit Issues

GitHub Rate Limits

LimitValueHow to Check
REST API5,000 requests/hourError message includes reset time
Search API30 requests/minuteError message includes reset time
GraphQL5,000 points/hourError message includes remaining points

Resolution: Wait for the reset period shown in the error. Reduce request frequency by:

  • Batching related queries
  • Using specific filters instead of listing everything
  • Caching results in your conversation context

Atlassian (Jira/Confluence) Rate Limits

LimitValue
REST APIVaries, typically 100-500 requests/minute
Bulk operationsEach item counts separately

Resolution: Wait for the Retry-After period. For bulk operations, consider reducing batch size.

Slack Rate Limits

LimitValue
chat.postMessage1 message/second per channel
General Web APIVaries by method

Resolution: Slack rate limits are handled automatically with retries. If delays persist, reduce activity volume.

Permission Issues

GitHub

IssueResolution
"Cannot access repository"Ensure you have read access to the repo on GitHub
"OAuth app not approved"Ask your org admin to approve the Bike4Mind OAuth app
"Resource not accessible"The OAuth scope may be insufficient; reconnect with full scopes

Jira

IssueResolution
"You do not have permission"Check your Jira project role (admin, developer, viewer)
"Issue does not exist"You may lack permission to view the issue; check project access
"Cannot transition"The transition may require specific conditions or permissions

Confluence

IssueResolution
"Space not found"Verify space key (case-sensitive) and your space membership
"Cannot edit page"Check page restrictions — you may need edit access
"Cannot delete comment"You can only delete comments you created

Per-Integration Troubleshooting

GitHub

ProblemSolution
Agent can't find repositoryVerify repo name (owner/repo format) and your access
Search returns no resultsGitHub search only covers indexed code; very recent commits may not appear
PR diff too largeUse get_pull_request_files instead of get_pull_request_diff
Draft PR conversion failsMay hit GraphQL rate limits separately from REST API
Workflow logs unavailableLogs are only available for recent runs (GitHub retention policy)

Slack

ProblemSolution
Bot doesn't respondInvite bot to channel: /invite @Bike4Mind Bot
"Not connected" errorLink Slack account in Profile → Integrations
Slow responsesMay be Slack rate limited; wait and retry
Bot doesn't see messagesEnsure bot has channels:history scope
Commands not availableApp may need reinstallation if scopes changed

Jira

ProblemSolution
"Site not found"Disconnect and reconnect, selecting the correct site
JQL returns no resultsVerify JQL syntax; use jira_search_issues tool with simpler queries first
Can't create subtaskEnsure parent issue exists and subtask type is available
Sprint not foundVerify sprint belongs to the correct board
Bulk operation partial failureCheck error response for per-item failure details

Confluence

ProblemSolution
Page not found by titleUse exact title; for fuzzy search, use confluence_search with CQL
Content formatting issuesComplex macros/layouts may not render correctly; use simple HTML
Attachment upload failsCheck file size against Confluence instance limits
Version conflict (409)Another user edited the page; retry the update
Personal space not foundPersonal spaces may need to be created manually in Confluence first

Error Code Reference

HTTP StatusMeaningCommon Causes
400Bad RequestInvalid input, malformed query (JQL/CQL), missing required fields
401UnauthorizedToken expired, revoked, or invalid
403ForbiddenRate limit exceeded, insufficient permissions, or scope missing
404Not FoundResource doesn't exist or you don't have access
409ConflictVersion conflict (Confluence), duplicate resource (GitHub)
413Payload Too LargeWebhook payload or attachment exceeds 1 MB limit
422Unprocessable EntityValid JSON but invalid content (bad label, duplicate name)
429Too Many RequestsRate limit exceeded — check Retry-After header
500Internal Server ErrorServer-side issue — retry or contact support

External Service Status Pages

If an integration is completely unresponsive, check the external service status:

Getting Help

If your issue isn't covered here:

  1. Check the integration-specific documentation (linked from each section above)
  2. Contact your organization admin for access and permission issues
  3. For persistent issues, reach out to Bike4Mind support with:
    • The integration affected
    • The exact error message
    • Steps to reproduce the issue
    • Your organization name