brand_create
Create a brand in your organization. Every context section is optional — start with a name and fill it in over time.
Creates a Brand in your organization. Its slug — the stable handle agents use — is derived from the name unless you pass one explicitly.
Input
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Display name. |
description |
string |
yes | One-line summary, used when listing brands. |
identity |
string |
no | Positioning, mission, offering, category (markdown). |
voice |
string |
no | Tone of voice and personality (markdown). |
guidelines |
string |
no | Do’s and don’ts, claims to avoid (markdown). |
messaging |
string |
no | Key messages, value props, proof points (markdown). |
website_url |
string |
no | The brand’s public site. http/https, up to 2048 characters. |
slug |
string |
no | Explicit handle; normalized to kebab-case. |
Every context section is optional. A brand with nothing but a name and description is a valid starting point — you’re expected to fill it in as you go, not to write the whole thing up front.
website_url is a locator, like the slug — where the brand lives on the web, not a fifth section. It is stored and handed back by brand_get; its contents are not. Setting it does nothing on its own.
Output
The created brand, including its slug and revision (which starts at 1).
Example
“Set up a brand for Acme Running — direct, unfussy tone, never hype it.”
brand_create({
name: 'Acme Running',
description: 'DTC running shoes.',
voice: 'Direct, unfussy, never hype.',
});
// → { slug: 'acme-running', revision: 1, identity: null, … }
Slugs must be unique
If a brand with the derived slug already exists, the call fails rather than
silently adding a suffix. Choose a different name, or pass an explicit slug.
There is no tool that reads the site for you
The console reads a brand’s website and proposes its four sections at
creation, and that is deliberately not exposed as a tool. If you can fetch
a page, read the site and write the sections yourself into brand_create or
brand_update — you can also ask the user a
question about it first, which nothing on our side can.
Requires the brand:write scope.