Cron jobs and the scheduler
A single cron entry powers everything time-based in Vivotics. Without it, automations with time triggers, reminders, recurring tasks and recurring invoices silently stop.
The one entry you need
* * * * * php /path/to/vivotics/artisan schedule:run >> /dev/null 2>&1
Laravel's scheduler then runs each job on its own internal timetable.
What runs when
| Job | Schedule | Does |
|---|---|---|
| automation:scheduled | Hourly | Fires due-soon and invoice-overdue automation triggers (once per record per day) |
| Recurring task creation | Daily 00:30 | Spawns the next occurrence of recurring tasks |
| Event, task, project reminders | Per settings | Sends the pre-due notifications |
| Invoice reminders | Daily | Stock payment reminders |
| fetch-ticket-emails | Per settings | Pulls the support inbox for email-to-ticket and email-to-task |
| Health check | Daily 06:00 | Runs the built-in system checks |
Verifying cron works
Run php artisan schedule:run by hand once: you should see jobs execute. Then check the Automations page run log after the next hour boundary; time-based rules should show fresh runs.