Update Brand Profile
update_brand_profileEdits one section of the Brand page: section=voice (Brand and voice), visual (Visual identity: logo, colors, fonts), overlay (Entities and evidence: primary and secondary entities, experts, evidence, sameAs, Wikidata ids) or offer (Offer: what is sold today, available now, planned and not available yet, pricing, promises, claims to avoid). Pass the section's object with only the fields that change, in the shape get_brand_context returns under profile. Fields you leave out keep their saved values; lists you send replace the saved list; an empty string clears a text field. voice.voice and voice.companyFacts merge key by key, and visual.colors merges by role. Set the logo with visual.logoAssetId, an image id from search_assets or add_asset. Overlay evidence cites a source by sourceId (get_brand_context sources) or a sourceUrl. Confirmed means a person reviewed the section, and Mark's own drafting uses a section only once it is confirmed. Saving clears the section's confirmation unless you pass confirm: true. Only pass confirm: true when the person you act for has reviewed the content and explicitly asked you to confirm it. confirm: true with no fields confirms the section as it is. Otherwise send them the returned appUrl to review and confirm it there. BrandProfile voice (do, dont, principles, doctrine) is prose guidance the model reads. A voice.voice.tone entry can name its limit as ', not ' ('warm, not gushing'). voice.voice.antiExamples holds posts that don't sound like the brand; drafts read them as what to avoid. Claims the brand must not make go in offer.claimsToAvoid, not voice.dont. Literal phrases to block or warn on belong in save_content_exclusion. Related: get_brand_context, search_assets, add_asset, save_content_exclusion.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"section": "<section>"
},
"name": "update_brand_profile"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| offer | No | Offer fields to change: today (what you sell today, one or two sentences), availableNow (list), planned (list: planned and not available yet), pricing (text), promises (list), claimsToAvoid (list). | |
| voice | No | Brand and voice fields to change: positioning, differentiators, doctrine, voice {tone, principles, do, dont, examplePosts, antiExamples, hashtags, ctaDefaults}, companyFacts {name, site, hq, productRangeSummary, languages}. | |
| visual | No | Visual identity fields to change: logoAssetId (image asset id; empty string removes the logo), faviconUrl, colors [{role: primary|secondary|accent|background|text, value: #RRGGBB}], headingFont, bodyFont. | |
| confirm | No | Default false. true marks the section as reviewed by a person. Only when they explicitly asked you to confirm it. | |
| overlay | No | Entities and evidence fields to change: primaryEntity, secondaryEntities (at most 3), experts [{name, title, sourceUrl?}], evidence [{label, sourceId or sourceUrl}], sameAs (profile URLs), wikidataIds (like Q42). | |
| section | Yes | Which Brand section to update. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| appUrl | Yes | ||
| values | Yes | ||
| section | Yes | ||
| confirmed | Yes |