Connect Your Platform

Connect the place your website lives so the Engine can ship work directly to it — as drafts and pull requests, never straight to your live site.

We currently support:

Not sure what your site runs on?

Run it through the free website tech checker. It reads the page and its headers, names the CMS, framework and hosting, and says which of the connections below apply — before you open the Integrations page.

All connections live on the Integrations page in your brand’s sidebar, each with a status dot showing whether it’s connected. If your platform isn’t listed, you can still use the Engine — drafts are delivered in the app (or in a Google Doc) for you to copy over. And if you’d rather review drafts in Google Docs, no connection is needed at all — see Running Your First Job.

Is This Safe?

Connecting gives the Engine a deliberately limited role — it stages work for your approval, it doesn’t run your site:

  • It never edits your live site. CMS work is created as an unpublished draft; publishing happens in your CMS, by you.
  • Code changes never touch your main branch. Every change arrives as a pull request on its own branch. Your build checks run on it, the Engine fixes any build failures it caused, and nothing merges without your team’s review.
  • It can’t delete your content. The Engine has no tools for deleting pages or posts — it creates and edits drafts. Where supported, its edits come with a restore option to roll a change back.
  • Your credentials stay server-side. Tokens are stored securely, never shown again in the app, and you can rotate or disconnect anytime.

GitHub

Best if your website lives in a code repository. The Engine creates a branch and opens a pull request for every change.

  1. Open Integrations → GitHub and click Connect GitHub.
  2. Approve the BrandViz GitHub App on the repository you want — no tokens to copy.

That’s it. If you granted access to a single repository, you’re connected as soon as you approve: we take that repo and its default branch, and the confirmation tells you which branch pull requests will target (with a link to change it). Grant more than one and you pick which repository this brand uses.

The target branch is the one setting worth checking — every change the Engine makes is a pull request against it. It’s normally your default branch (main), and you can change it any time from the GitHub panel.

If BrandViz is already installed on your GitHub account — because you connected another brand, for example — GitHub won’t show you an approval screen again. It opens the installation’s settings page instead, and may not send you back to BrandViz at all. Use Already installed? Find my installations on the GitHub panel: you sign in to GitHub, we ask it which installations your account can reach, and you pick one. There’s no ID to copy.

If an organization owns the repository and you’re not an owner, GitHub records your install as a request and an owner has to approve it. Their approval opens in their browser, not yours — once it lands, come back to Integrations → GitHub and use Find my installations.

Why we ask you to sign in to GitHub

Approving the app tells us what a repository installation can reach. It doesn’t tell us whose it is. Signing in with your GitHub account is how we confirm the installation you’re connecting is one you actually have access to — the account that authorized it is shown on the panel afterwards. We don’t keep your GitHub sign-in; it’s used for that one check and discarded.

If the connection stops working — the app uninstalled or suspended in GitHub, or the repository removed from its access — the panel switches to Needs reconnecting and says which of those happened. Test connection re-checks on demand if you’d rather not wait.

AI App Builders

AI app builders keep your project in a GitHub repository, so the repository is what BrandViz connects to. Lovable has its own card in Integrations — start there.

Other builders (v0, Bolt and similar) aren’t supported as builders yet. Their repositories still connect fine through the GitHub card, and steps 1 and 3 below apply to them too — you just merge the pull requests yourself, and none of the Lovable-specific handling applies.

  1. In your builder, turn on GitHub sync. In Lovable that’s GitHub → Connect to GitHub at the top right of the project; it creates a repository in your account or org and keeps it in two-way sync. It’s available on every Lovable plan. You need to be able to install a GitHub App on whichever account owns that repo. Do this first — until sync is on, there is no repository for BrandViz to connect to.
  2. In BrandViz, connect that repository — Integrations → LovableConnect GitHub, then approve BrandViz on the synced repo. (On another builder: Integrations → GitHub.)
  3. Set the target branch to the branch your builder syncs. This is the step that catches people out. A builder syncs one branch (Lovable’s is main unless you’ve switched it). A pull request opened against any other branch can merge perfectly and never reach your builder.

Merging, and why we do it for you

On an ordinary code repository an open pull request is the deliverable: someone reviews it and merges when they’re happy. On a builder-synced repo it’s a dead end — until it’s merged, the change is nowhere you can look at it. You open your project, see the site exactly as it was, and it looks as though nothing happened.

