How it works
Understand how it takes just minutes to setup production-ready workflows with Notika.
Notika leverages an event-driven architecture with your database as the source of truth. It is designed to be secure, efficient, and performant. On a high level, here’s how it works:
1. Add your database connection
Securely connect your database. We recommend using a dedicated database user with minimum permissions.
2. Create and publish a workflow
Use our AI workflow builder to setup your workflow from end-to-end, starting with a database trigger. Publish the workflow to securely install it.
3. Sit back and relax
When the trigger condition is met, Notika handles the rest. The workflow is executed in real-time, and notifications are delivered to your users.
When a workflow is published, Notika adds a database trigger on the relevant table that simply logs an event within the event_log
table in
a separate notika
schema. From there, Notika periodically polls the table and launches workflows when new events are detected.
This approach allows for a secure, efficient, and reliable way to listen for events and handle your workflows:
- Virtually no impact on database performance: database triggers are highly efficient and non-blocking.
- Even in the unlikely event that Notika is temporarily down (our uptime is 99.9+%), events will continue to accrue. When Notika is back online, it will pick up where it left off and fire off any unprocessed events.
- After the event is picked up, Notika handles each step in a robust, durable manner, automatically retrying any failed steps.
What happens behind the scenes
Some app activity occurs
Your database is your source of truth. When some key action occurs in your app, it’s reflected as a change to a row in your database.
Trigger executes
When that row changes, a database trigger is executed that logs a row in the notika.event_log
table. It’s fully managed by Notika, and runs asynchronously after the row changes in a separate non-blocking transaction. It has a negligible impact on database performance.
Notika picks up event
Notika tracks your notika.event_log
table for new events. When a new event is recorded in this table, Notika detects it within seconds and idempotently kicks off any associated workflow.
If you have a lot of events and you’d like to clean up event data, you can periodically truncate the table to prune old events.
Workflow executes
Each step in your workflow is run in a robust, durable manner. For any wait steps, we handle the scheduling for you. If any steps fail, we automatically retry with exponential back-off.
For hard failures, we escalate to you. Any failed runs can be re-run manually in the Notika dashboard.
Notifications are delivered
For any notification steps, templates are populated, and the final notification(s) are sent to the appropriate recipient or channel.
If a workflow is sandboxed, then they’re held for manual review and release in the Notika dashboard.
Engagement events are captured
Notika handles capturing analytics on the notifications sent, including delivery status and engagement metrics.