Integrating Pages
As a developer, you can integrate Builder into your codebase and give other team members, such as content editors, marketers, and designers the ability to build and manage pages without ever having to ping you.
This document shows you how to connect the Builder.io drag-and-drop page building UI to your existing app. If you don't have an app already, you can use the Builder CLI to quickly generate one.
Tip: This guide is step-by-step. If you'd prefer a more succinct guide to integrating, see Developer Quickstart, which is a cheatsheet version of this document.
Create an app if you don't have one
Tip: We highly recommend that you integrate Builder into an existing app; however, if you need to create an app, follow the steps for your framework in this section.
Add Builder as a dependency
Start the development server with the appropriate command:
Add a Builder component to your app
Using your app with Builder
Builder adds the ability for your team members–even those who don't code–to create and iterate on ideas with a drag-and-drop interface.
Head over to Builder.io to sign up for an account if you don't already have one. Come back when you're logged in.
Getting your API Key
To connect your Builder.io space to your application, add the Public API key to your code.
- Go to your Account settings by clicking on the Account icon in the left sidenav.
- Copy the Public API Key.
- Paste the Public API Key into your app by replacing the
YOUR_API_KEY
placeholder in your code. This location varies depending on your framework and is covered in the earlier sections of this tutorial.
The following video shows copying the Public API Key and pasting it into a Next.js app.
Setting the model preview URL
To enable Builder to open your site in the Visual Editor, provide a URL that Builder can open which has the Builder rendering component in it.
- Go to Models and choose the Page model.
- Set the Preview URL to
http://localhost:3000
. Be sure to include thehttp://
. - Click Save.
The following video shows these steps:
Creating a Builder Page
Create a Builder Page to use with your integrated app.
- Go to Content.
- Click the +New button near the top right of the screen.
- Create a new page in Builder and name it
Test Page
. Notice that Builder automatically generates the path as/test-page
. - When you are prompted to choose a starting template, choose Blank. The editor for your new page loads automatically.
- In your new page, drag in a Text block.
- Click Edit and add something like, "I did it!!".
- Click the Publish button in the upper right of the browser.
The next video shows creating a page in a Builder-integrated app and dragging in a text block:
Tip: After you deploy your updates, be sure to update this to a public URL, such as your live site or your staging site; for example, https://your-site.com
, so anyone on your team can connect to your site for visual editing.
Go to http://localhost:3000/test-page
and check out your work. Well done!
If you're using the Angular CLI, the default port is 4200
, rather than 3000
. For Gatsby, the default port is 8000
, and requires a restart for the Gatsby dev server to see your new page.
If you're getting a 404 but aren't sure why, check these things:
- Make sure you've published your page in Builder by clicking the Publish button on the upper right corner.
- Check the URL. If you name the page
test2
for example, Builder adds a hyphen, so that the URL segment istest-2
.
Builder Pages best practice
We recommend that you place your Builder pages between your header and footer. A common use case is developers keeping headers and footers in their codebase while integrating page building. In this way, non-developer team members can iterate on pages, without having to rely on developers.
To use Builder pages between your header and footer, follow the guidance below for your framework:
This guide demonstrated integrating page building into an app. For more demo apps in many frameworks, see Builder's GitHub repository for complete examples.
Next Steps
Looking to hire a 3rd party to help with your project?
Submit a project request and our partnerships team will reach out to connect you with an Expert from our partner ecosystem.