So connecting through the Lovable card turns on Merge automatically when checks pass. Everything before the ending is unchanged: the Engine still works on its own branch, still opens the pull request, still waits for your build to go green and still fixes build failures it caused. It just does the merge for you when the build passes.

Merging is not publishing. It puts the change in your builder’s editor, where you review it the way you review your own work — and publishing from there is still what puts it in front of a visitor. If the build fails, or we can’t confirm it passed, the pull request is left open for you instead.

You can turn this off at any time — the setting sits under the connection details — and it’s off for any repository connected through the GitHub card. Without it, the flow is: the Engine opens a pull request → you review and merge it in GitHub → your builder picks the change up on its next sync → you publish from the builder as usual. Either way the Engine never pushes to your synced branch directly, and there’s no preview inside the builder before the merge.

Files the Engine leaves alone

On a Lovable project the Engine won’t edit the files Lovable owns and round-trips — lockfiles, vite.config.*, tsconfig.*, generated src/components/ui/**, supabase/**. Editing those from outside is what breaks a project’s two-way sync, so writes to them are refused rather than attempted.

WordPress

  1. Open Integrations → WordPress and enter your Site URL.
  2. Click Authorize to approve BrandViz directly on your WordPress site.

If your site can’t use the authorize flow, there’s a manual option: in wp-admin go to Users → Profile → Application Passwords, create one, and enter it with your username.

HubSpot

  1. In HubSpot, go to Settings → Integrations → Private Apps and create a private app. On the Scopes tab, add the content scope (under CMS) — the only permission BrandViz needs. Creating private apps requires super admin access.
  2. Click Create app, then copy its access token from the app’s Auth tab (starts with pat-).
  3. In Integrations → HubSpot, paste the token and click Connect. Your Portal ID is detected from the token, and BrandViz scans the portal for your blogs, authors and templates — pick a default blog and author in the panel once connected.

Webflow

Webflow keeps CMS content and page design behind two separate authorization servers, so the Webflow card has two rows.

CMS content

  1. In Webflow, open Site settings → Apps & integrations → API access and generate a Site API token with Sites, CMS, Pages and Components, all read and write. Issuing a token needs a workspace admin or owner seat.
  2. In Integrations → Webflow, paste the token and click Connect. Discovery lists your collections and picks the blog.
  3. Confirm, or override, which collection holds your blog posts.

Pages & design

  1. On the second row of the Webflow card, click Connect and approve the Webflow consent screen, picking which sites to grant. This grants read access only.
  2. To let the Engine build and edit page sections, turn on editing on that row. It is off by default, and every overwritten value is captured first so a page can be restored from the job card.

Contentful

  1. In Contentful, install the BrandViz app into your space (Apps → Custom apps).
  2. In Integrations → Contentful, enter your Space ID and environment — no token to copy.
  3. Choose which content type holds your blog posts.

A fallback exists if you prefer a personal access token: create one in Contentful under Settings → CMA tokens.

Shopify

  1. Open Integrations → Shopify, enter your store’s <store>.myshopify.com address (Settings → Domains in the Shopify admin) and click Connect with Shopify.
  2. Approve the BrandViz app on your store — no token to copy. BrandViz then reads the store’s blogs, pages, products, collections, metaobject types and published theme.
  3. Pick the blog new posts go to. Every article or page the Engine writes lands as an unpublished draft you publish or schedule yourself.

Shopify has no draft state for a published page, a product, a collection or an active metaobject: an edit to one is live the moment a job finishes. That is why Edits to live content is off by default, one switch per surface — published articles and pages, products and collections, metaobject entries, navigation menus. With everything off the Engine only creates drafts and edits unpublished items; each switch you turn on lets it also edit that kind of live content, and it keeps a before/after copy of every field in the job record. Menus are the one surface with nothing but live: a link the Engine adds to your header appears the moment the job finishes, so that switch stays off unless you want it managing navigation. On a store built from a basic setup the Engine can also create a blog (a second one for guides, say) or a metaobject type (an FAQ or testimonial type) and fill it with draft entries; you then connect a theme section to it in the theme editor. It can write the alt text on product images; uploading or reordering images is not something it does yet.

If you cannot install the app, create a custom app in Shopify (Settings → Apps and sales channels → Develop apps) with read/write on Content, Products, Metaobjects, Metaobject definitions and Online Store navigation plus read on Themes and Locales, and paste its Admin API access token instead.

Not sure which to pick?

Connect the platform where your content actually gets published. If your marketing site is on WordPress, connect WordPress — the Engine’s drafts will appear right where your team already reviews content.