Skip to main content
Automations run on schedule, and alerts fire when they finish. When neither happens, the issue is almost always in the setup — a credential, a schedule, a webhook URL, or the active tenant context. These checks walk through both failure modes.

Automation did not run

An automation has a saved run, an input mode, and a schedule. If a scheduled run never fired, start by confirming all three are still correct. Check the automation record Open Ask Darpan, search for Open Automations, and open the result. Confirm the row shows the expected input mode, schedule, state, and next run. Check the input sources
  • If the automation uses SFTP file inputs: confirm the SFTP server is reachable and the remote file paths are populated. If no SFTP server appears, create or reactivate the required server from Open SFTP Servers.
  • If the automation uses API date-range extraction: confirm the API source is reachable. If no source appears, confirm the relevant system setup from Set up Shopify or Set up HotWax.
Check the saved run When the automation asks Which saved run should this automation use?, it points to a specific saved reconciliation run. If that run was deleted or its sources removed, the automation cannot execute. Confirm the saved run still exists and its sources, schemas, and primary IDs are intact. See Set up a reconciliation run to recreate it if needed. If a run appears permanently stuck A JVM crash or container restart mid-run can leave a reconciliation run result in a running state, which blocks re-triggering. An internal scheduled reaper (reconciliation.ReconciliationAutomationServices.sweep#StuckReconciliationRuns) automatically flips run results that have been in a running or pending state for more than 120 minutes to failed with an explanatory status message. No user action is required — wait for the next reaper cycle, then trigger the automation again.
The stuck-run reaper is an internal service (allow-remote="false") and does not expose a user-facing trigger. If a run appears stuck for longer than 120 minutes and is not swept, report it with a link to the run.

Alert never arrived

Run-completion alerts post a Google Chat message when any reconciliation run reaches a final state — manual or automated, succeeded or failed. A run reports to the chat space its automation is linked to, plus the space of anyone who subscribed with Notify me. Registering a space in Tenant Settings does not by itself route any run to it, which is the most common reason a correctly configured space stays quiet.
Notification delivery is best-effort. A run never fails because an alert could not be sent. The run result is always saved and viewable in the app regardless of whether the alert fired.
Run-result link points to the wrong URL The link in the alert derives its base URL from the DARPAN_APP_BASE_URL environment variable or the darpan.app.baseUrl property, falling back to the first allowed origin. If the link opens the wrong environment, verify these settings on the server side. Set up or update a chat space To add, rename, or deactivate a chat space, go to Run-completion alerts. The registry lives in Tenant Settings under Operations → Notifications, and only Tenant Admins can save changes there. Choosing your own default space in User Settings and using Notify me on a run are personal preferences and need no tenant write access.

Automation no longer matches its saved run

An automation is a snapshot of a saved run taken when the automation was created, not a live pointer at it. Editing the run afterwards leaves the automation as it was. Darpan reports the drift, naming the fields that differ. Use Sync to re-derive the snapshot from the run — it overwrites the compare scope, input mode, source definitions and exclusion filters, and preserves the name, schedule, window, chat space, active status and SFTP details. If Sync is refused, the saved run no longer exists and the automation has to be recreated. An automation can never be pointed at a different run; that is fixed for its lifetime.

A schedule fires at the wrong hour

Schedules are interpreted in the tenant’s timezone, not UTC. Check the tenant timezone in Manage tenant settings before adjusting the schedule itself.

Slack alerts specifically

An alert looked clean but differences existed

Records present on only one source and records whose values disagree are counted separately. A run with no missing records but many value mismatches has a difference count of zero. Read the value-mismatch line in the alert, not only the difference count. See Review results.