LoginSignupGithub

We’ve added Athena to our list of database connectors, enabling you to sync and create dynamic user lists directly from your S3 database. Since Athena can be set up on top of S3, it’s an excellent way to consolidate data from multiple sources and run queries on the unified dataset without the need for complex ETL pipelines.

With this update, you can invoke a workflow from within another workflow. This is useful when the recipient list or data context changes between steps in a workflow.

A common use case is escalation workflows—for example, if a team member doesn't take action within a set timeframe, the workflow escalates the issue and notifies their manager.

This simplifies complex workflows and supports smooth transitions between related processes, enabling more efficient automation management.

You can now update recipient or actor profiles directly within a workflow. This feature simplifies user profile management by enabling real-time updates as part of the workflow process.

If your have event-based system, where user profile changes are coming as events from your product or a third-party system, you don't need to convert it into user update APIs in your codebase. Simply send events to SuprSend, and let workflows handle user profile updates seamlessly.

Key use cases

  1. Event-based user profile updates: Simply send events to SuprSend when user updates their profile in your product or when you are setting custom profile attributes as a side-effect of related action, for example, in a job board, change user's application status when employer shortlists the profile.
  2. Update user profile based on a workflow step: Common use cases include fetching data during the workflow to update the user profile or updating the profile when a user successfully completes a step. For instance, during onboarding, update %completion in user profile when they complete a step.

You can now dynamically update object subscriptions directly within a workflow. This enhancement eliminates the need for separate API calls for object update, allowing you to manage everything seamlessly within workflows.

If you have event-based systems where all asset updates are coming in form of event from your product or third-party systems, you don't have to consume those events internally and write custom APIs to update individual assets (user, list, object) in SuprSend. Simply send events and let the workflow handle object subscriptions and user profile updates, making SuprSend truly a single API integration.


Example use case

When someone subscribes to a topic (like a tournament), add them as a subscriber to the corresponding tournament object. Later, just trigger tournament related events to SuprSend and the object will automatically fan out and send notification to all users subscribed to the topic.

You can now dynamically update list users as part of workflow execution. This is a step toward creating user segments based on events or workflow progression, removing the need to call the List Update API separately.


Key use cases

  1. Event-based segmentation- When an event occurs, trigger notification to the user and simultaneously add them to a list for future updates. For example, when a user registers for an upcoming event or webinar, you can send them confirmation email and add them to a list to later send further updates related to the event.
  2. Workflow Step-based segmentation - Another use case is dynamically adding or removing a user from the list when they complete a workflow step. For example, in a knowledge series designed to onboard new users, remove a user from the POC list once they complete onboarding.

Deletion APIs

by Anjali Arya

On customer request, added APIs to dynamically delete entities in SuprSend. Following deletion APIs are added:

These actions are also available on the dashboard for manual management.


Delete function just deletes the asset and their related data, including preferences. It doesn't have any effect on the historical workflows or broadcasts already executed. While calling the delete function, ensure no active workflows are running for the asset, else the execution will fail.

Happy to announce user merge API to merge duplicate user identities into a single distinct_id. This is helpful to consolidate user profiles, especially when users interact across different products or transition from anonymous to identified states.

Key usecases

  • Cross-Product Identity Consolidation: When users interact across multiple products (e.g., different apps or services within your platform), they may have different identifiers for each product which needs to be merged later.
  • Anonymous to Identified Transition: Platforms often track user actions anonymously before sign-up or login. During this period, user actions are typically tracked under an anonymous ID.
    Upon sign-up, merge the anonymous profile into the newly created identifier to preserve historical data and
    Associate it with the identified user profile.

User Management APIs

by Anjali Arya

Being developer first, we have made significant updates and enhancements to the User APIs for easier user management in SuprSend. Also, subscriber is renamed to users in all APIs to avoid confusion with object subscription. Here's a list of all the changes:

  • Introduced new APIs to fetch user profile, list users and delete user.
  • User update API endpoint has been changed from /event to /user/{{distinct_id}}.
  • There are 2 separate APIs to create(upsert) and edit user profile. Any addition or changes in existing user properties can be done using user upsert API. For deletion of property or channel, user edit API can be used. This is done to keep user upsert API structure flat and simple, consistent to how you identify user in workflow trigger.
  • Subscriber is renamed to user in all APIs, including user preference APIs.

We’re excited to introduce a powerful new capability in SuprSend: Objects. Objects allow you to manage complex user relationship and notify user groups without identifying individual recipients in your trigger. Ideal for building scalable pub/sub and subscription alerting without having to maintain event to subscriber mapping in your database. You can directly map object-user subscription mapping in SuprSend and SuprSend can efficiently fan-out notifications to thousands of users simultaneously.


What You Can Do with Objects:

  • Send notifications to non-user entities like group emails, Slack channels, or shared inboxes (e.g., a Notion feed). Ideal for SaaS applications sending account-level alerts (e.g., anomaly notifications) to shared channels. Objects can have it's own channels and preferences to handle this usecase.

  • Group users by topic or subscription and send them alerts without having to call individual recipients in the trigger. A good example could be SaaS applications managing notifications for end-users, where recipient relationships are coming from a different system, and notification triggers or notification calls are coming from a different system which doesn't have information of the users subscribed to that trigger.

  • Maintain hierarchical user relationship with nested object subscription. For example, sending announcements to all the entire team of customer while sending invoice related alerts to finance team. You can handle this by creating object for finance team and then adding it as subscriber to customer object.

Objects can be easily tested from platform with all all object related actions available on SuprSend console. You can programatically manage objects from your codebase using rest API calls. Support for SDKs coming soon...

If there's any usecase in object that you think is missing and needs to be solved, please reach out to our support.

You can now compare datetime fields in workflow conditions. This lets you compare two timestamps where values can be:

  • Variable – computed from workflow input data
  • Static – a fixed timstamp (e.g. 2024-01-01T00:00:00Z)
  • Relative to current timestamp – E.g. - "now" or "now+30d" (current timestamp +/- interval). Current timestamp is calculated at node runtime and is timezone aware.