FAQ
My procedure is Failing but never ran
Its trigger cannot be armed: an invalid cron expression, or a webhook path already taken. The reason shows under its state on the Procedures page.
My procedure says a trigger type is not available
The module that registers that trigger is not loaded, or failed to start. A type registered late, by a module starting after Automation or reloaded in development, arms its procedures as soon as it registers.
A run is Cancelled
A module one of its steps belongs to stopped while the run was on, most often a project reloading in development. The run stops at that step, says which one, and does not count as a failure. Run the procedure again once the module is back.
My table watch procedure is Failing with "$changeStream is only supported on replica sets"
Table watch reads the database change feed, which MongoDB only offers on a replica set. Run MongoDB as a replica set, a single node is enough: see Fire on changes to your own tables.
A procedure my project declares did not update
DeclareProcedure never overwrites a procedure someone changed since it was declared: an edit, a pause or a resume. Delete it, or bring it back to the declared content, to let the next declaration apply.
DeclareProcedure failed, but the procedure exists
The database write can succeed before run-history synchronization or trigger reconciliation fails. Retry the same declaration after resolving the failure. An unchanged result preserves the declared content, revision and version, but retries synchronization so a stored procedure does not remain unarmed only because the first call failed. Check the dashboard for trigger arming errors: an enabled flag is not proof that a trigger activated successfully. See the declaration contract.
My webhook path is refused
A path cannot overlap a route the API already serves, nor start with /api, /auth, /dms, /modules or /settings, and two enabled procedures cannot share the same method and path.
The webhook URL shown in the builder has the wrong host
It is built on the DMS apiBaseUrl. Set it to the URL callers reach your API at.
A re-run sent [redacted] instead of a token
Runs store credentials redacted. A re-run sends what was stored, so the redacted values go out as [redacted]; the confirmation warns about it. Add your own credential names with runs.sensitiveNames.
Do test runs count in the figures?
No. Test runs from the builder keep a trace but never count in the states, KPIs or charts.
How long are runs kept?
30 days by default (runs.retentionDays); 0 keeps every run. The leader instance deletes older runs every hour.
A cron procedure ran twice, or skipped an occurrence
In a cluster, singleton triggers are fire-once in normal operation, not exactly-once across a leadership change. Make the procedure's effect idempotent. See Clustering.
The palette does not group nodes by module
The backend logs type-origin attribution unavailable when it cannot tell which module registered a node. Update @antelopejs/interface-dms-automation and the module together.
Extending
Declare your own triggers, actions and data nodes from any module with @antelopejs/interface-dms-automation, ship procedures as code, and start them from code.
Interface reference
Register triggers, asynchronous actions and synchronous data nodes, ship procedures as code, and invoke saved procedures.