HubSpot integration — full reference.
The most-used CRM integration in Mama. One-way push by default; two-way sync opt-in. Per-field mapping. Custom properties created automatically. This page covers everything: OAuth, mapping defaults, conflict resolution, common gotchas.
TL;DR
OAuth-connect once. Mama creates 4 custom HubSpot properties (mama_fit_score, mama_signals, mama_brief_url, mama_last_brief_date). Default direction: Mama → HubSpot. Two-way sync (HubSpot → Mama for closed-won status, opportunity stage) is opt-in per workspace. Conflict resolution defaults to "HubSpot wins" on any field overlap.
01Connecting
Settings → Integrations → HubSpot → Connect. Standard HubSpot OAuth flow. Required scopes: contacts.read/write, companies.read/write, deals.read (for closed-won feedback), custom_properties.write.
Admin role required in both Mama and HubSpot. Once connected, the integration runs continuously — no manual sync triggers needed.
02Custom HubSpot properties Mama creates
On first connect, Mama creates 4 custom properties on both Company and Contact objects in HubSpot:
| Property | Type | What it stores |
|---|---|---|
mama_fit_score | Number 0-100 | ICP rubric score from Mama |
mama_signals | Multi-line text (JSON) | Active signals at last sync |
mama_brief_url | URL | Direct link to the Mama brief |
mama_last_brief_date | Date | When the brief was last generated |
These show up in HubSpot's property selector. Use them in workflows, list filters, lead scoring rules.
03Default field mapping
| Mama field | HubSpot destination |
|---|---|
| Brief headline ("why now") | Activity note on Company timeline |
| Brief URL | mama_brief_url custom property |
| ICP score | mama_fit_score custom property |
| Active signals | mama_signals custom property (JSON) |
| Decision-makers (verified) | Create as new Contacts under the Company |
| Decision-maker email | Contact email field |
| Lookalikes (5) | Skipped by default (opt-in) |
Override any mapping from Settings → Integrations → HubSpot → Field mapping.
04Two-way sync (opt-in)
Default is one-way (Mama → HubSpot). When you enable two-way sync, these HubSpot fields flow back to Mama:
- Closed-won status on Deals → updates archetype training in Mama (so the Reply Loop learns)
- Deal stage changes → enriches the Mama account with deal-progress context
- Contact lifecycle stage → influences "thread status" in Mama briefs (shows up as "in active pipeline")
- Owner → mirrors HubSpot deal owner into Mama for "owned by you / teammate" filtering
Enable from Settings → Integrations → HubSpot → Sync direction.
05Conflict resolution
When Mama and HubSpot disagree on the same field (e.g., a contact's email):
- Default rule: HubSpot wins. Mama defers to your CRM as source of truth.
- Per-field override: set in Field mapping. For
mama_fit_scorethe default is "Mama wins" because HubSpot has no equivalent. - Conflicts are logged in Push history with the resolution applied — review periodically.
06What "Push to HubSpot" actually pushes
Clicking "Push to HubSpot" on a brief sends:
- Company record — created or updated with Mama-sourced fields
- Activity note — full brief content as a note on the company timeline (with link back to Mama)
- Verified decision-maker contacts — new contacts created under the company
- Custom property values — mama_fit_score, mama_signals, mama_brief_url, mama_last_brief_date populated
Total push latency: 2-5 seconds. If HubSpot's API is slow, push queues and retries automatically.
07Disconnecting
Settings → Integrations → HubSpot → Disconnect. Removes the OAuth grant. The custom properties Mama created remain in HubSpot (Mama doesn't delete data on disconnect — that's destructive). Already-pushed data stays.
If you want to fully clean up, manually delete the 4 custom properties from HubSpot Settings → Properties.