How to programmatically login to Builder.io Visual Editor

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.

Hello @AQuirky,

Thanks for laying all of this out — I can see why this last piece feels frustrating. You’ve put together a very clean integration flow, but the login requirement is definitely a sticking point.

At the moment, it doesn’t seem possible to programmatically log in to Builder.io. The Visual Editor runs as an iframe of Builder’s own app, which requires an authenticated Builder.io user session. There isn’t an exposed API to create users or log them in automatically — the only officially supported option is SSO, which is only available on Enterprise plans.

We’ll also be discussing this internally to see if there’s another workaround we can come up with to make things smoother.

Thanks,

Hello @AQuirky

I wanted to follow up regarding my previous message about programmatic login. As mentioned, this isn’t currently possible — the Visual Editor requires an authenticated Builder.io user session, and the only officially supported option is SSO on Enterprise plans.

Please let me know if you have any further questions or if you’d like guidance on setting up SSO for your organization. We’re happy to assist.

Thanks,

Hi manish-sharma,

Yes, I expected this answer. I was prepared for disappointment. This is the story of builder.io integration for me: moments of euphoria following by crushing despair. There is a strange kind of rhythm to it I am slowly getting used to.

No I don’t want SSO. Twilio also offers SSO and we experimented with it in the beginning of our integration with Twilio. We quickly shut that down.

The problem with SSO is that it is like marriage. Till death do you part. Two companies that engage in SSO are joined at the hip. And when one of those companies is a vendor…the revenue opportunities abound! No wonder that your sales and marketing team loves SSO so much.

So we don’t want to marry builder.io. We just want to be friends. Not friends with benefits…just friends. We want to hang out. Come by the house once in a while…have a few brewskis. Instead we have to put up with our so-called friends asking for picture IDs each time we show up.

Have a great weekend.

Regards,

Aquirky

Hello @AQuirky

Thank you for sharing your thoughts — and for doing it with such a sense of humor! I completely understand where you’re coming from, and I appreciate your perspective on keeping things flexible without committing to SSO.

We’ll continue supporting your integration in a way that works best for you, without introducing unnecessary friction. If there’s any way we can make the experience smoother while staying within the constraints of the current setup, please don’t hesitate to reach out.

Best regards,