Case study SaaS ~30 employees

Launching outbound from zero for a fast-moving B2B SaaS company

A fast-moving B2B SaaS company was shifting its go-to-market from paid social inbound to outbound. The CEO was doing RevOps himself and had become the bottleneck. We built the outbound engine, rebuilt customer success operations, and gave them attribution they can actually budget against.

Client A B2B SaaS platform company, ~30 employees
0 → live
outbound engine: lists, enrichment, sequences, routing
7
sending inboxes on a dedicated domain, main domain protected
~260
customers reconciled into one renewal pipeline and CS view
AI referrals
new attribution category for ChatGPT- and Claude-sourced leads

The starting point

The CEO personally handled every CRM change because nobody else had the technical GTM skills, and the marketing lead was on leave. Outbound didn't exist: no sequences, no enrichment, no sending infrastructure. HubSpot had broken workflows, no lead source data, and around 260 customers tracked in conflicting lists. Every GTM iteration waited on one person's calendar.

The engagement

The scope started as HubSpot maintenance. Within weeks it became something bigger: build outbound from scratch, take the RevOps function off the CEO’s plate, and clean up the systems underneath. The work ran sprint-style, with milestones instead of ad-hoc requests.

What we built

Outbound infrastructure, end to end

Starting from nothing: a dedicated sending domain with seven inboxes so the main company domain stays protected, Apollo for sequencing, and a Clay enrichment pipeline that looks contacts up in HubSpot before creating them, so no duplicates. An exclusion property in HubSpot syncs into Apollo so customers and open deals never get cold emails. SDRs work from a proper Leads object with clear stages instead of a shared spreadsheet.

Customer success that runs on the CRM

Around 260 customers, spread across wildly different industries, were tracked in conflicting lists. We reconciled them into HubSpot as the single source of truth: dynamic company views that change by lifecycle phase, a renewal pipeline with time-based stages and automated 90-day notifications, churn reasons consolidated into a usable set, playbooks instead of free-text notes for handoffs, and a CS dashboard the team actually opens. Stage transitions now happen automatically, including a save-plan trigger when a renewal is marked at churn risk.

Attribution you can budget against

Lead source was a mix of empty fields and guesses. We built a layered attribution waterfall: UTM data first, self-reported source second, HubSpot traffic source as the fallback, with both original and latest source kept on every contact. One detail we’re proud of: a dedicated “AI referrals” source category that captures which AI platform (ChatGPT, Claude) referred the visitor. Buyers increasingly arrive from AI tools, and this client can now see it in their reporting.

Integrations that stop data drift

Intercom and HubSpot now sync companies on a unique ID so support conversations are visible on the CRM record. Customer records flow into the company’s internal tooling automatically. Meeting routing through Chili Piper was fixed so leads land with the right rep, including partner meetings that used to pollute the sales pipeline.

What this looks like day to day

The CEO stopped being the CRM admin. Requests that used to wait weeks now ship in days, and the founding team spends its time on selling and product instead of workflow debugging.

Stack

HubSpotClayApolloChili PiperIntercomSlack

What we did

Outbound infrastructureCustomer success operationsLead source attributionRenewal pipelineCRM integrations

Run this playbook for your team

Facing something similar?
We'll scope it to your stack and timeline.

Let's talk →