Greenbox Capital Goodwood Consulting
Box 1.0 ↔ HubSpot Alignment
Foundational data pipeline

Box 1.0 ↔ HubSpot Alignment Tracker

The foundational data pipeline between Greenbox’s loan origination platform (Box 1.0) and HubSpot. Replaces Roque’s manual weekly export process with an automated, bidirectional sync. Separate from, but a dependency of, the workflow migration project.
Updated 2026-05-08 · v0.1

Project Status at a Glance

~3 yrs
Open Since
3
Reboots
0
OSAP Initiated
5/13–5/15
Next Meeting
This is not a new project. The same architectural problem (“Box can’t reach HubSpot records that lost their CompanyId mapping”) has been open since August 2023. It has been formally re-scoped three times — Aug 2023 (Brian Lamure), Nov 2025 (Kusha Kapoor), May 2026 (Sarah Lackey). Each reboot has stalled at the same point: Greenbox-side prioritization (OSAP), not Goodwood capacity.

3-Year History

Aug 10–22, 2023

Original architectural blocker surfaces

Brian Lamure asks Kusha + Ryan: “How can we (1) Detect when these issues arise (2) Prevent them going forward?” Kusha replies: the Box Update service can’t use Box Record Id to match records because the HubSpot endpoint requires CompanyId. Once a CompanyId mapping is lost, sync silently fails. Thread: Hubspot- Missing CompanyId

Apr–May 2025

Roque goes dark for ~10 days — bus factor exposed

Ken Pina: “is anyone aware if Roque is still working for us, or maybe he’s on vacation? He has gone dark to our emails and without these data dumps mentioned below we are not able to keep our internal business going.” Confirms the entire Box→HubSpot data flow depends on a single human running a manual weekly process. Thread: Fw: Weekly Hubspot Record IDs

Oct 22–30, 2025

~1,500 records out of sync; Jordan Fein (CEO) pulled in

Ryan flags records that hadn’t synced in 15 days despite active submissions. Kusha disputes; Goodwood Support clarifies. Jordan Fein escalates and adds Michelle Klaasen (Box 1.0 product). Jennifer Young follows up Oct 30 about the ~1,500-record update — no public resolution in the email trail. Thread: HS <> Box ID Update Issues

Nov 19, 2025

Kusha initiates the automation scoping

Kusha (CC: Sarah Lackey) emails Goodwood: “Automate the manual HS <> Box1.0 Updates” with a clear agenda: review current process, propose integration approach + data flow, discuss de-duplication rules, identify risks. Thread: Automate the manual HS <> Box1.0 Updates

Dec 11, 2025

Preliminary Scoping Call — Ryan, Kusha, Sarah

Discussed webhooks + Firebase functions to push Merchants/Owners/Loan Requests into HS daily, return HS IDs to update Greenbox SQL. Sarah introduces Databricks as alternative framework. Secondary topics: HubSpot V4 API upgrade, many-to-many owner-merchant relationships. Action items: Kusha to schedule January follow-up with Brian + initiate OSAP. Call ID: 98519631912

Jan–Apr 2026

Silence — OSAP never initiated, January follow-up never scheduled

The committed action items from Dec 11 do not appear in the call archive or email trail. Roque’s manual weekly process continues uninterrupted (Apr 3, Apr 14 weekly imports). Inferred from absence in record

Apr 28, 2026

Roque produces ETL Logic & Edge Cases spec

In response to Kris’s implementation-plan demand, Roque attaches a Sales Data Protection & ETL Specification document with three traps that any replacement must handle natively (secondary decision makers, 324+ invalid email filter, rep collisions). Thread: Re: HubSpot Implementation Plan

May 7, 2026 — today

Sarah Lackey reboots the conversation

Sarah emails Ryan + Kris: “In talking with Kris... important gap that remains is the sync issues we have with data between Box 1.0 and HubSpot.” Schedules alignment meeting 5/13–5/15 with Kusha, Brian Lamure, Nova Guliyev, Kris. Kris: “This is the meeting I was telling you is essential we have you at.” Thread: Hubspot / Box 1 Data Sync

