canonical: https://jentic.com/apis/hubspot.com/hubspot-marketing-singlesend

# HubSpot Marketing Single-send

The HubSpot Marketing Single-send API delivers a one-off send of an existing marketing email to a single recipient with custom contact properties and personalisation tokens applied at send time. It exposes a single POST endpoint that takes the emailId, recipient, and custom property overrides, returning a send status the caller can log and retry on. Useful for transactional-style triggers where you want HubSpot's marketing email template engine and tracking but without enrolling the contact in a list-based send.

## For AI agents

Trigger a one-off transactional send of an existing HubSpot marketing email to a single recipient with personalisation tokens applied at call time.

## Scope

Does not send SMS, manage email templates, or update CRM records permanently - use for triggering a one-off send of an existing marketing email only.

## Capabilities

- Send an existing marketing email to a single recipient identified by email address
- Override contact properties at send time so personalisation tokens render with custom values
- Pass custom properties to the email template for transactional-style data injection
- Reuse HubSpot marketing email templates for transactional sends without rebuilding them
- Trigger HubSpot's tracking pixels and link rewriting on a one-off send for engagement reporting

## Use cases

### Transactional Use of Marketing Templates

Reuse a beautifully designed HubSpot marketing email as a transactional send for events like password resets, order confirmations, or webinar reminders. POST /marketing/v4/email/single-send accepts the emailId of the existing marketing email plus the recipient and custom properties, so design teams maintain templates in HubSpot while engineering triggers the sends from application code.

Example prompt: Call POST /marketing/v4/email/single-send with emailId, message.to=user@example.com, and contactProperties overriding firstName.

### Webhook-Triggered Email Drops

Connect a webhook handler (Stripe payment success, new signup) directly to HubSpot single-send so the user receives a branded HubSpot email moments after the trigger event. The single-send endpoint is synchronous from the caller's perspective, returning a send status that the webhook handler can log and retry on transient failures.

Example prompt: On Stripe webhook payment_intent.succeeded, call POST /marketing/v4/email/single-send with emailId and the customer's email address.

### Personalisation at Call Time

Inject custom property values into a marketing email template at send time using contactProperties and customProperties on the single-send payload. Personalisation tokens in the template (firstName, orderTotal) render with the values you pass in the request rather than the values stored on the contact record. Useful when the data is request-scoped (a specific order, a specific session) and should not persist to the CRM.

Example prompt: Call POST /marketing/v4/email/single-send with customProperties.orderTotal=49.99 and customProperties.orderId=ord_123 to render the template tokens.

### AI Agent Notification Send via Jentic

An AI agent fires a HubSpot-branded notification when a watched condition trips (a customer health score drops, a deal stage changes). The agent searches Jentic for HubSpot single-send, loads the schema for POST /marketing/v4/email/single-send, and executes with the recipient and message body. Jentic isolates the OAuth token so the agent never handles raw credentials and the send takes seconds.

Example prompt: Search Jentic for "send hubspot single email", load the schema for POST /marketing/v4/email/single-send, and execute with emailId and message.to.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /marketing/v4/email/single-send | Send a marketing email to a single recipient |

## Key resources

- **Single-send** — Synchronous one-off send of an existing marketing email to a single recipient with property overrides.

## Why Jentic

- **Setup:** Wiring HubSpot Marketing Single-send by hand means running its OAuth flow or minting a private-app token, targeting api.hubapi.com, and shaping the send payload against an existing email asset yourself. Through Jentic you install once, import Marketing Single-send from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** This API sends by posting the email id and recipient in the request body to /marketing/v4/email/single-send, so limit the agent to the operations it needs, such as triggering a single send. Because this rollout exposes only the one send operation, that is the full extent of what the agent can do here.
- **Credential handling:** Your HubSpot OAuth or private-app token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a one-off HubSpot marketing email', and Jentic returns the single-send operation with its input schema so the agent calls the right endpoint without browsing the HubSpot reference docs.

## Related APIs

- **Marketing Emails** — Manage the email asset that single-send delivers
- **CRM Contacts** — Manage the contact record permanently rather than per-send
- **SendGrid Mail** — Dedicated transactional email API with higher throughput and richer template features
- **Postmark Server API** — Transactional email service known for fast delivery and detailed bounce handling

## FAQ

### What authentication does the Single-send API use?

It accepts HubSpot OAuth 2.0 access tokens or private app tokens (legacy schemes oauth2_legacy and private_apps_legacy), sent as Bearer in the Authorization header. Through Jentic, the token is stored encrypted in your Jentic One instance and injected at execution time.

### Can I send a marketing email to one recipient without enrolling them in a list?

Yes - that is exactly what this API does. POST /marketing/v4/email/single-send takes an emailId and a single recipient, sending one copy without modifying any HubSpot list or workflow enrolment.

### How do I override personalisation tokens at send time?

Pass contactProperties (override values for properties on the contact record) and customProperties (per-send values not tied to a contact field) on the request body. Personalisation tokens in the template render with these values for this send only.

### What are the rate limits for the Single-send API?

Account-level limits are 100 requests per 10 seconds across HubSpot's authenticated APIs, with daily caps that depend on the subscription tier. Single-send also has its own daily volume cap by tier - check the HubSpot pricing docs for current numbers.

### How do I trigger a single send through Jentic?

Run pip install jentic, search for "send hubspot single email", load the schema for POST /marketing/v4/email/single-send, and execute with emailId, message.to, and any contactProperties. Get started with Jentic One, the self-hosted execution layer.

### Does this endpoint create or modify contact records?

It does not modify the contact record. The contactProperties on the payload only affect the personalisation rendered in this send; permanent updates require the CRM Contacts API.

### Can I limit what my agent is allowed to do with the HubSpot Single-send API?

Yes. Because Jentic One is self-hosted, you decide which operations the agent may call, and here that is a single POST to /marketing/v4/email/single-send that triggers a one-off send of an existing email to a single recipient. You scope the agent to just that send operation, and your own rules govern which token it uses, so it cannot reach beyond posting an emailId and recipient. Since this rollout exposes only the one send operation, that is the full extent of what the agent can do with this API.
