Troubleshoot by observable symptom
Start with what you can see. Every check below is safe to copy and avoids printing the API key.
The job does not appear after deployment
Confirm the key exists in the scheduler process, not only in your shell:
test -n "$CRONRADAR_API_KEY" && echo "CronRadar key is set" || echo "CronRadar key is missing"
Then confirm outbound HTTPS and authentication with the raw verification command. If it succeeds, inspect the integration-specific discovery conditions in its canonical guide. Framework discovery requires the process that owns the scheduler registry to start after the integration is registered.
Logs show 401 Unauthorized
The key is missing, malformed, revoked, or belongs to a different application. Keys begin with ck_app_ and plaintext is shown only when created or rotated. Create a replacement key, update the secret store, redeploy, verify, then revoke the old key.
Do not paste a key into a URL shown in logs or a support message. Use Basic authentication for manual diagnostics so the key stays out of the URL.
Logs show 404 MONITOR_NOT_FOUND
A base SDK or raw HTTP call used a new key without a schedule. Pass the five-field schedule on the first heartbeat or lifecycle start call. Framework integrations should reconcile before execution; a framework 404 usually means startup reconciliation did not run or failed.
The monitor remains pending
Discovery succeeded, but no terminal execution result has arrived. Run the job through its scheduler. If the dashboard shows a start without completion, inspect the job host for a still-running process or missing execution hook. Do not mark onboarding complete from discovery alone.
The dashboard schedule is wrong or stale
Restart or redeploy the scheduler host to trigger reconciliation, then wait for the integration's documented periodic reconciliation. Verify that the scheduler expression is translatable to a five-field cron without changing meaning. Interval and calendar triggers that cannot be represented safely are skipped and logged.
The job runs, but no lifecycle result appears
Confirm outbound access to https://cron.life and check SDK diagnostics. Short-lived scripts should await asynchronous SDK methods or use the synchronous API before process exit. Official SDKs intentionally do not throw when telemetry fails, so application success does not prove monitoring delivery.
An automation is paused after discovery
If it is marked plan-limited, discovery found more active automations than the plan protects. CronRadar records the automation but does not activate it or create an overage. Pause another automation or upgrade, then reconcile again. If it was paused because it disappeared, restore the recurring-job declaration and reconcile; automatic drift pauses resume without overriding a manual pause.
No notification arrives during the drill
Check the drill's persisted delivery status first. Confirm the channel is enabled for the application, the destination or recipient is current, and the provider accepts a test delivery. A failed delivery remains incomplete and retains a bounded diagnostic; retry after correcting the channel rather than creating another production incident.