Skip to main content
Glama
tillheidrich

hubspot-mcp-server

by tillheidrich

update_marketing_email_draft

Update a marketing email draft in HubSpot while keeping the published version unchanged. Edit fields like subject, content, language, and sender without affecting the live email.

Instructions

Patch a marketing email's DRAFT. The published version is never touched.

Args: email_id: HubSpot email ID. fields: any of name, subject, language, content, from, to, subscriptionDetails, businessUnitId, campaign.

Anything that would publish or send the email is refused and reported in rejected_fields.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
fieldsYes
email_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.5.1

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses key safety behaviors: published versions are never touched, and publish/send attempts are refused and reported in 'rejected_fields.' This is meaningful, though it omits details such as permissions, reversibility, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core behavior. The Args section is clear, and every sentence earns its place—no filler or repetition of schema details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema is present and the tool has only two parameters, the description covers the essential behavior, accepted fields, and refusal behavior. It could additionally state whether a draft must already exist or how errors are returned beyond 'rejected_fields,' but these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It defines email_id as 'HubSpot email ID' and lists the allowed keys for fields: name, subject, language, content, from, to, subscriptionDetails, businessUnitId, campaign. It does not give value formats or nested object shapes for fields, but the allowed-key list adds essential meaning beyond the unconstrained object schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Patch a marketing email's DRAFT.' It also draws a clear boundary with 'The published version is never touched,' which differentiates it from publish/unpublish siblings and makes the tool's scope immediately obvious.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It clearly indicates this tool is for modifying drafts, not published versions, and states that anything attempting to publish or send will be refused. It does not explicitly name alternatives like 'use publish_marketing_email to publish,' but the draft/published distinction provides sufficient context for correct selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.