BrandKarma
upsert_content_guideline
Create or update a single per-language content guideline on the brand. Mode 'merge' (default) preserves omitted fields and dedups glossary entries by preferred term. Mode 'replace' overwrites the guideline wholesale with the supplied fields. Country fallback chain on read: (language+country) → (language with no country); there is no (language+otherCountry) fallback. Free-text fields ('formalityNotes', 'voiceNotes', 'styleNotes', 'formatRules') and glossary / banned-phrases entries are plain text — send literal characters, do not HTML-escape (no '&', '<', or '<tag>').
Remote Account required revuo:brandkarma-4084
Remote (network-hosted) · Requires an account with the vendor · OAuth
Other tools also called upsert_content_guideline?
See providers with this name
Input Schema
{
"type": "object",
"properties": {
"brandId": {
"description": "Brand ID (ObjectId)",
"type": "string"
},
"language": {
"description": "ISO language code, e.g. 'de', 'en', 'it'.",
"type": "string"
},
"country": {
"description": "Optional ISO country code for DACH-style splits, e.g. 'DE', 'AT'.",
"type": [
"string",
"null"
],
"default": null
},
"formalityNotes": {
"description": "Free-text formality guidance. Example: 'Use Sie throughout'. Plain text only.",
"type": [
"string",
"null"
],
"default": null
},
"voiceNotes": {
"description": "Free-text voice / tone descriptors. Plain text only.",
"type": [
"string",
"null"
],
"default": null
},
"styleNotes": {
"description": "Catch-all soft-prompting style instructions. Plain text only.",
"type": [
"string",
"null"
],
"default": null
},
"glossary": {
"description": "Glossary entries. Each entry has a required 'preferred' term, optional 'avoid' term, and optional 'notes'. In merge mode entries are upserted by 'preferred' (case-insensitive).",
"type": [
"array",
"null"
],
"items": {
"type": [
"object",
"null"
],
"properties": {
"preferred": {
"description": "Preferred term the brand uses (e.g. 'Niederlassung'). Required.",
"type": [
"string",
"null"
]
},
"avoid": {
"description": "Term to avoid in favor of 'preferred' (e.g. 'Filiale'). Optional.",
"type": [
"string",
"null"
]
},
"notes": {
"description": "Optional notes on why this term is preferred / when to apply it.",
"type": [
"string",
"null"
]
}
}
},
"default": null
},
"bannedPhrases": {
"description": "Phrases the writer must never produce in this language (e.g. SaaS clichés, fourth-wall openers). In merge mode the supplied list is unioned with the existing entries (case-insensitive). Pass an empty list in replace mode to clear.",
"type": [
"array",
"null"
],
"items": {
"type": [
"string",
"null"
]
},
"default": null
},
"formatRules": {
"description": "Optional free-text format rules specific to this language — number/date conventions beyond the defaults already in the prompt. Plain text only.",
"type": [
"string",
"null"
],
"default": null
},
"mode": {
"description": "'merge' to update only provided fields and merge glossary; 'replace' to overwrite wholesale. Default 'merge'.",
"type": "string",
"default": "merge"
}
},
"required": [
"brandId",
"language"
]
}