← ScribeCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to Scribe
Snapshot Sep 30, 2026 · 22:58 UTC · version 2.0.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"name": "scribe",
"description": "Create and manage Scribe email signatures, audit installs, read teammate and smart-field data, run marketing campaigns, and pull analytics through the Scribe MCP server. Use when the user wants to create, edit, preview, publish, or audit email signatures; manage reply and internal variants; add or look up teammates; read or set smart fields; organize folders or assets; run or report on marketing campaigns; or pull signature analytics, conversions, and visitors in Scribe.",
"included_files": [
{
"relative_path": "agents/openai.yaml",
"size_in_bytes": 707
}
],
"skill_md_contents": "---\nname: scribe\ndescription: >-\n Create and manage Scribe email signatures, audit installs, read teammate and\n smart-field data, run marketing campaigns, and pull analytics through the\n Scribe MCP server. Use when the user wants to create, edit, preview, publish,\n or audit email signatures; manage reply and internal variants; add or look up\n teammates; read or set smart fields; organize folders or assets; run or report\n on marketing campaigns; or pull signature analytics, conversions, and visitors\n in Scribe.\n---\n\n# Scribe\n\nManage a Scribe workspace through the Scribe MCP server: signatures and their\nreply and internal variants, teammates, smart fields, folders, assets,\nintegrations, marketing campaigns, analytics, and visitors.\n\n## When to use this skill\n\nUse it whenever the user wants to:\n\n- create, edit, preview, publish, install, or audit email signatures\n- add a reply or internal signature variant, or read the installed HTML\n- assign signatures to teammates, org units, or rule-based audiences\n- add, update, or look up teammates and their email aliases\n- read or set smart fields (the merge fields that populate signatures)\n- organize folders or upload assets (logos, banners, pictures)\n- create, schedule, pause, or report on marketing campaigns\n- pull signature analytics (views, clicks, conversions, revenue)\n- look up identified visitors and where they came from\n\n## Access\n\n- Auth: OAuth sign-in as the user. Everything is scoped to the user's own\n workspace.\n- Read tools run automatically. Write tools (create, update, delete, publish)\n ask the user for confirmation in the app.\n\n## Core workflow: create a signature in the fewest calls\n\nFrom a cold session, a complete signature takes three calls:\n\n1. Call `get_content_schema` first. In one response it returns the strict\n block-tree schema, a flat lookup of every allowed enum value (including the\n non-obvious icon names such as `linkedin-in`, `facebook-f`), and a complete\n worked example with a populated social-icon row.\n2. Adapt that example into a `draft_content` block tree and call\n `create_signature` with a `name` and the `draft_content`.\n3. Call `publish_signature` to copy the draft into the live `content` and trigger\n installation.\n\nTo check the result before going live, call `preview_signature` on the draft and\nread the returned HTML for layout and spacing, then publish.\n\nDo not hand-write a block tree or guess enum spellings. Always call\n`get_content_schema` before any `create_signature`, `update_signature`,\n`update_signature_variant`, or marketing-campaign `content` write. An invalid\ntree returns a 422 that names each offending field.\n\n## Common patterns\n\n- Audit installs: `list_signatures` (which templates are published and\n activated), then `list_signature_recipients` (who each one covers), then\n `list_integrations` (any failing connections).\n- Verify a signature: `preview_signature` to check the draft layout before you\n publish, and `get_signature_html` to read what a specific recipient receives\n once it is live.\n- Add a reply or internal variant: `get_content_schema`, then\n `update_signature_variant` to stage the variant draft, then\n `publish_signature_variant`. Variants need an active Microsoft 365 signatures\n integration.\n- Look up teammate data: `list_teammates` (emails and smart-field values), with\n `list_smart_fields` for the field catalog.\n- Fill gaps: read with `list_teammates`, then set values with `update_teammate`.\n- Target a signature: `set_signature_recipient_rules` for auto-assign and\n conditions, `add_signature_recipients` for specific emails, or\n `add_signature_recipient_entities` for directory org units and groups.\n- Run a campaign: `create_marketing_campaign`, then\n `schedule_marketing_campaign`.\n- Report engagement: `get_analytics_views` and `get_analytics_clicks` for totals\n and a time series, or set `group_by` to rank signatures, teammates, campaigns,\n or countries. There is no clickthrough-rate field, so compute it as clicks\n divided by views.\n- Report conversions: `get_analytics_events_summary` for conversion and revenue\n totals and rankings, and `list_analytics_events` to inspect the raw events.\n- Attribute customers: `list_visitors` and `get_visitor` for identified\n end-users, and `get_visitor_breakdown` to rank which signature or teammate\n acquired the most.\n\n## Tool reference\n\nAccess key: Read runs automatically, Write asks for confirmation, Delete asks for\nconfirmation and is destructive.\n\n### Schema\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `get_content_schema` | Read | Returns the signature block-tree schema, all enum values, and a worked example. Call before authoring content |\n\n### Signatures\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_signatures` | Read | List signature templates (block trees omitted unless you pass `include_content`) |\n| `create_signature` | Write | Create a template, staged as `draft_content` until you publish |\n| `update_signature` | Write | Update a template by id, staged as a draft until you publish |\n| `preview_signature` | Read | Render a draft or published template to HTML with placeholder values to check layout |\n| `get_signature_html` | Read | Get the real installed HTML of a published signature for a specific recipient |\n| `publish_signature` | Write | Publish a template so the draft becomes live and installs |\n| `install_signature` | Write | Install the current live content without publishing |\n| `delete_signature` | Delete | Delete a template and unassign it from teammates |\n\n### Signature variants\n\nA variant is an alternate signature shown on reply emails or on internal\n(same-domain) emails. Variants require an active Microsoft 365 signatures\nintegration; without it, variant writes return a 409 `variants_unavailable`.\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_signature_variants` | Read | List a signature's reply and internal variants with their state and content |\n| `update_signature_variant` | Write | Create or update a reply or internal variant, staged as a draft until you publish |\n| `publish_signature_variant` | Write | Publish a variant so its draft becomes live and redeploys |\n| `delete_signature_variant` | Delete | Reset a variant back to the primary signature (the record is kept) |\n\n### Signature recipients\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_signature_recipients` | Read | List who a signature is assigned to, with the targeting rules |\n| `add_signature_recipients` | Write | Assign a signature to a batch of teammate emails |\n| `remove_signature_recipients` | Write | Remove manually assigned recipients from a signature |\n| `set_signature_recipient_rules` | Write | Set auto-assign and the smart-field condition rules |\n| `add_signature_recipient_entities` | Write | Target a signature at directory org units or groups |\n| `remove_signature_recipient_entities` | Write | Untarget directory org units or groups |\n\n### Teammates\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_teammates` | Read | List teammates with their emails and smart-field values |\n| `create_teammate` | Write | Add a teammate from an email and optional field values |\n| `update_teammate` | Write | Set a teammate's smart-field values |\n| `delete_teammate` | Delete | Soft-delete a teammate |\n\n### Emails\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_emails` | Read | List teammate emails (primary and aliases) |\n| `create_email` | Write | Add an alias email to a teammate |\n| `update_email` | Write | Change an email address |\n| `delete_email` | Delete | Soft-delete an alias email (a primary email cannot be deleted) |\n\n### Smart fields\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_smart_fields` | Read | List smart-field definitions with kind and data source |\n| `create_smart_field` | Write | Define a custom field, optionally synced from an integration |\n| `update_smart_field` | Write | Update a custom field or its integration link |\n| `delete_smart_field` | Delete | Delete a custom field and its values on every teammate |\n\n### Folders\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_folders` | Read | List signature folders with their signature counts |\n| `create_folder` | Write | Create a folder to organize templates |\n| `update_folder` | Write | Rename a folder |\n| `delete_folder` | Delete | Delete a folder (it must be empty first) |\n\n### Assets\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_assets` | Read | List the image library (logos, banners, pictures) |\n| `create_asset` | Write | Upload an image from base64 or a source URL |\n| `update_asset` | Write | Update an asset's name or role |\n| `delete_asset` | Delete | Delete an asset (in-use assets are soft-deleted so they keep rendering) |\n\n### Integrations\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_integrations` | Read | List active integrations with status and any error details |\n| `list_integration_entities` | Read | List directory org units and groups to target a signature at |\n\n### Financial documents\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_financial_documents` | Read | List invoices and credit notes with downloadable PDF links |\n\n### Workspace\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `get_workspace` | Read | Read the workspace plan, status, and invoiced seat count |\n\n### Analytics\n\nThere is no clickthrough-rate field. Pair `get_analytics_views` with\n`get_analytics_clicks` and compute clicks divided by views.\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `get_analytics_views` | Read | Signature views over a date range, as a time series or a ranked breakdown |\n| `get_analytics_clicks` | Read | Signature clicks over a date range, as a time series or a ranked breakdown |\n| `get_analytics_events_summary` | Read | Aggregated conversion and revenue numbers, as a time series or a ranked breakdown |\n| `list_analytics_events` | Read | List the raw recorded conversion events behind the analytics |\n\n### Visitors\n\nVisitors are the workspace's own identified end-users (from `identify` calls),\nnot Scribe teammates.\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_visitors` | Read | List identified visitors with traits and first-touch attribution |\n| `get_visitor` | Read | Get one identified visitor with traits, attribution, and lifetime engagement |\n| `get_visitor_breakdown` | Read | Rank which signature or teammate acquired the most identified visitors |\n\n### Marketing campaigns\n\n| Tool | Access | What it does |\n| --- | --- | --- |\n| `list_marketing_campaigns` | Read | List campaigns with status, targeting, and content |\n| `create_marketing_campaign` | Write | Create a campaign draft with a name and time window |\n| `update_marketing_campaign` | Write | Update a campaign by id |\n| `schedule_marketing_campaign` | Write | Activate or schedule a draft or paused campaign |\n| `pause_marketing_campaign` | Write | Pause an active campaign |\n| `resume_marketing_campaign` | Write | Resume a paused campaign |\n| `delete_marketing_campaign` | Delete | Delete a campaign (an active one stops first) |\n\n## Important notes\n\n- Always call `get_content_schema` before writing any signature `draft_content`,\n variant `draft_content`, or campaign `content`. It is the fastest path to a\n valid block tree.\n- Writes are staged. `create_signature` and `update_signature` set\n `draft_content`; the live `content` changes only when you call\n `publish_signature`. Variants stage and publish the same way through\n `update_signature_variant` and `publish_signature_variant`.\n- `preview_signature` renders placeholder values for a layout check and needs no\n recipient. `get_signature_html` returns the real installed HTML for one\n recipient and is empty until the signature is published.\n- Signature variants need an active Microsoft 365 signatures integration.\n Without it, variant writes return a 409 `variants_unavailable`.\n- Analytics has no clickthrough-rate field. Compute it as clicks divided by\n views. Analytics ranges default to the last two months, and `hour` granularity\n is capped at a 31-day range.\n- Some actions are blocked when a directory integration (Google Workspace or\n Microsoft Entra ID) manages the team list. Creating or deleting teammates and\n emails then returns a 409.\n- Default and integration-synced fields are read-only. Setting them is skipped or\n returns a 422.\n- List tools are paginated with `limit` (1 to 100); some use a `cursor` and\n others a `page`, and several support a bounded `auto_paginate` with `max_pages`\n (cap 20).\n- Every write asks the user to confirm in the connected app, and every action is\n scoped to the user's own workspace.\n"
}SHA-256: 9063de0b83bef564f49d1c72ee8e7b147badcc4c4cef8e3c18d061bb47152907