How it works
Understand Notika’s flexible and powerful architecture.
To set up your notification workflows:
1. Connect your database
In Notika, add your database under the “Settings” tab in the left sidebar.
2. Create and publish a workflow
Use the no-code visual workflow builder to create a workflow. Publish the workflow to activate 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.
For an in-depth overview of Notika, check out the Introduction.
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.
Notika is designed with reliability and robustness top of mind. Here are some ways your workflows are robust to various failure modes:
- In the event that Notika is temporarily down, events won’t be lost. As long as your database is up and running, so too will your triggers, and therefore events will continue to accrue in the event log as well. If Notika loses connection to your database for whatever reason, it will pick up where it left off and fire off any unprocessed events after reconnecting.
- Notika adds check constraints on the relevant tables to protect against database schema changes that unintentionally break Notika workflows. See here for more details.