Pending Architectural Decisions

DecisionOptionsRecommendationStatusDecision Owner
Hosting platform Firebase Functions   Databricks app framework Goodwood builds in Firebase (template repo ready); package the integration logic in a portable way; Greenbox can run wherever they want post-handoff Decide 5/13–5/15 Sarah Lackey
Sync cadence Daily batch / hourly / real-time webhook Real-time webhook from Box 1.0 with daily reconciliation job as safety net Open Kusha + Ryan
HubSpot API version Legacy vs. V4 Move to V4 throughout — required for many-to-many associations Open Kusha + Goodwood
Owner–Merchant relationship model 1:1 (current) vs. many-to-many (V4) Many-to-many — multiple owners per merchant is real (PAM/RAM, secondary decision makers) Open Sarah + Kusha
Master record selection rules Latest activity / Email-Known + LastName-Known / Roque’s rules Codify Roque’s master rules from his ETL spec + persist to Firestore for audit Blocked — need spec Roque + Goodwood

Roque’s Pipeline — What Must Be Replaced

The current weekly manual pipeline is not just data movement. Roque catches and corrects multiple categories of issue. Any automation must replace all of them or Greenbox loses ground.

Data normalization & scrubbing Not Started

Pipeline data, merchant records, and merchant owner records are normalized and scrubbed for errors. Per Roque’s 4/3/2026 sync email.

Dedup logic Not Started

Weekly Insycle dedup across MOID, Broker ID, FirstName+LastName+Phone. Orphaned record merge by phone match. Master rule: Email Known + Last Name Known.

Email validation & typo correction Not Started

Box truncates emails at 50 chars producing typos like eclark@fivestar...n. Roque manually corrects in HubSpot. Apr 3 example: MID 286569.

Fraud email screening Not Started

324+ known-invalid email patterns must be filtered pre-ingestion. Per Roque’s ETL spec (4/28/2026).

Decline-reason picklist reconciliation Not Started

Box adds new reasons that don’t exist in HS picklist. Recurring incidents 2024-03, 2024-11, 2025-05, 2026-04. Needs an approval/sync workflow.

Secondary decision makers Not Started

Un-flatten secondary owners from Box export and attach them to Deal. Per Roque’s ETL spec.

Rep collision exception logic Not Started

Single owner across multiple distinct companies must NOT trigger HubSpot record merge. Currently a manual disambiguation step.

HubSpot ID round-trip to Greenbox SQL Not Started

After HubSpot creates a record, the new HubSpot ID must be returned to Greenbox’s SQL DB so future updates can be matched (the original Aug 2023 problem).

Drift detection & reconciliation Not Started

The 1,500-record / 46-orphan incidents prove silent sync failures happen. Need a daily reconciliation job that surfaces drift before it grows.

Phased Build Plan

PhaseScopeGatesStatusTarget
Phase 0: Alignment 5/13–5/15 meeting; Firebase vs. Databricks decision; OSAP initiated; tech leads named None In Progress May 2026
Phase 1: Inbound POC Read-only daily sync: Box → Firebase → HubSpot for new Merchants/Owners/Loan Requests. No write-back yet. Run alongside Roque’s manual process. Phase 0 alignment; OSAP approval; Box API access + credentials Not Started Jun–Jul 2026
Phase 2: HubSpot ID Round-Trip Return HS object IDs to Greenbox SQL on every create. Solves the original Aug 2023 problem. Phase 1 stable; Greenbox SQL endpoint available Not Started Jul–Aug 2026
Phase 3: Roque Pipeline Parity Implement all 9 capabilities above (dedup, fraud, typo, decline-reason, drift detection). Achieve parity with Roque’s manual output. Phase 2 stable; Roque ETL spec finalized Blocked — need spec Aug–Sep 2026
Phase 4: Real-Time + V4 API Replace daily batch with Box webhook trigger. Migrate all calls to V4. Enable many-to-many owner-merchant. Phase 3 stable; Box 1.0 webhook capability confirmed Not Started Q4 2026
Phase 5: Cutover & Roque Hand-off Roque’s manual process retired. Reconciliation dashboard live. Greenbox tech team on-call rotation. Phase 4 stable; 2 consecutive weeks of zero drift Not Started Q4 2026 / Q1 2027

