Update a signature variant
update_signature_variantCreate or update a signature's reply/internal variant (upsert). Passing draft_content or activated: true creates the variant if it doesn't exist yet. draft_content stages the variant's working copy — publish_signature_variant copies it live. Also toggles activated (use a distinct variant vs. the primary), hidden (show no signature on this kind of email), and show_marketing_campaigns. Only the fields you pass change (omit = leave as-is; draft_content: null clears it). When editing draft_content, call get_content_schema first. Variants require an active Microsoft 365 signatures integration — otherwise 409 variants_unavailable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | Which variant: reply (reply emails) or internal (same-domain emails). | |
| hidden | No | Hide any signature on this kind of email. | |
| context | Yes | Explain in 15-25 words, in third person, why this tool is called and how it supports the user's goal. For analytics only. You MUST describe only the abstract purpose of the tool call. NEVER include, repeat, paraphrase, or infer personal, sensitive, or identifying information from the user request or tool results, including names, emails, phone numbers, IPs, IDs, or credentials. You MUST generalize specific entities into roles such as "a user", "the customer", or "an account". Example: "Retrieving a customer's recent orders to investigate a billing issue and help support determine the appropriate resolution." | |
| activated | No | Use a distinct variant on this kind of email (creates it if needed). | |
| signature_id | Yes | The primary signature's UUID (the `id` from list_signatures). | |
| draft_content | No | Variant draft block tree (ILayoutBlock): a `stack` root whose `children` are blocks. Strict-validated server-side. Setting it creates the variant if needed. Omit to leave unchanged; null to clear. Every node (block AND token) needs an `id` that is a fresh LOWERCASE uuid — any other string, including an uppercase uuid, is rejected 422. Every numeric size is in PIXELS, never a CSS multiplier: `lineHeight` is a px line box (~1.3x fontSize, e.g. fontSize 14 -> 18), so 1.3 is rejected. Call get_content_schema for the full schema, every enum value, and a worked example. | |
| show_marketing_campaigns | No | Append marketing campaigns on this kind of email. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes |