Now talk to Hivekind in Claude or ChatGPT. Your priority accounts, GTM context, right where you work.

Content

domain.content.v2

Read Library status/context, resolve the existing record, then use the matching messaging/product/persona/ICP/signal-definition writer. A proposal does not save a record: review the proposal and invoke the documented save operation when authorized. Search/get playbooks before creating, changing or binding them.

Upsert a buying role

library.buying_role.upsert.v2

Use when: Create or update one purchase role (Champion, Economic Buyer, or a custom role).

Avoid when: To seed a full methodology set, use library.committee.seed.v2.

Effects: Creates or updates a buying role. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.buying_role.upsert.v2",
      "arguments": {
        "description": "Example approved workspace context",
        "name": "Example buying role"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "buying_role_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact buying role UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Buying Role Id"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "is_optional": {
      "default": false,
      "description": "Whether to apply is optional for this operation.",
      "title": "Is Optional",
      "type": "boolean"
    },
    "sort_order": {
      "anyOf": [
        {
          "maximum": 1000,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Sort order used by the public library buying role upsert input v2 operation.",
      "title": "Sort Order"
    }
  },
  "title": "McpPublicLibraryBuyingRoleUpsertInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.buying_role.upsert.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibraryBuyingRoleUpsertResultV2",
  "type": "object"
}

Seed buying roles

library.committee.seed.v2

Use when: Seed purchase roles from a sales methodology (MEDDICC, BANT, and others). Idempotent.

Avoid when: Do not use this to create a persona — that is library.persona.upsert.v2.

Effects: Creates or updates buying-role rows. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.committee.seed.v2",
      "arguments": {
        "methodology": "Standard"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "methodology": {
      "description": "Methodology used by the public library committee seed input v2 operation.",
      "enum": [
        "Standard",
        "MEDDICC",
        "SPIN",
        "Challenger Sale",
        "BANT",
        "Miller Heiman"
      ],
      "title": "Methodology",
      "type": "string"
    }
  },
  "required": [
    "methodology"
  ],
  "title": "McpPublicLibraryCommitteeSeedInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "LibraryBuyingRoleSummaryV1": {
      "additionalProperties": false,
      "properties": {
        "buying_role_id": {
          "format": "uuid",
          "title": "Buying Role Id",
          "type": "string"
        },
        "name": {
          "maxLength": 160,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "maxLength": 4000,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "methodology": {
          "anyOf": [
            {
              "maxLength": 64,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Methodology"
        },
        "is_optional": {
          "default": false,
          "title": "Is Optional",
          "type": "boolean"
        },
        "resource_uri": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Resource Uri",
          "type": "string"
        }
      },
      "required": [
        "buying_role_id",
        "name",
        "resource_uri"
      ],
      "title": "LibraryBuyingRoleSummaryV1",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "V2 result for library.committee.seed.v2; preserves the established validators.",
  "properties": {
    "methodology": {
      "enum": [
        "Standard",
        "MEDDICC",
        "SPIN",
        "Challenger Sale",
        "BANT",
        "Miller Heiman"
      ],
      "title": "Methodology",
      "type": "string"
    },
    "roles": {
      "default": [],
      "items": {
        "$ref": "#/$defs/LibraryBuyingRoleSummaryV1"
      },
      "maxItems": 30,
      "title": "Roles",
      "type": "array"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "methodology",
    "next_step"
  ],
  "title": "PublicLibraryCommitteeSeedResultV2",
  "type": "object"
}

Propose an ICP rubric

library.icp.propose.v2

Use when: Draft an ICP rubric from a description. Does not persist and does not consume credits.

Avoid when: Do not use this to score accounts — that is icp.score.get.v2. Do not save until the user confirms library.icp.save.v2.

Effects: May change workspace state or start work; describe before invoking.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: icp:read, runs:create. Approval: operation authorization. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.icp.propose.v2",
      "arguments": {
        "description": "Example description"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "description": {
      "description": "Human-readable description of the record or requested outcome.",
      "maxLength": 8000,
      "minLength": 1,
      "title": "Description",
      "type": "string"
    },
    "current_rubric": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Current rubric used by the public library icp propose input v2 operation.",
      "title": "Current Rubric"
    },
    "regenerate_section": {
      "anyOf": [
        {
          "enum": [
            "dimensions",
            "tiers",
            "disqualifiers",
            "extracted_fields",
            "persona_dimensions"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Regenerate section used by the public library icp propose input v2 operation.",
      "title": "Regenerate Section"
    }
  },
  "required": [
    "description"
  ],
  "title": "McpPublicLibraryIcpProposeInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "description": "V2 result for library.icp.propose.v2; preserves the established validators.",
  "properties": {
    "rubric_json": {
      "additionalProperties": {
        "$ref": "#/$defs/JsonValue"
      },
      "title": "Rubric Json",
      "type": "object"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "next_step"
  ],
  "title": "PublicLibraryIcpProposeResultV2",
  "type": "object"
}

Save an ICP rubric

library.icp.save.v2

Use when: Persist a proposed or edited ICP rubric and optionally activate it for the signed-in user.

Avoid when: Do not use this to score accounts. Propose first with library.icp.propose.v2. Fresh grading uses icp.grading.preview.v2 then icp.grading.start.v2; icp.score.get.v2 reads an audited score for free.

Effects: Saves an ICP rubric version. Does not send. Does not score accounts.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute, icp:read. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.icp.save.v2",
      "arguments": {
        "name": "Example name",
        "rubric_json": {}
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "Human-readable name for the record.",
      "maxLength": 160,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "description": {
      "default": "",
      "description": "Human-readable description of the record or requested outcome.",
      "maxLength": 8000,
      "title": "Description",
      "type": "string"
    },
    "rubric_json": {
      "additionalProperties": {
        "$ref": "#/$defs/JsonValue"
      },
      "description": "Rubric json used by the public library icp save input v2 operation.",
      "title": "Rubric Json",
      "type": "object"
    },
    "activate": {
      "default": true,
      "description": "Activate used by the public library icp save input v2 operation.",
      "title": "Activate",
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "rubric_json"
  ],
  "title": "McpPublicLibraryIcpSaveInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.icp.save.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibraryIcpSaveResultV2",
  "type": "object"
}

Upsert messaging

library.messaging.upsert.v2

Use when: Create or version positioning, voice, and do/don't-say. Can mark a default narrative.

Avoid when: Do not use this to launch a campaign or send mail.

Effects: Creates or versions a messaging record. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.messaging.upsert.v2",
      "arguments": {
        "name": "Example messaging",
        "positioning_statement": "Example approved positioning"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "messaging_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact messaging UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Messaging Id"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "is_default": {
      "default": false,
      "description": "Whether to apply is default for this operation.",
      "title": "Is Default",
      "type": "boolean"
    },
    "positioning_statement": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Positioning statement used by the public library messaging upsert input v2 operation.",
      "title": "Positioning Statement"
    },
    "value_proposition": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Value proposition used by the public library messaging upsert input v2 operation.",
      "title": "Value Proposition"
    },
    "voice_attributes": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Voice attributes used by the public library messaging upsert input v2 operation.",
      "title": "Voice Attributes"
    },
    "do_say": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Do say used by the public library messaging upsert input v2 operation.",
      "title": "Do Say"
    },
    "dont_say": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Dont say used by the public library messaging upsert input v2 operation.",
      "title": "Dont Say"
    },
    "channel_guidelines": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Channel guidelines used by the public library messaging upsert input v2 operation.",
      "title": "Channel Guidelines"
    },
    "pain_point": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pain point used by the public library messaging upsert input v2 operation.",
      "title": "Pain Point"
    },
    "ideal_customer_fit": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ideal customer fit used by the public library messaging upsert input v2 operation.",
      "title": "Ideal Customer Fit"
    },
    "key_benefits": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Key benefits used by the public library messaging upsert input v2 operation.",
      "title": "Key Benefits"
    },
    "proof_points": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "$ref": "#/$defs/JsonValue"
            },
            "type": "object"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Proof points used by the public library messaging upsert input v2 operation.",
      "title": "Proof Points"
    },
    "objection_handlers": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "$ref": "#/$defs/JsonValue"
            },
            "type": "object"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Objection handlers used by the public library messaging upsert input v2 operation.",
      "title": "Objection Handlers"
    },
    "case_studies": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "$ref": "#/$defs/JsonValue"
            },
            "type": "object"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Case studies used by the public library messaging upsert input v2 operation.",
      "title": "Case Studies"
    },
    "version_label": {
      "anyOf": [
        {
          "maxLength": 255,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Version label used by the public library messaging upsert input v2 operation.",
      "title": "Version Label"
    }
  },
  "title": "McpPublicLibraryMessagingUpsertInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.messaging.upsert.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibraryMessagingUpsertResultV2",
  "type": "object"
}

Upsert a persona

library.persona.upsert.v2

Use when: Create or version a job-title persona with titles, JTBD, and buying_role_ids.

Avoid when: Do not confuse personas with purchase roles. Use contact_titles when searching contacts.

Effects: Creates or versions a persona. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.persona.upsert.v2",
      "arguments": {
        "description": "Example approved workspace context",
        "name": "Example persona"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "persona_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact persona UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Persona Id"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "responsibilities": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Responsibilities used by the public library persona upsert input v2 operation.",
      "title": "Responsibilities"
    },
    "contact_titles": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 40,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Contact titles used by the public library persona upsert input v2 operation.",
      "title": "Contact Titles"
    },
    "objectives_jtbd": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Objectives jtbd used by the public library persona upsert input v2 operation.",
      "title": "Objectives Jtbd"
    },
    "pain_points": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "$ref": "#/$defs/JsonValue"
            },
            "type": "object"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pain points used by the public library persona upsert input v2 operation.",
      "title": "Pain Points"
    },
    "goals": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Goals used by the public library persona upsert input v2 operation.",
      "title": "Goals"
    },
    "preferred_channels": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Preferred channels used by the public library persona upsert input v2 operation.",
      "title": "Preferred Channels"
    },
    "objections": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": {
              "$ref": "#/$defs/JsonValue"
            },
            "type": "object"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Objections used by the public library persona upsert input v2 operation.",
      "title": "Objections"
    },
    "buying_role_ids": {
      "anyOf": [
        {
          "items": {
            "format": "uuid",
            "type": "string"
          },
          "maxItems": 20,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact buying role UUIDs returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Buying Role Ids"
    },
    "version_label": {
      "anyOf": [
        {
          "maxLength": 255,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Version label used by the public library persona upsert input v2 operation.",
      "title": "Version Label"
    }
  },
  "title": "McpPublicLibraryPersonaUpsertInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.persona.upsert.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibraryPersonaUpsertResultV2",
  "type": "object"
}

Upsert product

library.product.upsert.v2

Use when: Create or version what the workspace sells.

Avoid when: Do not use this to set ICP or launch outreach.

Effects: Creates or versions a product record. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.product.upsert.v2",
      "arguments": {
        "description": "Example approved workspace context",
        "name": "Example product"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "product_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact product UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Product Id"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "kind": {
      "anyOf": [
        {
          "enum": [
            "product",
            "service"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Kind used by the public library product upsert input v2 operation.",
      "title": "Kind"
    },
    "ideal_for": {
      "anyOf": [
        {
          "maxLength": 4000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Ideal for used by the public library product upsert input v2 operation.",
      "title": "Ideal For"
    },
    "use_cases": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Use cases used by the public library product upsert input v2 operation.",
      "title": "Use Cases"
    },
    "key_features": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Key features used by the public library product upsert input v2 operation.",
      "title": "Key Features"
    },
    "differentiators": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Differentiators used by the public library product upsert input v2 operation.",
      "title": "Differentiators"
    },
    "pricing_model": {
      "anyOf": [
        {
          "enum": [
            "subscription",
            "per_seat",
            "usage",
            "one_time",
            "custom"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Pricing model used by the public library product upsert input v2 operation.",
      "title": "Pricing Model"
    },
    "url": {
      "anyOf": [
        {
          "maxLength": 2000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Url used by the public library product upsert input v2 operation.",
      "title": "Url"
    },
    "version_label": {
      "anyOf": [
        {
          "maxLength": 255,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Version label used by the public library product upsert input v2 operation.",
      "title": "Version Label"
    }
  },
  "title": "McpPublicLibraryProductUpsertInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.product.upsert.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibraryProductUpsertResultV2",
  "type": "object"
}

List library records

library.records.search.v2

Use when: List one Library entity type (ids, names, versions) so you can open hivekind://library/{entity}/{id}.

Avoid when: Use library.status.get.v2 for completion, not a dump of every facet.

Effects: Reads current workspace state.

Cost: No gateway credit charge; reads saved workspace data without starting paid provider work. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. Reads do not need an operation UUID.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.records.search.v2",
      "arguments": {
        "entity_type": "workspace"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "entity_type": {
      "description": "Entity type used by the library records search input v2 operation.",
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "query": {
      "default": "*",
      "description": "Search text. Use a name, domain, title, or other identifying phrase relevant to this operation.",
      "maxLength": 255,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of records to return in this page.",
      "maximum": 30,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "required": [
    "entity_type"
  ],
  "title": "McpLibraryRecordsSearchInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "LibraryListItemV1": {
      "additionalProperties": false,
      "properties": {
        "resource_id": {
          "format": "uuid",
          "title": "Resource Id",
          "type": "string"
        },
        "entity_type": {
          "enum": [
            "workspace",
            "messaging",
            "product",
            "offer",
            "competitor",
            "signal_type",
            "persona",
            "buying_role",
            "icp_rubric",
            "client",
            "proof_point",
            "brand",
            "landing_template",
            "gtm_assessment"
          ],
          "title": "Entity Type",
          "type": "string"
        },
        "name": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "summary": {
          "default": "",
          "maxLength": 4000,
          "title": "Summary",
          "type": "string"
        },
        "version_number": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Version Number"
        },
        "is_default": {
          "default": false,
          "title": "Is Default",
          "type": "boolean"
        },
        "resource_uri": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Resource Uri",
          "type": "string"
        }
      },
      "required": [
        "resource_id",
        "entity_type",
        "name",
        "resource_uri"
      ],
      "title": "LibraryListItemV1",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "items": {
      "default": [],
      "items": {
        "$ref": "#/$defs/LibraryListItemV1"
      },
      "maxItems": 30,
      "title": "Items",
      "type": "array"
    }
  },
  "title": "LibraryRecordsSearchResultV2",
  "type": "object"
}

Resolve library context

library.resolve_context.v2

Use when: Pull approved Library records (messaging, product, ICP, personas, buying roles, signal types, and other facets) for writing or targeting.

Avoid when: Do not use this to list playbooks — that is playbooks.search.v2. Do not use this to search live why-now events — that is signals.search.v2.

Effects: Reads current workspace state.

Cost: No gateway credit charge; reads saved workspace data without starting paid provider work. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. Reads do not need an operation UUID.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.resolve_context.v2",
      "arguments": {},
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "query": {
      "default": "*",
      "description": "Search text. Use a name, domain, title, or other identifying phrase relevant to this operation.",
      "maxLength": 255,
      "minLength": 1,
      "title": "Query",
      "type": "string"
    },
    "entity_types": {
      "default": [
        "messaging",
        "product",
        "offer",
        "icp_rubric",
        "persona",
        "buying_role",
        "signal_type"
      ],
      "description": "Entity types used by the public library resolve context input v2 operation.",
      "items": {
        "enum": [
          "workspace",
          "messaging",
          "product",
          "offer",
          "competitor",
          "signal_type",
          "persona",
          "buying_role",
          "icp_rubric",
          "client",
          "proof_point",
          "brand",
          "landing_template",
          "gtm_assessment"
        ],
        "type": "string"
      },
      "title": "Entity Types",
      "type": "array"
    },
    "resource_ids": {
      "default": [],
      "description": "Exact resource UUIDs returned by a Hivekind search, list, get, preview, or resource call.",
      "items": {
        "format": "uuid",
        "type": "string"
      },
      "maxItems": 30,
      "title": "Resource Ids",
      "type": "array"
    },
    "limit": {
      "default": 10,
      "description": "Maximum number of records to return in this page.",
      "maximum": 30,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "McpPublicLibraryResolveContextInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "JsonValue": {},
    "LibraryContextItemV1": {
      "additionalProperties": false,
      "properties": {
        "resource_id": {
          "format": "uuid",
          "title": "Resource Id",
          "type": "string"
        },
        "entity_type": {
          "enum": [
            "workspace",
            "messaging",
            "product",
            "offer",
            "competitor",
            "signal_type",
            "persona",
            "buying_role",
            "icp_rubric",
            "client",
            "proof_point",
            "brand",
            "landing_template",
            "gtm_assessment"
          ],
          "title": "Entity Type",
          "type": "string"
        },
        "name": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "summary": {
          "default": "",
          "maxLength": 4000,
          "title": "Summary",
          "type": "string"
        },
        "highlights": {
          "default": [],
          "items": {
            "type": "string"
          },
          "maxItems": 20,
          "title": "Highlights",
          "type": "array"
        },
        "version_number": {
          "anyOf": [
            {
              "minimum": 1,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Version Number"
        },
        "is_default": {
          "default": false,
          "title": "Is Default",
          "type": "boolean"
        },
        "editable_fields": {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "title": "Editable Fields",
          "type": "object"
        },
        "allowed_operations": {
          "default": [
            "replace"
          ],
          "items": {
            "enum": [
              "add",
              "replace"
            ],
            "type": "string"
          },
          "title": "Allowed Operations",
          "type": "array"
        }
      },
      "required": [
        "resource_id",
        "entity_type",
        "name"
      ],
      "title": "LibraryContextItemV1",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "description": "V2 result for library.resolve_context.v2; preserves the established validators.",
  "properties": {
    "items": {
      "default": [],
      "items": {
        "$ref": "#/$defs/LibraryContextItemV1"
      },
      "title": "Items",
      "type": "array"
    }
  },
  "title": "PublicLibraryResolveContextResultV2",
  "type": "object"
}

Propose a signal type

library.signal_type.propose.v2

Use when: Draft a why-now signal-type definition from a seed. Does not persist and does not consume credits.

Avoid when: Do not use this to search live events — that is signals.search.v2. Save with library.signal_type.save.v2 after the user confirms.

Effects: May change workspace state or start work; describe before invoking.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: runs:create. Approval: operation authorization. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.signal_type.propose.v2",
      "arguments": {
        "name": "Example name",
        "seed_description": "Example seed description"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "name": {
      "description": "Human-readable name for the record.",
      "maxLength": 160,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "seed_description": {
      "description": "Seed description used by the public library signal type propose input v2 operation.",
      "maxLength": 4000,
      "minLength": 1,
      "title": "Seed Description",
      "type": "string"
    },
    "industry_hint": {
      "anyOf": [
        {
          "maxLength": 255,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Industry hint used by the public library signal type propose input v2 operation.",
      "title": "Industry Hint"
    }
  },
  "required": [
    "name",
    "seed_description"
  ],
  "title": "McpPublicLibrarySignalTypeProposeInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "description": "V2 result for library.signal_type.propose.v2; preserves the established validators.",
  "properties": {
    "name": {
      "maxLength": 160,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "display_name": {
      "maxLength": 160,
      "minLength": 1,
      "title": "Display Name",
      "type": "string"
    },
    "description": {
      "default": "",
      "maxLength": 8000,
      "title": "Description",
      "type": "string"
    },
    "relevance": {
      "default": "",
      "maxLength": 8000,
      "title": "Relevance",
      "type": "string"
    },
    "messaging_guidance": {
      "default": "",
      "maxLength": 8000,
      "title": "Messaging Guidance",
      "type": "string"
    },
    "detection_config": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Detection Config"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "name",
    "display_name",
    "next_step"
  ],
  "title": "PublicLibrarySignalTypeProposeResultV2",
  "type": "object"
}

Save a signal type

library.signal_type.save.v2

Use when: Create or version a Library signal-type definition to pass into campaigns.launch.v2.

Avoid when: Do not use this to search live signals. Propose first unless the user already supplied the definition.

Effects: Creates or versions a signal type. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.signal_type.save.v2",
      "arguments": {
        "description": "A verified hiring announcement",
        "display_name": "Example hiring",
        "messaging_guidance": "Reference the source without claiming buying intent",
        "name": "example_hiring",
        "relevance": "Hiring may indicate an active budget"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "signal_type_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact signal type UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Signal Type Id"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "display_name": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Display name used by the public library signal type save input v2 operation.",
      "title": "Display Name"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "relevance": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Relevance used by the public library signal type save input v2 operation.",
      "title": "Relevance"
    },
    "messaging_guidance": {
      "anyOf": [
        {
          "maxLength": 8000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Messaging guidance used by the public library signal type save input v2 operation.",
      "title": "Messaging Guidance"
    },
    "detection_config": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Detection config used by the public library signal type save input v2 operation.",
      "title": "Detection Config"
    },
    "version_label": {
      "anyOf": [
        {
          "maxLength": 255,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Version label used by the public library signal type save input v2 operation.",
      "title": "Version Label"
    }
  },
  "title": "McpPublicLibrarySignalTypeSaveInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for library.signal_type.save.v2; preserves the established validators.",
  "properties": {
    "resource_id": {
      "format": "uuid",
      "title": "Resource Id",
      "type": "string"
    },
    "entity_type": {
      "enum": [
        "workspace",
        "messaging",
        "product",
        "offer",
        "competitor",
        "signal_type",
        "persona",
        "buying_role",
        "icp_rubric",
        "client",
        "proof_point",
        "brand",
        "landing_template",
        "gtm_assessment"
      ],
      "title": "Entity Type",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "version_number": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Version Number"
    },
    "created": {
      "default": false,
      "title": "Created",
      "type": "boolean"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "resource_id",
    "entity_type",
    "name",
    "resource_uri",
    "next_step"
  ],
  "title": "PublicLibrarySignalTypeSaveResultV2",
  "type": "object"
}

Library status

library.status.get.v2

Use when: You need to know which approved GTM context facets are complete before research, writing, or targeting.

Avoid when: You need to search or edit a specific Library record.

Effects: Returns completion, missing facets, and the next setup step. Read only.

Cost: No gateway credit charge; reads saved workspace data without starting paid provider work. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. Reads do not need an operation UUID.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "library.status.get.v2",
      "arguments": {},
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {},
  "title": "McpLibraryStatusGetInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "LibraryEntityStatV1": {
      "additionalProperties": false,
      "properties": {
        "entity_type": {
          "maxLength": 64,
          "minLength": 1,
          "title": "Entity Type",
          "type": "string"
        },
        "count": {
          "maximum": 100000,
          "minimum": 0,
          "title": "Count",
          "type": "integer"
        },
        "last_updated": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Updated"
        },
        "available": {
          "default": true,
          "title": "Available",
          "type": "boolean"
        },
        "is_complete": {
          "default": false,
          "title": "Is Complete",
          "type": "boolean"
        },
        "is_required": {
          "default": true,
          "title": "Is Required",
          "type": "boolean"
        },
        "completion_hint": {
          "anyOf": [
            {
              "maxLength": 400,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Completion Hint"
        }
      },
      "required": [
        "entity_type",
        "count"
      ],
      "title": "LibraryEntityStatV1",
      "type": "object"
    },
    "LibraryFacetV1": {
      "additionalProperties": false,
      "properties": {
        "facet_id": {
          "enum": [
            "foundation",
            "targeting",
            "assets",
            "assessment"
          ],
          "title": "Facet Id",
          "type": "string"
        },
        "label": {
          "maxLength": 64,
          "minLength": 1,
          "title": "Label",
          "type": "string"
        },
        "count": {
          "default": 0,
          "maximum": 100000,
          "minimum": 0,
          "title": "Count",
          "type": "integer"
        },
        "completion_percent": {
          "default": 0,
          "maximum": 100,
          "minimum": 0,
          "title": "Completion Percent",
          "type": "integer"
        },
        "attention_count": {
          "default": 0,
          "maximum": 100,
          "minimum": 0,
          "title": "Attention Count",
          "type": "integer"
        },
        "status": {
          "maxLength": 80,
          "minLength": 1,
          "title": "Status",
          "type": "string"
        },
        "last_updated": {
          "anyOf": [
            {
              "format": "date-time",
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Last Updated"
        },
        "available": {
          "default": true,
          "title": "Available",
          "type": "boolean"
        },
        "locked_reason": {
          "anyOf": [
            {
              "maxLength": 400,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Locked Reason"
        },
        "latest_resource_id": {
          "anyOf": [
            {
              "maxLength": 64,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Latest Resource Id"
        }
      },
      "required": [
        "facet_id",
        "label",
        "status"
      ],
      "title": "LibraryFacetV1",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "completion_percent": {
      "maximum": 100,
      "minimum": 0,
      "title": "Completion Percent",
      "type": "integer"
    },
    "items": {
      "default": [],
      "items": {
        "$ref": "#/$defs/LibraryEntityStatV1"
      },
      "maxItems": 20,
      "title": "Items",
      "type": "array"
    },
    "facets": {
      "default": [],
      "items": {
        "$ref": "#/$defs/LibraryFacetV1"
      },
      "maxItems": 8,
      "title": "Facets",
      "type": "array"
    },
    "missing": {
      "default": [],
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "title": "Missing",
      "type": "array"
    },
    "resource_uri": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Resource Uri",
      "type": "string"
    },
    "next_step": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Next Step",
      "type": "string"
    }
  },
  "required": [
    "completion_percent",
    "resource_uri",
    "next_step"
  ],
  "title": "LibraryStatusGetResultV2",
  "type": "object"
}

Validate LinkedIn playbook

linkedin.playbook.validate.v2

Use when: Validate LinkedIn steps in a playbook flow before saving.

Avoid when: Do not use this to launch a campaign.

Effects: May change workspace state or start work; describe before invoking.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "linkedin.playbook.validate.v2",
      "arguments": {
        "flow_definition": {}
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "flow_definition": {
      "additionalProperties": true,
      "description": "Flow definition used by the public linkedin playbook validate input v2 operation.",
      "title": "Flow Definition",
      "type": "object"
    }
  },
  "required": [
    "flow_definition"
  ],
  "title": "McpPublicLinkedinPlaybookValidateInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for linkedin.playbook.validate.v2; preserves the established validators.",
  "properties": {
    "valid": {
      "title": "Valid",
      "type": "boolean"
    },
    "requires_linkedin": {
      "title": "Requires Linkedin",
      "type": "boolean"
    },
    "required_products": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "Required Products",
      "type": "array"
    },
    "errors": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "Errors",
      "type": "array"
    },
    "warnings": {
      "default": [],
      "items": {
        "type": "string"
      },
      "title": "Warnings",
      "type": "array"
    }
  },
  "required": [
    "valid",
    "requires_linkedin"
  ],
  "title": "PublicLinkedinPlaybookValidateResultV2",
  "type": "object"
}

Archive a playbook

playbooks.archive.v2

Use when: Archive a playbook you no longer need.

Avoid when: Do not use this to pause a campaign.

Effects: Archives the playbook.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.archive.v2",
      "arguments": {
        "template_id": "00000000-0000-4000-8000-000000000001"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "action_proposal_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Hivekind fills this from the MCP consent grant.",
      "title": "Action Proposal Id"
    },
    "template_id": {
      "description": "Exact template UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    }
  },
  "required": [
    "template_id"
  ],
  "title": "McpMcpPublicPlaybooksArchiveInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for playbooks.archive.v2; preserves the established validators.",
  "properties": {
    "template_id": {
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "template_id",
    "name"
  ],
  "title": "PublicPlaybooksArchiveResultV2",
  "type": "object"
}

Create a playbook

playbooks.create.v2

Use when: Save a new playbook/sequence.

Avoid when: Playbook authoring is usually done in the Hivekind app. To launch, list an existing playbook instead.

Effects: Creates a playbook. Does not send.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.create.v2",
      "arguments": {
        "flow_definition": {},
        "name": "Example name"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "action_proposal_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Hivekind fills this from the MCP consent grant.",
      "title": "Action Proposal Id"
    },
    "name": {
      "description": "Human-readable name for the record.",
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 2000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "flow_definition": {
      "additionalProperties": {
        "$ref": "#/$defs/JsonValue"
      },
      "description": "Flow definition used by the public playbooks create input v2 operation.",
      "title": "Flow Definition",
      "type": "object"
    }
  },
  "required": [
    "name",
    "flow_definition"
  ],
  "title": "McpMcpPublicPlaybooksCreateInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for playbooks.create.v2; preserves the established validators.",
  "properties": {
    "template_id": {
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "template_id",
    "name"
  ],
  "title": "PublicPlaybooksCreateResultV2",
  "type": "object"
}

Duplicate a playbook

playbooks.duplicate.v2

Use when: Copy a playbook.

Avoid when: Do not use this to launch a campaign.

Effects: Creates a playbook copy.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.duplicate.v2",
      "arguments": {
        "template_id": "00000000-0000-4000-8000-000000000001"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "action_proposal_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Hivekind fills this from the MCP consent grant.",
      "title": "Action Proposal Id"
    },
    "template_id": {
      "description": "Exact template UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    }
  },
  "required": [
    "template_id"
  ],
  "title": "McpMcpPublicPlaybooksDuplicateInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for playbooks.duplicate.v2; preserves the established validators.",
  "properties": {
    "template_id": {
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "template_id",
    "name"
  ],
  "title": "PublicPlaybooksDuplicateResultV2",
  "type": "object"
}

Get a playbook

playbooks.get.v2

Use when: Load one playbook by id when resource reads are unavailable.

Avoid when: Prefer hivekind://playbook/{id}. Use playbooks.search.v2 to find ids.

Effects: Reads current workspace state.

Cost: No gateway credit charge; reads saved workspace data without starting paid provider work. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. Reads do not need an operation UUID.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.get.v2",
      "arguments": {
        "template_id": "00000000-0000-4000-8000-000000000001"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "template_id": {
      "description": "Exact template UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    }
  },
  "required": [
    "template_id"
  ],
  "title": "McpPublicPlaybooksGetInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "description": "V2 result for playbooks.get.v2; preserves the established validators.",
  "properties": {
    "template_id": {
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 2000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Description"
    },
    "node_count": {
      "default": 0,
      "maximum": 500,
      "minimum": 0,
      "title": "Node Count",
      "type": "integer"
    },
    "channels": {
      "default": [],
      "items": {
        "type": "string"
      },
      "maxItems": 20,
      "title": "Channels",
      "type": "array"
    },
    "sequence_valid": {
      "title": "Sequence Valid",
      "type": "boolean"
    },
    "linkedin_valid": {
      "title": "Linkedin Valid",
      "type": "boolean"
    },
    "flow_definition": {
      "additionalProperties": {
        "$ref": "#/$defs/JsonValue"
      },
      "title": "Flow Definition",
      "type": "object"
    },
    "updated_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Updated At"
    }
  },
  "required": [
    "template_id",
    "name",
    "sequence_valid",
    "linkedin_valid"
  ],
  "title": "PublicPlaybooksGetResultV2",
  "type": "object"
}

Propose a playbook

playbooks.propose.v2

Use when: Draft a playbook flow from a brief without saving.

Avoid when: Do not use this to launch a campaign.

Effects: May change workspace state or start work; describe before invoking.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: runs:create. Approval: operation authorization. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.propose.v2",
      "arguments": {
        "brief": "Example brief"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "name": {
      "anyOf": [
        {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "brief": {
      "description": "Brief used by the playbooks propose input v2 operation.",
      "maxLength": 4000,
      "minLength": 1,
      "title": "Brief",
      "type": "string"
    },
    "include_linkedin": {
      "default": true,
      "description": "Whether to apply include linkedin for this operation.",
      "title": "Include Linkedin",
      "type": "boolean"
    },
    "template_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Exact template UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "title": "Template Id"
    }
  },
  "required": [
    "brief"
  ],
  "title": "McpPlaybooksProposeInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "summary": {
      "maxLength": 2000,
      "minLength": 1,
      "title": "Summary",
      "type": "string"
    },
    "flow_definition": {
      "additionalProperties": {
        "$ref": "#/$defs/JsonValue"
      },
      "title": "Flow Definition",
      "type": "object"
    },
    "sequence_valid": {
      "title": "Sequence Valid",
      "type": "boolean"
    },
    "executable": {
      "const": false,
      "default": false,
      "title": "Executable",
      "type": "boolean"
    }
  },
  "required": [
    "name",
    "summary",
    "flow_definition",
    "sequence_valid"
  ],
  "title": "PlaybooksProposeResultV2",
  "type": "object"
}

Search playbooks

playbooks.search.v2

Use when: You need stable existing playbook IDs before configuring a campaign or drafting content.

Avoid when: You need to propose a new playbook; use playbooks.propose.v2.

Effects: Returns a bounded playbook list. Read only.

Cost: No gateway credit charge; reads saved workspace data without starting paid provider work. Gateway rate code: none; downstream billing may apply.

Access: runs:read. Approval: operation authorization. Reads do not need an operation UUID.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.search.v2",
      "arguments": {},
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "additionalProperties": false,
  "properties": {
    "query": {
      "anyOf": [
        {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Search text. Use a name, domain, title, or other identifying phrase relevant to this operation.",
      "title": "Query"
    },
    "category": {
      "anyOf": [
        {
          "maxLength": 160,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Category used by the playbooks search input v2 operation.",
      "title": "Category"
    },
    "include_system_templates": {
      "default": false,
      "description": "Whether to apply include system templates for this operation.",
      "title": "Include System Templates",
      "type": "boolean"
    },
    "limit": {
      "default": 20,
      "description": "Maximum number of records to return in this page.",
      "maximum": 50,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "McpPlaybooksSearchInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "$defs": {
    "TemplateSummaryV1": {
      "additionalProperties": false,
      "properties": {
        "template_id": {
          "format": "uuid",
          "title": "Template Id",
          "type": "string"
        },
        "name": {
          "maxLength": 255,
          "minLength": 1,
          "title": "Name",
          "type": "string"
        },
        "description": {
          "anyOf": [
            {
              "maxLength": 2000,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Description"
        },
        "category": {
          "anyOf": [
            {
              "maxLength": 160,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "playbook_category": {
          "anyOf": [
            {
              "maxLength": 160,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Playbook Category"
        },
        "tags": {
          "default": [],
          "items": {
            "type": "string"
          },
          "maxItems": 30,
          "title": "Tags",
          "type": "array"
        },
        "channels": {
          "default": [],
          "items": {
            "type": "string"
          },
          "maxItems": 20,
          "title": "Channels",
          "type": "array"
        },
        "node_count": {
          "default": 0,
          "maximum": 500,
          "minimum": 0,
          "title": "Node Count",
          "type": "integer"
        },
        "is_system_template": {
          "default": false,
          "title": "Is System Template",
          "type": "boolean"
        }
      },
      "required": [
        "template_id",
        "name"
      ],
      "title": "TemplateSummaryV1",
      "type": "object"
    }
  },
  "additionalProperties": false,
  "properties": {
    "templates": {
      "default": [],
      "items": {
        "$ref": "#/$defs/TemplateSummaryV1"
      },
      "title": "Templates",
      "type": "array"
    }
  },
  "title": "PlaybooksSearchResultV2",
  "type": "object"
}

Update a playbook

playbooks.update.v2

Use when: Edit an existing playbook flow.

Avoid when: Do not use this to bind a playbook to a campaign.

Effects: Updates playbook definition.

Cost: No gateway rate is configured. Check the Core workflow preview/quote for downstream charges and final settlement. Gateway rate code: none; downstream billing may apply.

Access: actions:execute. Approval: exact_scope_single_action. A stable operation UUID is required.

Keep the same operation and operation_id when retrying identical work. Reconcile an uncertain result before new work; never replay an old V1 write under a new V2 ID.

Check status, execution_state, error_code, output and evidence/resource references. Queued work is not complete: poll jobs.status.get.v2 in domain.workspace.v2. For read-back verification require read_back_verified=true where returned; reconcile failures without creating another object.

Invocation example using fictional fixtures
{
  "tool": "domain.content.v2",
  "arguments": {
    "params": {
      "action": "invoke",
      "operation": "playbooks.update.v2",
      "arguments": {
        "template_id": "00000000-0000-4000-8000-000000000001"
      },
      "operation_id": "00000000-0000-4000-8000-000000000003"
    }
  },
  "notice": "Fictional fixture IDs and example text. Resolve real IDs, use returned preview tokens and approve exact side effects before execution. Input validation is not proof of provider readiness or a successful business outcome."
}
Input schema: fields, defaults and constraints
{
  "$defs": {
    "JsonValue": {}
  },
  "additionalProperties": false,
  "properties": {
    "action_proposal_id": {
      "anyOf": [
        {
          "format": "uuid",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Optional. Hivekind fills this from the MCP consent grant.",
      "title": "Action Proposal Id"
    },
    "template_id": {
      "description": "Exact template UUID returned by a Hivekind search, list, get, preview, or resource call.",
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "anyOf": [
        {
          "maxLength": 255,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable name for the record.",
      "title": "Name"
    },
    "description": {
      "anyOf": [
        {
          "maxLength": 2000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Human-readable description of the record or requested outcome.",
      "title": "Description"
    },
    "flow_definition": {
      "anyOf": [
        {
          "additionalProperties": {
            "$ref": "#/$defs/JsonValue"
          },
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Flow definition used by the public playbooks update input v2 operation.",
      "title": "Flow Definition"
    },
    "expected_updated_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "description": "Expected updated at timestamp in the format accepted by the schema.",
      "title": "Expected Updated At"
    }
  },
  "required": [
    "template_id"
  ],
  "title": "McpMcpPublicPlaybooksUpdateInputV2",
  "type": "object"
}
Output schema inside the result envelope
{
  "additionalProperties": false,
  "description": "V2 result for playbooks.update.v2; preserves the established validators.",
  "properties": {
    "template_id": {
      "format": "uuid",
      "title": "Template Id",
      "type": "string"
    },
    "name": {
      "maxLength": 255,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "template_id",
    "name"
  ],
  "title": "PublicPlaybooksUpdateResultV2",
  "type": "object"
}