The Sales OS runs 24/7 across 30+ specialised modules — finding deals, scoring intent, coaching after every call, and assembling a prioritised task list for each manager before the work day starts.
The Sales OS replaces the 3-hour Monday morning ritual of "what should I work on this week?" with a personal queue waiting in HubSpot, ranked, scored, and timed.
9 harvesters scan HubSpot, Aircall, Demodesk, jobboards, and trigger feeds for signals: champion job changes, stale-deal coverage gaps, hiring-funnel breaks, win-probability drops, untouched HIGH leads. Every signal becomes a candidate task.
Priority engine fuses ICP fit, deal size, recency, win-probability, peak-hour timing, and rep-feedback multipliers into a single 0–400 score. Top tasks float, low-quality gets dropped at the quality floor.
Tasks land on each rep's HubSpot workspace by 08:30 CET — 85 targeted dials plus follow-up emails and reviews, time-stamped to peak connect windows learned from 12 weeks of Aircall history.
While you sleep, the system enriches yesterday's calls, refreshes intent signals, scores new pipeline, and stages tomorrow's queue. By the time you open HubSpot, the work has already been chosen for you.
Every task lands in HubSpot the same way: pulled from a source, scored by the priority engine, gated through quality + capacity, and pushed to the rep's workspace.
The Sales OS isn't a monolith — it's a collection of single-purpose modules, each owning one stage of the funnel. New behaviour is added by writing a new module, not by changing existing ones.
Reads call-scoring outputs and emits a follow-up task per call where the next-step is unclear or the rep missed a qualification dimension.
Pulls all open deals owned by each rep and emits one prioritised task each — push to close, follow up on proposal, or schedule next meeting.
Flags deals whose win-probability dropped >15 points in the last 7 days. Often the earliest signal that a deal is slipping.
Uses jobboard apply-completion data to spot companies losing 75 %+ of candidates after the redirect. High-intent outreach ammunition.
Spots large deals where only one contact is engaged and prompts a multi-threading conversation with a second stakeholder before close.
Detects past closed-won contacts who moved companies. The new employer is one of the highest-converting outbound signals in B2B.
Every candidate task — regardless of source — passes through one scorer. ICP fit + deal size + recency + timing boost + feedback = a 0–400 score.
Aggregates 12 weeks of Aircall outcomes per rep × hour-of-day. Boosts tasks scheduled during your peak pickup windows by up to 15 points.
Every dismissed task with a "🚫 bad lead" Slack reaction down-weights similar leads next time. The system learns what your team actually closes.
Nightly QA pass. If a deal advances to Negotiation without MEDDPICC fields, the rep gets an alert task before the next sync.
German public holidays, OOO reps, weekends, and meeting-heavy days all reduce the queue automatically. No queue-bombing on Pfingstmontag.
Yesterday's untouched HIGH tasks are promoted with +10 priority pts and re-assigned at 09:00, with a manager nudge if it slips a third day.
Every 5 minutes, watches for tagged Aircall calls and pre-writes a personalised German follow-up email. One click in HubSpot to send.
22:15 nightly, pulls Demodesk transcripts of recent meetings and writes a 3-sentence prep card for each scheduled demo tomorrow.
Per-rep weekly view: dial volume, connect rate, meetings booked, deal velocity. Manager sees the team in 30 seconds.
Logs which email subjects are getting opens vs. ignored. Patterns surface back into b2b-outreach-sequences for the next round.
Pulled live from the production queue at the most recent build. The system aims for 85 dials per rep — green = on target, blue = working, red = supply-short.
Today's queue · target = 85 dials/day · vertical line shows target
7-day source mix · all 9 harvesters + manual sources
Where tasks die between harvest and HubSpot · today's queue build · top 10 by volume
| Source | Reason dropped | Tasks/day |
|---|
7-day mix across all reps
Of 423 tasks dropped at HubSpot push today, 169 came from a single source — coaching_followup — with mismatched rep-to-owner mappings. One reconciliation job restores those 180 tasks/day directly to the short-supply reps who need them most. That's how the 85-dial floor becomes real for everyone, not just the top six.
Four targeted fixes deployed live. Each is independently rollback-able, fully backed up, and visible in tomorrow's logs.
Fixed wrong import path, wrong API method name, and case-sensitive rep name match. The peak-hour timing signal now updates nightly instead of using stale aggregates.
New cron entry runs the timing optimizer at 02:15 every morning. Yesterday's call data is reflected in today's queue prioritisation.
New log line on every queue build: Drop breakdown (source/reason=count): coaching_followup/wrong_owner=169, … — making the supply leak diagnosable for the first time.
Request-scoped cache on /search endpoints. ~70 % fewer 429-rate-limit retries. Queue builds finish faster and more reliably across all 9 harvesters.