Event based triggers start the automation, as the name suggests, when an event is triggered within your application. And must implement the Spatie\Mailcoach\Domain\Automation\Support\Triggers\TriggeredByEvents interface.
When creating an event based trigger, you'll need to implement the subscribe method of the AutomationTrigger class, this class is an Event Subscriber, and gets registered automatically when attached to an automation.
We can look at the SubscribedTrigger as an example:
Scheduled triggers are triggers that are ran by Laravel's scheduler component. An example of a scheduled based trigger is the DateTrigger that Mailcoach ships with.
You must implement the Spatie\Mailcoach\Domain\Automation\Support\Triggers\TriggeredBySchedule interface when creating a scheduled trigger.
These triggers implement the trigger method, where you can run any code you need to determine if the trigger should fire for a certain amount of subscribers.
The date trigger checks if the current date & time is the same as the date & time that was set in the trigger (more on creating setting fields below), and fires the automation for all its subscribers once the date is equal.