---
title: HubSpot → Orbit → SES Email Pipeline
type: article
created: '2026-03-04'
updated: '2026-03-04'
source_docs:
- raw/2026-03-04-weekly-call-w-melissa-127255244.md
tags:
- automation
- hubspot
- email
- workaround
- technical-debt
- aviary
layer: 2
client_source: null
industry_context: null
transferable: true
---

# HubSpot → Orbit → SES Email Pipeline

## Overview

When clients want CRM-tracked email outreach but won't pay for HubSpot Marketing Professional (~$500/mo) or Salesforce Account Engagement (~$12,000/yr), a multi-tool pipeline can replicate the core functionality at lower cost. The tradeoff is significant: the pipeline is fragile, opaque, and loses access to native platform reporting.

This pattern was built for [[wiki/clients/aviary/_index|Aviary]] and has since been applied to at least one other account (Bluepoint).

---

## How It Works

```
HubSpot (contact/trigger) → Orbit (sequencing + tracking) → SES (sending)
                                      ↓
                          Automation writes email back
                          to HubSpot as an API note
```

1. **HubSpot** holds the contact records and triggers enrollment logic.
2. **Orbit** handles email sequencing, open/click tracking, and dashboarding.
3. **Amazon SES** is the actual sending infrastructure — Orbit does not send email natively.
4. A return automation in Orbit fires after each send: it associates the email with the HubSpot contact, creates a logged note, associates it with the company, and deletes the raw log message.

The result in HubSpot is a note that looks like a logged email — but it is **not** a native marketing email.

---

## What You Gain

- Email sequencing and outreach without purchasing HubSpot Marketing Pro
- Open and click tracking visible in Orbit's dashboard (e.g., "opened 3×, clicked 9×")
- Upcoming send counts and pipeline visibility in Orbit
- Email content preserved in HubSpot contact timeline as a logged note

---

## What You Lose

- **Native HubSpot reporting** — because emails arrive via API, HubSpot does not recognize them as marketing emails. Fields like "Marketing Emails Sent," "Marketing Emails Opened," and "Marketing Emails Clicked" do not populate.
- **Simplicity** — three tools must stay connected and authenticated. Any single point of failure breaks the entire pipeline silently.
- **Auditability** — there is no single dashboard that shows the full picture end-to-end.

---

## Fragility & Risk

Each connection between tools is a potential failure point:

- HubSpot ↔ Orbit connection
- Orbit ↔ SES credentials/configuration
- Return automation (Orbit → HubSpot note creation)

As noted in the [[raw/2026-03-04-weekly-call-w-melissa-127255244.md|2026-03-04 weekly call]]:

> "The more connections, the more something's going to break. It gets great. You're like, in which connection?"

When something breaks, diagnosis requires checking each hop individually. There is currently no alerting when the pipeline fails silently.

---

## Known Clients Using This Pattern

| Client | CRM | Email Route | Notes |
|---|---|---|---|
| [[wiki/clients/aviary/_index\|Aviary]] | HubSpot | HubSpot → Orbit → SES | Primary use case; Orbit dashboard active |
| Bluepoint | HubSpot | HubSpot → Orbit → SES | Configured same way; insufficient HubSpot contacts tier |
| Citrus | HubSpot | HubSpot → HubSpot | Sends natively; no workaround needed |

---

## Related Patterns & Context

This pipeline exists alongside a parallel workaround for **Salesforce dashboard limitations** — where native Salesforce dashboards cannot aggregate list counts, so data is exported via API to Orbit, calculated there, and returned to Salesforce for display. See [[wiki/knowledge/crm-automation/salesforce-orbit-dashboard-workaround|Salesforce → Orbit Dashboard Workaround]].

Both patterns reflect the same root dynamic: clients adopt enterprise CRMs but decline the add-ons that make them fully functional, creating a need for external tooling to fill the gaps.

---

## Recommendations

- **Document each client's pipeline** in detail (triggers, tools, credentials location, expected behavior) so failures can be diagnosed without the original builder.
- **Add monitoring** — at minimum, a weekly test send that verifies end-to-end delivery and alerts if it fails. This is the same gap that surfaced in the [[wiki/clients/reynolds/_index|Reynolds]] GoHighLevel incident.
- **Evaluate cost vs. complexity** at each renewal — for some clients, HubSpot Marketing Pro may be cheaper than the ongoing maintenance burden of this pipeline.
- When onboarding new clients to this pattern, store all pipeline credentials and spreadsheet outputs in **shared drives**, not personal or team-root drives.