In this guide we would be introducing events, to go further we have a dedicated section to dive deep into Events. There are dedicated architecture patterns like "Event Driven Architecture" which help you build flexible software applications, and with advent of software like Apache Kafka etc., events have attained a permanent place in software today.
Broadly, everything is an event. An user moves their cursor on your application, clicks on a button, triggers an api call, fills a form etc., Everything is in fact an event.
Everyone is not interested in all the events which happen. Some events are important for marketing, some are for sales, sequence of events are important for business stakeholders.
In context of Neptune, an event can be anything which you deem important to be captured and can help you analyze your business. But the least, if you want to send an email to user, you need to send an event to Neptune. So, even if you are not thinking about events, you are capturing events, and you might further analyze them too.
Creating an Event
There are two ways events get created.
You needn't create an event upfront, if your application calls Neptune with the required payload, events are automatically populated. Each event has an unique identifier which helps Neptune configure notifications and aggregate statistics for that unique identifier.
If you want, you can directly to "Events" and create event giving an unique identifier. Optionally, you can provider Title and Description.
If you want configure anything end-user communication to users, it is done as part of "reacting" to events using Notifications. Configuring notifications is extremely simple, all you do is select which template should be used. That's it.
This makes your team members who focus on building content, create template and attach to an event. They needn't worry about how the email should be sent, as in, should we use Twilio or SNS for SMS.
You can learn more about events and how you use them to enhance your application here.