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

1

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.

2

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.

3

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.

4

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.

5

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.

6

Engagement events are captured

Notika handles capturing analytics on the notifications sent, including delivery status and engagement metrics.