Migrate › HubSpot

Move from HubSpot to Relayly

Many teams keep HubSpot for CRM but want to offload the email-send infrastructure. Relayly slots in via the HubSpot Marketing Hub API.

Why teams leave HubSpot

What carries across

HubSpot conceptRelayly equivalentAuto-migrates?
Contacts (with properties)contacts + custom fieldsYes — full property mapping.
Lists (active + static)lists + segmentsStatic lists migrate as lists; active lists migrate as predicate segments.
Email templatesemail_templatesHTML carries directly.
WorkflowsFlowsLinear workflows translate; CRM-conditional logic needs review.
FormsSignup formsHosted forms migrate; embedded forms get a snippet swap.
Suppressions (graymail / unsubs)SuppressionsYes — full export.

The codebase swap

API shapes are similar enough that find/replace handles most call sites. The key differences:

// HubSpot CRM API
import { Client } from "@hubspot/api-client";
const hubspot = new Client({ accessToken: process.env.HUBSPOT_TOKEN });

await hubspot.crm.contacts.basicApi.create({
  properties: { email: "u@example.com", firstname: "Alex" }
});
// Relayly Node SDK — keeps HubSpot as CRM
import Relayly from "@relayly/node";
const r = new Relayly({ apiKey: process.env.RELAYLY_API_KEY });

// HubSpot stays the source of truth for the contact;
// Relayly receives a lightweight mirror via webhook.
await r.contacts.upsert({
  email:       "u@example.com",
  external_id: hubspotContactId,
  fields:      { first_name: "Alex" }
});

HubSpot stays as CRM, Relayly does the sending

The most common migration pattern: keep HubSpot as the CRM source of truth, move only the email-send infrastructure to Relayly. The integration:

  1. Set up a HubSpot webhook on contact create/update events.
  2. Relayly's /v1/inbound/hubspot endpoint receives the webhook and mirrors the contact to your Relayly contact base, indexed by HubSpot's contact ID as external_id.
  3. Triggered emails are sent via Relayly using the mirrored contact. Reply analytics flow back to HubSpot via Relayly's outbound webhooks.

Net effect: you keep paying for HubSpot CRM (Sales Hub starts at $50/mo), and replace HubSpot Marketing Hub ($800-$3,200/mo) with Relayly Pro ($25/mo) — usually a $7-9k/year saving.

The cutover playbook

  1. Run the export script. It's read-only against HubSpot and re-runnable.
  2. Review the manifest. Anything flagged as "needs review" gets a copy-paste remediation snippet.
  3. Apply to Relayly. Idempotent SQL + REST imports. Re-run safely.
  4. Dual-send for a week. Compare inbox rates at Gmail / O365 / Yahoo through the dashboard.
  5. Flip the API key. Search-and-replace your codebase, deploy, monitor 24h.
  6. Pause HubSpot. Don't delete the account — keep it for 30 days as an unsubscribe-list reciprocity reference.
  7. After 30 quiet days, terminate HubSpot. You're done.

Pricing-side check

VolumeHubSpotRelaylyAnnual delta
HubSpot Marketing Starter (1k contacts)$15/mo$25/mo (with full features)− $120/year
Marketing Professional (2k contacts)$800/mo$25/mo+ $9,300/year
Marketing Enterprise (10k contacts)$3,200/mo$100/mo+ $37,200/year

HubSpot Marketing Hub pricing as of 2026-05 from hubspot.com/pricing. Marketing Starter is competitive at low volume; the jump to Professional is where most teams' migration math becomes obvious.

Start the migration

Sign up free, run the export script, dual-send for a week. We'll spot you 10,000 verification sends.

Start free