BrandKarma

create_content_item

Creates a new content item (article). Two paths: (a) pass 'content' with the full markdown article — done; or (b) pass 'brief' with instructions and call generate_content_from_item afterward to fill 'content' from the brief via AI. Provide at least one of 'content' or 'brief'. Free-text fields (title, description, brief, metaTitle, metaDescription) are plain text — send literal characters, do not HTML-escape (no '&amp;', '&lt;', or '<tag>'). 'content' is markdown and intentionally permits inline HTML.

Remote Account required revuo:brandkarma-4084

Remote (network-hosted) · Requires an account with the vendor · OAuth

Other tools also called create_content_item? See providers with this name

Input Schema


            {
  "type": "object",
  "properties": {
    "brandId": {
      "description": "Brand ID (ObjectId)",
      "type": "string"
    },
    "title": {
      "description": "Article title (used as H1). Plain text.",
      "type": "string"
    },
    "description": {
      "description": "Short description / excerpt. Plain text.",
      "type": "string"
    },
    "content": {
      "description": "Full article content in markdown. Omit when supplying 'brief' to generate later via generate_content_from_item.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "slug": {
      "description": "URL slug (auto-generated from title if omitted)",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "language": {
      "description": "Language code (default 'en')",
      "type": "string",
      "default": "en"
    },
    "status": {
      "description": "Status: Draft, ReadyForReview, Published, Archived (default Draft)",
      "type": "string",
      "default": "Draft"
    },
    "categoryId": {
      "description": "Category ID (ObjectId) — use list_categories to find available categories",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "primaryKeyword": {
      "description": "Primary SEO keyword",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "tags": {
      "description": "Tag strings for the public blog.",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "metaTitle": {
      "description": "Meta title for SEO. Plain text.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "metaDescription": {
      "description": "Meta description for SEO. Plain text.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "imageUrl": {
      "description": "Featured image URL",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "brief": {
      "description": "Content brief (markdown) — detailed instructions for content generation. Pair with generate_content_from_item to materialize 'content'.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "internalTags": {
      "description": "Internal tag strings (private, not shown on public blog).",
      "type": [
        "array",
        "null"
      ],
      "items": {
        "type": [
          "string",
          "null"
        ]
      },
      "default": null
    },
    "targetWordCount": {
      "description": "Target body word count the writer should aim for when generating from the brief (e.g. 1500). The brief should also state this; setting it here makes it deterministic. Null falls back to the role-based default (3000 pillar, 1000 support).",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "contentRole": {
      "description": "Writer role for brief-driven generation: 'Pillar' or 'Support'. Defaults to Support when null.",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "brandId",
    "title",
    "description"
  ]
}