Multi-tenant + Pushpad for Push Notifications (Active blocker for our development!)
Hey everyone. I work at Bask, which you guys actually have featured in your homepage!
We are trying to use Novu as a way to deliver push notifications via Pushpad. But as a white-label application, we have a multi-tenant architecture. To accomplish this, I am planning on the following:
- Use a different tenant on Novu for each of our tenants
- Add a different Integration in the Integration page, per tenant as well
- Each integration links to a different Pushpad Sender/Project (Different ProjectID)
To accomplish the above, we need the following:
- An API that allows us to create a Tenant without using the Dashboard <- This is essential. I don't see it in the API Reference docs. Any multi-tenant architecture would require an API actually. Impossible to manage manually
- An API that allows us create a new integration and set a condition for the tenant <- This looks like it is already supported, but I would appreciate an example for the payload since I don't see it in the API Reference Docs an option for a "Tenant".
Also, a couple of additional questions:
- Is there a hard cap on how many active "Integrations" we can have? This could be a problem as we have more tenants support push notifications for their users
- Is there maybe another to pass the "ProjectID" to Pushpad a different way? Maybe when we call
https://api.novu.co/v1/events/trigger
we can just specify it in the body somehow. This could be a workaround from the need of tenants and all of the above (Since we internally keep the project/sender id)
We could use Webhooks to implement this and forward to Pushpad ourselves / keep push tokens internally. But it would defeat a lot of the purpose of using Novu to broker our user-facing notifications4 Replies
Bump
@artiebay
Apologies for delay in response
I am looking into these two APIs
@artiebay
- Checkout this API to create tenant
https://v0.x-docs.novu.co/api-reference/tenants/create-tenant
- Checkout this curl request to create integration with tenant condition
_environmentId is of mongodb id type. Let me know if you need help in finding values for your development and production environment
- Currently, there is no any limit on number of integrations. Would you like to share approx how many integrations you are going to create?
- sending pushpad project id while triggering the workflow: let me know if you need this feature after above configiuration
@artiebay
Just want to follow up if you have any question
@Pawan Jain Thank you π . I'm back on working on this today. If I hit a roadblock on the multi-tenant approach I will let you know!
Sure @artiebay ππ»