How One Team Replaced a 6-Figure HubSpot Agency with Claude Code

✍️ OpenClawRadar📅 Published: May 28, 2026🔗 Source
How One Team Replaced a 6-Figure HubSpot Agency with Claude Code
Ad

A mid-sized e-commerce company (~15 products across Shopify, Recharge, Digistore24, GoAffPro, and ads) needed to migrate from Zoho CRM, Zoho Desk, and KlickTipp to HubSpot Enterprise. Agency quotes ranged from 20k EUR (templated) to 80k EUR (mid-tier custom objects) — but none offered end-to-end custom middleware for sync/reconciliation. The team decided to build it themselves with Claude Code (desktop app, Opus 4.7, subscription plan).

What Was Built (in 4 months, ~30 sessions of 2-4h each)

  • 6 Custom Objects + ~100 properties + associations
  • 5 source-system integrations on self-hosted n8n: Shopify, Digistore24, Recharge, GoAffPro, Cart-Notifier — each with inbox pattern, idempotent upserts, reconciliation, backoff/retry, audit trail
  • 1 custom Cloud Run service for inbox-polling at 15s cadence
  • 10 Lifecycle stages + Funnel/Segment property layer
  • Aggregator workflow that backfills 9 contact properties from sync-mirror objects (idempotent, Postgres cursor, cron-driven)
  • KlickTipp migration: 202 tags audited, custom object for webinar registrations, consent governance
  • Google Ads CAPI (11 conversion actions, enhanced conversions) + Meta CAPI (Pixel + server-side)
  • 33 ADRs (architecture decisions, append-only, never deleted)

The author estimates the full deliverable would cost 120-180k EUR from an agency — and most can't deliver the custom middleware piece.

Ad

The Mental Shift: Claude Code as System-of-Record

Only ~20% of the repo is code. The other 80% is Markdown: architecture decisions, integration specs, runbooks, ADRs, naming conventions, consent governance. The repo becomes the single source of truth for how the business runs in HubSpot. When code is needed (Python helpers, backfill scripts, Cloud Run service), Claude writes it. For workflow logic, they use n8n — Claude builds/updates workflows via the n8n MCP server.

Repo as Memory Between Sessions

Claude Code sessions are stateless. The team treats this as a design constraint: state lives in files. Key practices:

  • ADRs capture every architecture decision with reasoning and trade-offs — new sessions read them and don't re-debate
  • Spec files per integration/area with a Status header — single source of truth for implementation state
  • Slash commands (/implement, /verify, /new-task) enforce discipline — Definition-of-Done gate, drift checks, atomic status updates
  • Cheatsheets for HubSpot operations (which work via API tools vs direct API calls vs UI clicks) and known bugs (HubSpot search index latency, Recharge enumeration-vs-bool, n8n auth races)

📖 Read the full source: r/ClaudeAI

Ad

👀 See Also

BeanWhisperer: OpenClaw AI tool generates GaggiMate pressure profiles from coffee bean info
Use Cases

BeanWhisperer: OpenClaw AI tool generates GaggiMate pressure profiles from coffee bean info

BeanWhisperer is an open-source tool that uses OpenClaw AI to analyze coffee bean information and automatically generate or select GaggiMate pressure profiles. It pushes profiles directly to machines via WebSocket, eliminating manual JSON copying.

OpenClawRadar
Modified vLLM 0.17.0 runs on Tesla P40 for real-time transcription with Qwen3 ASR 1.7B
Use Cases

Modified vLLM 0.17.0 runs on Tesla P40 for real-time transcription with Qwen3 ASR 1.7B

A developer modified vLLM 0.17.0 to run on Pascal architecture Tesla P40 GPUs, achieving near-complete hardware acceleration for real-time lecture transcription using the Qwen3 ASR 1.7B model. The fork is available on GitHub.

OpenClawRadar
Practical Applications of OpenClaw for One-Person Company Operations
Use Cases

Practical Applications of OpenClaw for One-Person Company Operations

A developer shares their experience using OpenClaw for running a one-person company, noting it runs on your own machine in a VM or on a Mac Mini and connects to existing tools. The post suggests it's most applicable for repetitive tasks and small operations work rather than fully autonomous company management.

OpenClawRadar
🦀
Use Cases

OpenClaw Agent Broke at 65% Context: 683k Tokens, Zero Cache Reads on Ollama/GLM

A 23-hour OpenClaw Discord agent run on GLM 5.3 Flash via Ollama Cloud broke at 683k tokens — 65% of the configured 1M window — with no overflow error, no timeout, and cacheRead=0 on every affected turn.

OpenClawRadar