Publish on brand
Connect your content platform or design tool, let the server draft and check your content against your voice profile and terms, and publish the approved result back. Every step happens in the Bowrain web app, with no codebase and no command line.
You end with:
- a workspace with voice guidance and terms;
- a project connected to your content platform or design tool;
- server runs that draft and check the content;
- a review session for what a machine cannot decide;
- a publish step that writes the result back where it came from.
Context first, then connect, run the loop, review, and publish back.
You need access to a Bowrain workspace; see
First login for signing in and creating one. Adding
connectors requires the manage connectors permission. Approving a scan's
proposals and saving a voice profile require manage_voice, and promoting
terms requires manage_terms.
1. Set up the context
A run enforces what the workspace has written down. Every project in the workspace shares these:
- The axes your content varies along: the brand, the kind of document, the market. Content sits at a point on them, and what governs it is bound there.
- A voice profile: a machine-readable description of how content at a point should read: tone, style rules, preferred and forbidden vocabulary, before/after examples. Most workspaces call their default profile brand. Once saved, it runs as checks over everything a run produces. Your reviewers' corrections become candidate rules, and a reviewer promotes the ones to keep into the profile.
- Terms: the concepts and terms your team has decided on, per language, with lifecycle statuses (preferred, deprecated, forbidden). Term suggestions appear in the editor, and term use is checked on everything a run produces.
To start, run a context scan over material you already have: pasted copy, public web pages or uploaded documents. It proposes the axes, a voice profile and term candidates for you to edit and approve. A proposal takes effect only when you approve it. You can also add concepts directly in the terms explorer, or import an existing terms list from CSV or JSON.
A short profile is enough to continue. Further rules come from the fixes reviewers make to real output.
2. Connect where your content lives
Create a project with your source language and any target languages you want (see First login), then open the project's Connectors view from the project sidebar. Connectors are shared across the workspace; fetching and publishing act on the project you are in.
Click Add connector, pick the system, and fill in its credentials. They are write-only: the server uses them to sync, and the interface never displays them again. Each connector syncs part of its system. Check the limits when you plan what to route through Bowrain:
| System | What syncs | Publish back | Notable limits |
|---|---|---|---|
| WordPress | Posts: title, body, excerpt | Yes, updates fetched posts in place | First 100 posts; posts only (no pages, custom types, or media); never creates posts or changes their status |
| HubSpot | CMS site pages: HTML title and meta description | Yes, patches the page object | Body content and modules are out of scope; a separate publish inside HubSpot may be needed to go live |
| Figma | Every text layer of one design file | No, pull-only | Translations are exported and applied outside Figma |
Once a connector is added, Browse content shows what it can see, and Fetch now pulls that content into the project as source text. Sync is explicit: connectors run only when you ask, and a fetch stores source content without starting a run. To script these operations, use the workspace connectors API.
For a one-off document with no connector, such as a press release, a slide deck or a contract, upload the file directly into the project and export the finished file from the editor in its original format.
3. Draft and check
Content fetched from a connector is ordinary project content, and a server run catches it up. Each run:
- checks the source against the context;
- reuses what the workspace content memory already holds;
- drafts the rest with AI, using the voice profile and terms in force at each point;
- checks everything it produced;
- holds back for review what a machine cannot decide.
Start a run from the project's Runs view with Run now. The run's progress, pass count and per-locale summary appear in the same view. A connector fetch raises no server event, so start a run after a fetch. Automation rules react to content pushed from a repository or the CLI.
To control the steps, for example to draft and then run one specific check, write a server-side flow on the project's Automations > Flows tab and run it over the project. A flow works the same on content from any connector.
4. Review
Items a run holds back appear in the project's review session. It lists every pending block across items and locales, with the source, the draft, the checks and the voice findings side by side. Approve, reject or edit each block, or approve everything that passes the checks and the voice bar in one action. Approving the last pending block starts the run that delivers the results.
Recurring corrections become candidate voice rules with a measured blast radius. Promoting one makes it an enforced check on every later generation (see Voice and corrections). The per-locale ship state on the dashboard shows what can go out today.
5. Publish back
Content leaves Bowrain only when you publish it. In the project's Connectors view, click Publish on the connector and confirm. The connector writes the project's stored text back to the matching items in the remote system and overwrites what is there.
What arrives depends on the system:
- WordPress posts are updated in place: title, body and excerpt. Their publication status stays as it was.
- HubSpot pages receive their new title and meta description. You may still need to publish the page inside HubSpot to make it live.
- Figma has no publish path. Export the translations and apply them through your design workflow.
Each connector page lists what its publish writes.
What's next
- Keeping content caught up: what a run does, who starts it, and where work waiting for review goes
- Context scan: propose axes, a voice profile and terms from material you already have
- Voice and corrections: how corrections become enforced rules
- Connectors: every connector, including repositories and checkouts
- Review: the session, bulk approval, and ship states