> ## Documentation Index
> Fetch the complete documentation index at: https://docs.consile.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# HubSpot Marketing Email

> Read your marketing emails, drafts, A/B variations and post-send statistics from HubSpot, and let your AI create and edit drafts. Sending requires your confirmation.

*[Læs siden på dansk](https://docs.consile.ai/connectors/hubspot-email.md)*

The HubSpot Marketing Email connector gives your AI access to the marketing emails
in your own HubSpot portal: emails and their drafts, historical revisions, A/B variations
and aggregated post-send statistics. It can also create and edit
drafts for you behind clear guardrails. You approve the Consile HubSpot
Marketing Email app with your HubSpot login, and your AI never sees the access token itself.

> [!NOTE]
>
> **Read + guardrailed write.** The read tools change nothing. Creating and editing
> drafts, cloning and making an A/B variation require no confirmation, because a
> draft never sends to a contact list. Live editing (`update_email`),
> sending, publishing, cancelling, deleting, discarding and restoring require
> your explicit confirmation. See
> [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).

> **Access**
>
> Read + guardrailed write

> **Authentication**
>
> HubSpot login (OAuth)

> **Hosting**
>
> Hosted in the EU · Frankfurt

* **Price:** 149 DKK/month excl. VAT. No lock-in,
  cancel at any time. The price covers 1 user and 1 HubSpot portal. Each extra
  user costs 74.50 DKK/month excl. VAT. See [Pricing](https://docs.consile.ai/en/portal/pricing.md). HubSpot
  Marketing Email is also included in [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md)
  and [the free edition](https://docs.consile.ai/en/portal/free-edition.md).
* **Users:** whoever buys HubSpot Marketing Email automatically gets the
  included access. If more colleagues need the connector in their AI, an
  administrator gives them access under **Team** in the portal (choose **All tools** next
  to HubSpot Marketing Email on the person's page). An extra user is billed
  pro rata from the day access is given. A colleague without access can still see
  the tools in their AI, but every call is refused with a message to ask an
  administrator for access. With **All tools**, the user gets the tools the
  organization has switched on (by default all 19), and with **Custom** the
  administrator chooses exactly which ones. If you have
  [the Consile Studio membership](https://docs.consile.ai/en/portal/membership.md), an administrator
  instead gives one membership licence per person, and it also covers HubSpot Marketing
  Email. See [Team](https://docs.consile.ai/en/portal/team.md).
* **One portal:** you connect one HubSpot portal per subscription.
* **Endpoint:** `https://mcp.consile.ai/hubspot-email/mcp` (your own named connector in your AI).

## Prerequisites

**1. Connector bought**

An administrator buys HubSpot Marketing Email in the [portal](https://app.consile.ai):
open **Marketplace**, choose **HubSpot Marketing Email** and click **Add connector**.
See [Buy a connector](https://docs.consile.ai/en/portal/buy-a-connector.md).

**2. Access for your user**

If a colleague bought the connector, an administrator must give you access to
HubSpot Marketing Email under **Team** in the portal. If you log in to Consile
without an invitation, you get your own, empty account. Do not buy the connector again,
but ask an administrator for an invitation to your team.

**3. Your AI connected**

See [Connect Claude](https://docs.consile.ai/en/connect/connect-claude.md) or
[Connect ChatGPT](https://docs.consile.ai/en/connect/connect-chatgpt.md).

**4. HubSpot connected**

Click **Connect now** on the HubSpot Marketing Email page in the portal, log in
with HubSpot and approve the Consile HubSpot Marketing Email app for the portal you
want to connect. Access is renewed automatically, so you normally approve only
once. See
[Connect HubSpot Marketing Email](https://docs.consile.ai/en/connect/connect-hubspot-email.md).

> [!WARNING]
>
> **Portal requirement.** The connected HubSpot portal must be on Marketing Hub
> Professional or Enterprise. The `content` and `marketing-email` permissions
> only exist from Professional and up. Sending and publishing also
> require Enterprise or the transactional email add-on. A Starter or
> Free portal cannot grant the required permissions, and the connection is not
> completed.

## What can it do? (tools)

You do not need to know the tool names. You ask in natural language, and your AI picks
and calls the right tool itself. Your AI sees each tool as
`hubspot-email__<tool>` (for example `hubspot-email__list_emails`); below, the bare
names are shown for readability. The connector also has the `connect_account` tool, which gives
you a link to connect (or reconnect) your HubSpot portal directly from
the chat. The link works for 10 minutes. Reconnecting requires an administrator.

The connector provides 19 tools in total: 8 read-only (pure reading) and
11 write tools. Of the write tools, the 4 draft actions require no
confirmation, while the 7 that touch the live email, send or discard work
require a confirmation.

### Reading (8 read-only)

**Emails, drafts and revisions**

| Tool | What it does |
| - | - |
| `list_emails` | Marketing emails with paging and filters (type, campaign, published/archived, time windows); `includeStats:true` adds statistics per email |
| `get_email` | Full detail for one email (the live/current version); `includeStats` for statistics, `variantStats` for statistics per A/B variant |
| `get_email_draft` | The current, unpublished draft (the working copy) of an email, so you can see pending changes |
| `list_email_revisions` | Historical revisions (version snapshots) of an email, with paging |
| `get_email_revision` | One historical revision of an email, looked up by revision id |
| `get_email_ab_variation` | The opposite A/B variation of an A/B email: if you have A, it returns B and vice versa |

**Statistics**

| Tool | What it does |
| - | - |
| `get_email_statistics` | Aggregated post-send statistics (sent, delivered, opened, clicks, bounces, plus ratios) across emails sent in a time span, as well as the list of sent email ids. Corresponds to the Email Performance page in HubSpot |
| `get_email_statistics_histogram` | The same statistics spread over a time span in a chosen interval (for example DAY/WEEK/MONTH) |

### Writing (11 tools)

These tools are the only ones that change anything in your HubSpot portal. The four
draft actions require no confirmation, because they only touch a draft (a
working copy) or create a new draft: a draft never sends to a
contact list. The seven others
touch the live email, send, cancel, archive or discard/restore work,
and therefore require `confirm: true`. Without confirmation you only get a preview
(dry-run), and nothing is sent to HubSpot.

**Draft, clone and A/B (without confirmation)**

| Tool | What it does | Requires confirmation? |
| - | - | - |
| `create_email` | Creates a new marketing email. The state is forced to DRAFT, so it is neither published nor sent on creation | No |
| `update_email_draft` | Creates or updates only the draft (the working copy) without touching the live version. Does not publish or send | No |
| `clone_email` | Clones an existing email to a new draft, optionally with a new name and language | No |
| `create_email_ab_variation` | Creates an A/B test variation as a draft variant. Does not send | No |

**Live editing, send, cancel, archive and restore (requires confirmation)**

| Tool | What it does | Requires confirmation? |
| - | - | - |
| `update_email` | Partial update of the live/current version (name, subject, sender, recipient lists, template and plain-text version, campaign, folder, language). Does not send, but can change the audience or content of an already published or scheduled email | Yes |
| `publish_email` | Publishes/sends the email to the recipients set on it. Highest risk: sends real email to the contact lists | Yes (always) |
| `unpublish_email` | Unpublishes a published email or cancels a scheduled send | Yes |
| `delete_email` | Deletes (archives) a marketing email | Yes |
| `reset_email_draft` | Discards the draft's unpublished changes and resets the draft to the latest published version | Yes |
| `restore_email_revision_to_draft` | Copies an earlier revision's content into the draft (does not publish), but overwrites the draft | Yes |
| `restore_email_revision` | Restores an earlier revision as the new current version (replaces the live version) | Yes |

> **[Building on top yourself? See the API reference](https://docs.consile.ai/developers/tools/hubspot-email.md)**
>
> Full reference with arguments, paging, filters, guardrail fields and return values
> for each tool.

## How the guardrail works

The safety is built into the connector itself as default settings, not as
an unbreakable platform barrier:

1. **Drafts require no confirmation.** Creating or editing a draft,
   cloning an email or making an A/B variation never touches the live email and
   never sends to a contact list. New emails are forced to the `DRAFT` state, and
   neither `create_email` nor `update_email_draft` accepts a field that can
   publish or schedule a send.
2. **Sending, live changes and discarding require `confirm: true`.**
   Publishing/sending, unpublishing/cancelling, deleting/archiving, editing the live
   version or discarding/restoring work requires your AI to send an explicit
   confirmation. Without it, you get a structured preview of the action, and
   no call is sent to HubSpot.
3. **Sending only goes through one tool.** Real email to the contact lists can
   only be sent via the confirmed `publish_email`. Creating and editing
   drafts can never set a state that publishes or schedules a
   send.

> [!TIP]
>
> Read the whole confirmation model, which applies across all write connectors,
> under [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).

## Try asking

> **Overview & status**
>
> > *"Show my 20 most recent marketing emails with type and publishing status."*
>
> > *"Which emails are still drafts, and which are published?"*
>
> > *"Find emails updated last week."*

> **Statistics & A/B**
>
> > *"What is the open and click rate for emails sent in May?"*
>
> > *"Show the weekly trend in delivered emails and clicks for the last three months."*
>
> > *"How is variant B doing against A on the latest A/B email?"*

> **Drafts & revisions**
>
> > *"Make a draft of a newsletter email with the subject 'Spring 2026' and Danish as the language."*
>
> > *"Clone email 1234 as 'Spring 2026 variant'."*
>
> > *"What does the current draft of email 1234 say, and which revisions exist?"*

> **Send & live change (guardrailed)**
>
> > *"Show the recipient lists and send time for email 1234, and then publish it."* (you get a preview and must confirm before it sends)
>
> > *"Cancel the scheduled send of email 5678."* (you are asked to confirm)
>
> > *"Change the sender name on the published email 1234."* (you get a preview and must confirm)

> [!TIP]
>
> Mention a date range (or for example "last 30 days") in statistics questions, so
> you get a precise answer right away.

## Limitations

* **Requires Marketing Hub Professional or Enterprise.** The `content` and
  `marketing-email` permissions do not exist on Starter or Free, so such a portal cannot
  be connected. Sending and publishing also require Enterprise or the
  transactional email add-on. Without it, HubSpot refuses the call, and your AI only gets
  a general error without explanation.
* **What your AI can set on an email.** When creating and editing, your AI can
  set name, subject, language, campaign, folder, business unit, sender name,
  reply-to address, the contact lists that should receive the email, the template and the
  plain-text version. The email's visual content itself (modules and HTML in
  HubSpot's editor), excluded lists and a scheduled send time cannot be
  set via the connector. You do that in HubSpot.
* **Sending uses the email's own settings.** `publish_email` sends to the
  recipients and at the time already set on the email. The preview
  before the confirmation shows which email is sent, but not the recipients or
  time. Ask your AI to show the recipient lists and time with `get_email` before
  you confirm.
* **No lookups of lists, campaigns or folders.** The connector cannot list your
  contact lists, campaigns or folders. Give the list id from HubSpot, or ask your
  AI to reuse the lists from an existing email.
* **Writing is guardrailed, not unrestricted.** The live actions that send, cancel,
  archive or discard work can only run behind the confirmation barrier above.
  The guardrail consists of safe default settings in the connector and is not an
  absolute guarantee. See
  [Actions & guardrails](https://docs.consile.ai/en/essentials/actions-and-guardrails.md).
* **Statistics are aggregated.** The connector reads post-send statistics across
  emails (counters, ratios, histogram). It does not fetch individual
  recipient events.
* **Error messages.** If access to HubSpot has expired or been revoked, the
  tools answer with a message that HubSpot must be connected again. If a call fails for
  other reasons, for example because the portal's subscription does not cover the action, or an id
  does not exist, your AI only gets the message `Tool invocation failed.` without explanation.
  In that case, check your HubSpot subscription. See
  [Connect HubSpot Marketing Email](https://docs.consile.ai/en/connect/connect-hubspot-email.md).
* **Remove access completely.** If an administrator disconnects on the
  **Connections** card in the Consile portal, the stored access is deleted
  immediately. If you also want to remove access at HubSpot,
  uninstall the Consile HubSpot Marketing Email app in HubSpot.

Is something not working as expected? See [Troubleshooting](https://docs.consile.ai/en/troubleshooting.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.