Connection issues
Fix OAuth failures, expired API keys, and credential management problems.
Connection issues prevent your patterns from authenticating with external services. Since most automation patterns interact with third-party APIs, broken connections are one of the most common causes of execution failures.
OAuth connection fails
Symptom
You attempt to set up an OAuth connection (for example, GitHub or Slack) and the authorization flow fails. You may see an error page, get redirected back to DRAGOPS without a successful connection, or the connection appears but immediately shows as invalid.
Cause
OAuth failures have several possible causes:
- Expired authorization. The OAuth token expired and automatic refresh failed or is not supported by the provider.
- Revoked access. You (or an organization admin) revoked DRAGOPS's access from the provider's settings.
- Incorrect scopes. The OAuth application does not have the permissions required by the nodes in your pattern. For example, a node that creates repositories needs write access, but the OAuth token only has read access.
- Provider outage. The external service's OAuth endpoint is temporarily unavailable.
Solution
-
Reconnect the OAuth connection. Go to the Connections page, select the failing connection, and select Reconnect. This starts a fresh OAuth authorization flow with the provider.
-
Check the provider's authorized apps. Log in to the external service (for example, GitHub Settings > Applications) and verify that DRAGOPS is still authorized. If it was revoked, the reconnect flow reauthorizes it.
-
Verify required scopes. Check the provider's documentation for the API endpoints your pattern uses. Make sure the OAuth connection has the necessary scopes. If scopes are insufficient, you may need to remove the connection and create a new one with the correct permissions.
-
Try again later. If the provider is experiencing an outage, wait and retry. Check the provider's status page for incident reports.
API key connection returns 401
Symptom
A pattern that uses an API key connection fails during execution with a 401 Unauthorized error. The execution log shows the HTTP Request node received a 401 response from the external service.
Cause
The API key stored in the connection is no longer valid. Common reasons:
- Key expired. Many services issue API keys with an expiration date. Once expired, the key is rejected.
- Key rotated. An administrator rotated the API key in the external service, invalidating the old one.
- Key revoked. The key was explicitly revoked or disabled in the provider's dashboard.
- Wrong key. The stored key does not match the service's expected format or belongs to a different account or environment.
Solution
-
Get a fresh API key. Log in to the external service and generate a new API key (or copy the current valid key).
-
Update the connection. Go to the Connections page in DRAGOPS, select the affected connection, enter the new API key, and save.
-
Test the connection. Open a pattern that uses this connection and run a test from the editor. Verify the HTTP Request node receives a successful response.
-
Check key permissions. Some services issue keys with specific permission levels (read-only, read-write, admin). Verify the key has the permissions your pattern needs.
Connection works in test but fails in production
Symptom
You run a test in the editor and the connection works correctly. But when the same pattern runs as a deployed execution triggered by a webhook or schedule, the connection fails with an authentication error.
Cause
The credentials used in test mode and production mode are different, or the external service restricts access based on context. Possible reasons:
- Environment-specific credentials. The connection uses credentials scoped to a development or staging environment, and the production API endpoint requires different credentials.
- IP-based restrictions. The external service allows API access only from specific IP addresses. The test environment and the production execution engine may have different outbound IP addresses.
- Rate limiting. The production workload makes more API calls than testing. The external service may rate-limit or block the production traffic.
Solution
-
Verify the credentials. Make sure the connection uses credentials that are valid for the production environment of the external service.
-
Check IP allowlists. If the external service restricts access by IP, add the production execution engine's outbound IP address to the service's allowlist.
-
Check rate limits. Review the external service's rate limit documentation. If production traffic exceeds the limit, reduce call frequency (for example, by adding delays between requests or batching operations).
-
Use environment-specific secrets. If the external service has separate development and production environments, create separate connections for each and configure your pattern to use the correct one based on the deployment target.
Cannot delete a connection
Symptom
You attempt to delete a connection from the Connections page but receive an error indicating the connection cannot be removed.
Cause
The connection is referenced by one or more deployed patterns. DRAGOPS prevents deletion of connections that are actively in use to avoid breaking live deployments.
Solution
-
Identify which patterns use the connection. The error message indicates which patterns reference the connection.
-
Update or undeploy those patterns. Either:
- Open each pattern that uses the connection, change the node to use a different connection, save, and redeploy.
- Undeploy the patterns that reference the connection.
-
Delete the connection. Once no deployed patterns reference it, you can delete it from the Connections page.
-
Consider updating instead of deleting. If you want to rotate credentials rather than remove the connection entirely, update the connection with new credentials instead. All patterns that reference the connection automatically use the updated credentials on the next execution.
Related
- Connections -- how connections store and encrypt credentials
- Connect external services -- set up OAuth and API key connections
- Execution errors -- if the pattern fails after authentication succeeds
- Webhook issues -- if the trigger itself is not firing