Registration, subscription management and Billing for external users

Hello Everyone!
I am relatively new to Retool and App Development in general. I have a specific usecase for an app for external users in mind and want to check if Retool is the right tool to do this.
I am able to build all the functionalities with Retool, but am not sure about a lot of the subscription management and billing issues. Here is what I would like to achieve, explained as simple as possible:
-) My future external users should be able to come to the website (for example like the PharmaCo seen in the Retool Portals Documentation, ideally built with Retool) and register there. I saw that external users are priced the same as end users, however, if I want to make any profit off that app I would need to charge my customers (=external users) more (e.g. 50$). Is it possible, that users register and pay that 50$, the amount that Retool takes per user automatically goes to Retool and I keep the rest? Is there an out-of-the-box solution for that, maybe with Stripe or something similar where I can just set my pricing options? I would like for my users to only have one login, otherwise they would have to register to retool and then get to another paywall to get access to my app, which I think would be complicated and annoying to users.
-) Once the user is logged in, they should come to their own dashboard and for example set their own schedule that is then saved for them. Is it possible that every external user has their own dashboard and app experience? No sensitive data is processed here, just simple customizations like schedules.
-) If a user cancels their subscription, can the system automatically notice that, cancel the Retool subscription and prevent the user from accessing the app anymore?
-) In this scenario, is it also possible to offer a "free trial" for my users without having to pay for a new external user immediately?

I know those questions may be really rudimentary and sound stupid to some people, but I am a developer and am just starting out and really love the interface and functionalities of Retool. I would be really thankful for any help.
Thanks!

Hi there @peter.bruckner,

Welcome to the forum!

What you have in mind is definitely doable, and I say it as I have my own company that does exactly that.

With regards to pricing:

  • End users, (who will not have edit rights for the app) cost $18 x month (or 15 if you pay annually) with the Business Subscription (which is the one you need to start with).
  • I charge clients via stripe and then cover the Retool cost myself. Make sure you make all your costs calculations so you can have a good margin. Stripe allows you to create pricing pages really easy.
  • With retool branded theme, you can have your own login page where users will login and then be redirected to their own dashboard. Bear in mind that it will be the same branding (your company's) for everyone. If you want custom branding then you need enterprise subscription
  • If the apps are the same for all users and only data is different, then you can definitely do it. If you want app to be customized for each user, then it is doable, but not scalable.
  • With regards to provisioning and deprovisioning: here things are a bit manual as retool's API endpoints are only available at enterprise level. You can set up a stripe webhook so you receive a notification once a user has unsubscribed (by the way Stripe has client portal so they can see/modify and cancel their subscriptions) and then you will have to manually remove theri acccess to the app.
  • You can definitely offer free trials via Stripe, however you'll still pay for the retool license for that period.

Hope this helps, but feel free to ask more questions or message me.

I actually just saw this post which I think may be helpful: Creating a retool portal - #5 by Jack_T

1 Like

How do you charge the customers via Stripe within Retool?
I'm having the same challenge currently. I want users to login and then go to "Membership" Page, there they select the membership option and click "buy".

I that something that can be achieved and if yes, how?

It is possible, but not automated.

In my current case, as it is not a self-service website. Our process looks like this:

  • We send potential customers their invite to the platform which is triggered by retool when you add the user (invites are retool standard and currently can have your brand but you can't edit the text of the email). Of course, by then we already know the type of permissions and have their attributes, groups and resources linked to their user
  • Customers are told they have a 14 day trial
  • In retool, we have a my subscription page, which leads them directly to the retool pricing page/payment link (depending on user). You can also embed the stripe page in it.
  • Once payment is done, we get a notification. If we don't get the notification, we will remove user access and inform them via email.

Again, it can be achieved but not automated, unless you have enterprise level at retool which gives you access to their end points to create/disable users, add attributes, send emails etc.

Hello @MiguelOrtiz
Thanks a lot for that detailed answer!
Just so I get this right, your process basically looks like this:
-) Potential clients either find you on your website or you contact them directly. Each way, in order to get access to the software, you need to send them an invitation link which happens by adding them as a user (manual process done by you).
-) When following the link, I assume they need to create a Retool account themself. Is this account automatically billed from YOUR account then? Or do they need to subscribe to Retool themselves and add a payment method?
-) Within the Retool App you implement the Stripe Payment system. If you receive a payment, they keep access, if you don‘t, you remove their user access. You check and do this manually. And if you don‘t receive a payment, you have to pay for their Retool account for one month anyway - thats your loss.
Please correct me if I got something wrong here. Thanks for your great help!

Hey @peter.bruckner,

-) Potential clients either find you on your website or you contact them directly. Each way, in order to get access to the software, you need to send them an invitation link which happens by adding them as a user (manual process done by you).

Correct. We have a small but steady stream of referrals, so we first make a demo and then send the invite.

-) When following the link, I assume they need to create a Retool account themself. Is this account automatically billed from YOUR account then? Or do they need to subscribe to Retool themselves and add a payment method?

The link they receive is an invite to create "an account". They never see retool (except for the "powered by retool" button on the bottom. TEchnically, they create a user within your retool account, which is already billed to you. So no, they won't need to add a payment method.

-) Within the Retool App you implement the Stripe Payment system. If you receive a payment, they keep access, if you don‘t, you remove their user access. You check and do this manually. And if you don‘t receive a payment, you have to pay for their Retool account for one month anyway - thats your loss.

Correct, we have notifications in place to make this as automated as possible. But removing their access is still done manually. And yes, that first month is our loss.

I'm sure there are better ways of doing it, but for my current business model this is worknig just fine.

1 Like