Enhance User Engagement with Data Automations

Learn about the rationale behind using automations, examples of their application, and a technical overview of our architecture and implementation.

Ronny Roeller
NEXT Engineering
3 min readJun 5, 2024

--

Why Automate?

The primary goal of automation is to increase user engagement with minimal manual intervention. Users often do not interact with applications daily; thus, it is crucial to bring the application to them. Automations help in handling repetitive tasks, allowing users to focus on more important activities.

Here are a couple of example how we use automations in NEXT:

  1. Notification on New Cluster Creation: Send a Slack notification when a new cluster is created
  2. Recording Imports: Call a webhook after the user imported a new recording
  3. Weekly AI Summaries: Create an AI-generated summary of weekly highlights and post it to Slack

The beauty of our system lies in its ability to combine these automations. For example, an AI thread can be created weekly based on a template, and if such a thread is generated, it can be automatically sent to Slack.

Architecture

Our automation framework operates on a simple trigger-action model:

  1. Triggers: Events that initiate an automation. These can be event-based (e.g. a recording is uploaded) or time-based (e.g. daily or weekly triggers).
  2. Actions: The tasks performed when an automation is triggered. Actions utilize the data from triggers to execute tasks, such as sending Slack notifications or creating AI summaries.

A standardized data model is used to ensure consistency across different types of triggers. This model allows actions to operate uniformly, regardless of the trigger type. For instance, whether the trigger is a recording, a cluster, or an AI chat, the data is standardized into common fields like title and description.

Implementation

The backend consists of a modular trigger-action framework:

  • Trigger Handlers: Determine which automations to execute based on the event.
  • Data Handlers: Standardize the data from the triggers.
  • Action Handlers: Perform the specified actions using the standardized data.

This modular approach ensures flexibility and ease of adding new triggers and actions.

The frontend provides a user-friendly interface for configuring automations. Users can select triggers and actions from a list and configure them through intuitive input fields. The frontend communicates with the backend to ensure seamless execution of automations.

One interesting challenge is Loop Prevention: While it’s possible to create loops in automations, implementing safeguards such as quotas or loop detection mechanisms can prevent infinite loops and associated costs.

Conclusion

Automations significantly enhance user engagement by reducing manual tasks and bringing the application closer to the users. Our framework’s modular design and standardized data model ensure robust and flexible automation capabilities.

Happy coding!

--

--

Ronny Roeller
NEXT Engineering

CTO at nextapp.co # Product discovery platform for high performing teams that bring their customers into every decision