Automation — Production Guide
Licensing
- Catalog slug:
automation - Billable marketplace add-on (
is_default_included: false,is_billable: true) - Catalog version: 1.3.0
- Initial price: $29 / month, $290 / year (same tier as Branded)
- Workspaces must install from Marketplace; migrate does not auto-install
Bootstrap
Data migrations (production-safe):
register_automation_module—DefaultModuleRegistrar::ensureModuleadd_automation_permissions—TenantPermissionSynchronizer::grantMissingDefaultRolePermissions- Schema:
automation_workflows,automation_triggers,automation_conditions,automation_actions,automation_runs,automation_logs
Keep CatalogSeeder in sync for local/CI fresh DBs only.
Queue & scheduler
| Worker / command | Purpose |
|---|---|
php artisan queue:work redis --queue=automations,emails,default --sleep=1 --tries=3 --timeout=90 --max-time=3600 | Execute workflow actions (include automations before default) |
automation:dispatch-schedules | Every minute, withoutOverlapping(5), onOneServer — due schedule triggers |
Shared cache driver required for onOneServer() locks. Schedule matching uses a 90-second window after the configured H:i (workspace timezone) and skips a workflow that already has a schedule run in the last 2 minutes.
Outbound webhooks
- Action type
webhookposts JSON with optional HMAC (X-EloSync-Signature) from the action secret orAUTOMATION_WEBHOOK_SECRET/services.automation.webhook_secret. - SSRF guard:
http/httpsonly; loopback,.local/.localhost, and private/reserved IPs are rejected. Connect timeout 5s, request timeout 15s, retry twice. - Job
ExecuteAutomationRunJob::failed()marks the runfailedafter retries so Runs UI does not stay onrunning.
Monitoring
- Run status:
pending/running/completed/failed/skipped/cancelled - Step detail in
automation_logs - Platform audit on workflow CRUD (via
PlatformAuditService) - Spatie activity log on
AutomationWorkflow
Deploy checklist
php artisan migrate --force(Automation schema + catalog + permission grants). Do notdb:seed.- Deploy Backend + Frontend
- Start / update queue workers to include
automations(Forge daemon or Cloud background process) - Confirm scheduler runs
automation:dispatch-schedules - Optional: set
AUTOMATION_WEBHOOK_SECRETfor default webhook HMAC when actions omit a secret - Smoke: Marketplace install → create from template → activate → manual run → Runs page shows completed/failed with logs
Full go-live checklist: Automation production readiness.
Related-context PATCH (1.1.1): Automation related-context production readiness.
Cross-module triggers MINOR (1.3.0): Automation 1.3.0 production readiness — sole IntegrationEventDispatcher fan-out; installed-module catalog gating; expanded trigger/template coverage.