Stakeholder Map

PersonOrg / RolePosition on this project
Sarah LackeyGreenbox — VP of TechnologyPushing Databricks; rebooted on 5/7; CC’d since Nov 2025
Kusha KapoorGreenbox — Developer Team LeadOwner of Box-side codebase; initiated this project Nov 2025; technical counterpart since Aug 2023
Brian LamureGreenbox — TechAsked the founding “detect / prevent” question Aug 2023 — still unresolved
Nova GuliyevGreenbox — Tech (?)New name on 5/7 invite — role unconfirmed
Roque MozingoGreenbox — HubSpot AdminSingle point of failure today; produced 4/28 ETL spec; his role evolves once automated
Ken PinaGreenbox — Director of TechnologySurfaces operational pain when Roque is unavailable
Jordan FeinGreenbox — CEOPulled into Oct 2025 sync incident — engaged at exec level when this breaks
Michelle KlaasenGreenbox — Product (Box 1.0)Box-side product owner
Kris GlaittliGreenbox — VP of SalesSponsor on workflow-migration; here for visibility only
Jennifer YoungGreenbox — Director of SalesSurfaces operational symptoms (orphan records, eligibility gaps)
Rahul TandonGreenbox — Senior DeveloperImports Roque’s weekly files into Greenbox SQL
Ryan ThibodeauxGoodwood — PresidentLead consultant; technical architect for proposed solution

Risks & Open Issues

RiskDetailSeverityMitigation
Roque bus factor 10-day silence in May 2025 stopped Greenbox’s data flow. Single human runs the entire weekly pipeline. High Phase 3 parity with monitoring + on-call rotation
OSAP not initiated Approval gate was action item from Dec 2025; never started. Without OSAP, Greenbox tech team can’t allocate dev resources. High Sarah/Kusha to initiate at 5/13 meeting
Architecture not decided Firebase vs. Databricks debate has been open since Dec 11, 2025. Building in either is fine; the deadlock is what blocks progress. Medium Force decision at 5/13 meeting; recommend Firebase + portable handoff
Insycle recipe configs not exported Phase 3 parity (dedup) requires the actual Insycle recipe match/master rules, which are configured in Insycle, not HubSpot. High Request from Greenbox before Phase 3 starts
Box 1.0 webhook capability unconfirmed Phase 4 (real-time) depends on Box 1.0 supporting outbound webhooks. Currently they push files weekly to Roque, which suggests no webhook. Medium Confirm with Kusha; fall back to polling if needed
~46 orphan deals + ~1,500-record drift Pre-existing data debt. Even after the new pipeline ships, these will remain orphaned unless reconciled. Medium One-time backfill job included in Phase 2
Decline-reason picklist drift Recurring quarterly. Each new Box reason needs HS picklist update + approval workflow. Low Build picklist-sync as a side capability in Phase 3

How This Relates to the Workflow Migration

The Workflow Migration Tracker (Insycle / Zapier / Apps Scripts / Box workflows) is scope-bounded — it’s about removing third-party tool subscriptions Kris wants to cancel. It can largely ship without solving Box ↔ HubSpot.

However, Phase 4 of the migration tracker (Box 1.0 workflows: Box→Deal stage, submission URL, webhook to Box) is a subset of this larger project. Once this Box ↔ HubSpot pipeline lands, those three workflows largely become moot or get re-architected against the new pipeline.

Recommended sequencing: ship workflow migration Phases 1–3 (kill Insycle/Zapier/Apps Scripts) first; defer migration Phase 4 until Box ↔ HubSpot Phase 2 lands.

Reference Material

Source of truth: This tracker is published from public/greenbox/reports/box-hubspot-tracker.html in the greenbox-core-apps repo. The companion workflow migration tracker is at migration-tracker.html.