Handling complex "delivery time" user preferences

We have a system where user may want to suscribe to certain "events" that happen in the system, in a CMS could be "whenever an item of type X of the CMS" changes. The tricky bit is that user can chose daily at any hour!. I thought that a possible way would be in our system we let the user chose for example 0, 8, 16, 24 ( i.e 4 times of the 24 period day). Those user preferences are "propagated to Novu" as suscribers metadata. Then the workflow design would have the email step with variants. Each variant would have a condition ( ie suscriber preference is 8) and a digest step which will take care of the schedule. So basically would branch the workflow into 4 periods letting Novu accumulate/agregate events and deliver based on different digest steps. Any other suggestion ? Or would that approach work?
3 Replies
Pawan Jain
Pawan Jain4mo ago
@SafeMahou5x Thanks for sharing the use case. It can be handled by Novu, but a bit differently. In Novu we have scheduled digest which is applied on workflow level. I see you are looking for user level time customization. Will workflow level customization which applies to all users work for you?
SafeMahou5x
SafeMahou5x4mo ago
i read about the concept of variants. I thought that if I can attach to the suscriber metadata representing his/her daytime delivery preferences, I could create as many step variants as I want. For each variant use the schedule digest step just configured differently. So basically workflow level customization based on suscriber preferences. I think you are saying that
Pawan Jain
Pawan Jain4mo ago
Okay, so that can be done. For this to work, you will have to store subscriber digest preference in subscriber custom data property and create digest variants based in that