I am finally, finally on the cusp of completing a Builder.io visual editor integration for a client. There is just one more nagging technical problem to solve…logging in.
So I created a landing page editor in a legacy React CRA app…
Each row in the table is a landing page template from various sources, including Builder.io. When you use the create button, I use the Write API to create the content page. The ID of the content page is a column in the landing page template table in MySQL.
When the edit button is pressed I use the content ID to programmatically start the Visual Editor. The editor preview is handled by a NextJS app (I had to create a separate app because I simply could not get the CRA app to work in preview mode). Here is the way it looks for a newly created page with my custom controls…
This is exactly what I want. The user can create a landing page template and once published it will appear in the CRA app and then the template can be turned into an actual landing page by user’s of the client’s system. (the user’s user as it were).
Excellent! Except…except…for this all to work the user must be logged into Builder.io. If the user is not logged in, instead of the visual editor, the user will presented the login page for Builder.io
So my client will have possibly 20 admin users (principally sales and marketing personnel) that would be expected to create landing pages (possibly ballooning to 100 admin users in the future). In my view these users should not be forced to create new Builder.io accounts manually and then manually login and then manually select the proper Builder.io space. There has to be a better way.
I was hoping that this process would be like Twilio. I built a call center with Twilio that supports over 100 call center reps. These reps do not have to create their own user account on Twilio or login. When the call center is enabled for an employee by a system admin, I programmatically create a user for them and connect their system user accounts to their Twilio user accounts…this is all behind the scenes…seamless.
I was hoping to find a seamless way to do the same thing with Builder.io. Apparently this is not possible. There is a tantalizing option for SSO, but SSO is only on the enterprise plans. I called sales and they told me enterprise plans start at $40K/year. This is too rich for my client, given that the only thing we are getting is SSO.
So my question is…how to programmatically login to Builder.io? The Admin SDK has some interesting ideas with embed tokens, but there is nothing there on how to create users or login as a user. I am loathe to experiment with these as I’ve learned from hard experience that if there is no Builder.io example on how to do something…it probably cannot be done.


