hubspot-deal-account-names

Public task · Field Engineering

← Field Engineering

Make the HubSpot deals sync fill account_name in core.deals from each deal's associated company on live runs, leaving it empty when there is none or the lookup fails, without making the deal stage events job request companies.

Version
Category
Engineering
Model configurations
2
Attempts
9
Public trials
95 passed
Median runtime
14m 35s

Instruction

# Give HubSpot deals their account names

HubSpot rows in `core.deals` have no `account_name`.

When the HubSpot deals sync (`backend/jobs/core/deals/hubspot.py`) runs live, fill each deal's `account_name` from the company the deal is associated with in HubSpot. A deal with no associated company has no account name.

Two things must not change:

- The deal stage events job must not start asking HubSpot for companies.
- A company lookup that fails must not fail the sync. Those deals go without an account name for that run.

The stack is offline. `python3 /opt/fake-hubspot/server.py` starts a local stand-in for HubSpot's CRM API, with a synthetic portal for each HubSpot credential in the dev database. A job run with `/opt/fake-hubspot/route` on its `PYTHONPATH` reaches the stand-in when it calls `api.hubapi.com`.

## Environment

PostgreSQL on localhost:5432 and the local database endpoint the app's
driver uses are running when you start, and the dev env files point at the
dev database.

Public trials

Claude Opus 5.51 of 1 passed

Results by model

Model · harnessMean rewardRange± SEAttempts
Claude Opus 5.5Grok Build100.0%100% – 100%—1
Frontier model ACursor CLI50.0%0% – 100%18.9 pp8