A lead qualification workflow can corrupt the sales funnel before a salesperson makes the first call.
An operations director visits a trade show, then submits a website enquiry. The website retries the same delivery. The organisation name is abbreviated in one source and complete in the other. The email domain, consent evidence, owner and expected value disagree. If the software treats every arrival as a new prospect, the business gets duplicate leads, competing follow-ups and pipeline value it cannot defend.
That is not a form-routing problem. It is a customer-identity, decision and record-authority problem.

In week 15 of our case-study series, SwarmCraft planned the replacement as an 80-task implementation project and completed every task. The result is a customer-owned lead-to-revenue customer relationship management (CRM) operation for Northstar Handling Systems, a fictional Australian equipment supplier. The application replaces Pipedrive as the authoritative CRM inside the agreed boundary: source evidence, people and organisations, identity review, consent provenance, qualification, assignment, activities, opportunities, amounts, pipeline stages, outcomes, reporting, migration evidence and append-only history.
The project does not place a smarter chat window in front of Pipedrive. It takes responsibility for the records that make the sales funnel true.
For the wider category, start with Best CRM software. The Pipedrive replacement article compares the switching options, while Why CRM sprawl grows when lightweight qualification and handoff work lives outside the core record explains why duplicate records and side-channel decisions accumulate around the CRM.
The case for replacing the sales record
Pipedrive is good at making a sales pipeline legible. Its own Leads Inbox documentation describes keeping unqualified work outside the active pipeline, then converting a qualified lead into a deal. That clarity sets a serious replacement bar.
The operational friction appears at the edges of that model. Pipedrive's duplicate-merging guidance says overlapping records can result in the wrong contact being used or two salespeople contacting the same customer. It also says a completed merge cannot be undone. Its import guidance explains that deals have no duplicate identifier and that contact matching relies on combinations of name, organisation, phone, email or address. Those are reasonable product rules, but they make identity evidence and accountable merge decisions central to a replacement.
Reporting and multi-contact work create another pressure point. One three-year Pipedrive customer describing why they were leaving called the reporting basic and the automation limited. In a separate Pipedrive consultant discussion, the author describes recurring customer requests for joint-deal communication and the custom-field workarounds used when several people participate in one sale.
These discussions are anecdotes and product feedback, not proof that every Pipedrive account has the same problem. They matter because they expose the operation we chose to own: identity, qualification evidence, product and amount provenance, activities, stages and reporting must remain connected instead of being copied into reporting-friendly shadows.
Migration reinforces that point. Pipedrive's current export instructions cover leads, deals, organisations, people, products, activities, projects, notes and files, but activities, notes and files linked to deals and contacts are exported separately. A credible Pipedrive replacement therefore has to reconstruct relationships and history, not just import one contact spreadsheet.
The lead-to-revenue boundary we chose
The owned product is the CRM system of record. Adjacent services exchange bounded facts through explicit interfaces without becoming authoritative for the funnel.
| Owned by the lead-to-revenue operation | Adjacent authority |
|---|---|
| Immutable source deliveries, source identities, observed and received times, payload hashes, retries and reconciliation | Website, event, referral, marketing and enrichment systems remain authoritative for what they emitted |
| Canonical people and organisations, source provenance, possible matches and accountable identity decisions | Identity providers authenticate users; they do not decide customer identity inside the CRM |
| Purpose-specific consent evidence, effective policy versions, qualification criteria, scores, AI advice and human dispositions | Marketing delivery retains campaign execution; legal and policy owners define the applicable basis and rules |
| Lead owner, assignment history, activities, next action and lifecycle | Calendar and communication providers deliver bounded requests and return acknowledgements |
| Opportunities, product lines, decimal amounts, currencies, probabilities, pipeline stages, outcomes and operational forecast inputs | Product master, pricing approval, contracts, signatures, billing, payments and accounting stay outside CRM authority |
| Versioned deal briefs, cited CRM inputs, approval evidence, immutable PDF hashes, delivery requests and receipts | Email transport delivers the approved message; it does not approve content or alter CRM state |
| Migration inventory, mappings, exceptions, comparisons, cutover evidence, rollback evidence, export and audit history | Pipedrive remains only the staged source during transition and ceases to be authoritative at approved cutover |
This is a focused Pipedrive replacement, not a feature-parity clone. The perimeter follows one complete lead-to-revenue operation.
Project stats
| Measure | Week 15 evidence |
|---|---|
| SwarmCraft project | Lead Qualification |
| Planned implementation scope | 80 tasks |
| Final board state | 80 Done; zero Todo, Doing, Checking, Reviewing, blocked or manual-review tasks |
| Build runner | OpenAI Codex CLI |
| Agent executions | 80 |
| Build-lane runtime | 10h 0m 28.1s |
| Target repository | 527 tracked files and 46,332 tracked text lines at evidence review |
| Database | PostgreSQL with 19 versioned Flyway migrations |
| Repository checks | 241 scripted, API and web unit or integration checks passing |
| Browser verification | 15 Playwright system tests passing |
| Maintained product evidence | 36 deterministic screenshots |
| Delivery target | Customer-managed cloud environment |
The driver completed all 80 selected tasks in 80 agent requests. Cost and token telemetry were unavailable, so no cost claim is being inferred from the run. After the build, human-directed work established the design-system contract, removed generic dashboard styling, created a real funnel silhouette, turned qualification into a three-step review, repaired screenshot failures and brought the complete target checks back to green on 7 September 2026.

This is a production-shaped foundation, not evidence of a live Northstar deployment. The target uses fictional fixtures and has no customer Pipedrive export, production identity provider, email account, model provider, object store, reviewed role grants or rehearsed recovery environment. Those adoption obligations remain visible rather than being disguised as finished configuration.
The lead qualification workflow we built
The story follows one Redgum Cold Storage enquiry from duplicated source evidence to one governed sales outcome.
Seven actors have distinct responsibilities.
| Role | Responsibility in the owned operation |
|---|---|
| Prospect or authorised contact | Supplies source facts and a purpose-specific contact request without gaining access to internal CRM records |
| Sales development representative | Reviews identity, consent and qualification evidence; records the human disposition; and owns the first accountable follow-up |
| Account executive | Runs discovery, maintains activities, progresses the opportunity and prepares the customer-facing deal brief |
| Sales manager and forecast reviewer | Reviews pipeline, stage age, currency-separated values, exceptions and the proposed report before an authorised approval |
| Revenue operations administrator | Maintains workflow definitions, diagnoses reconciliation and delivery evidence, and protects reporting integrity |
| Marketing operations or source-system operator | Maintains source contracts and resolves capture failures without turning a marketing event into CRM truth |
| Organisation administrator, migration operator or auditor | Governs access, migration, cutover, export, continuity and append-only evidence |
Lead qualification workflow steps
The implemented lead qualification process follows these rules:
- Start on a server-calculated dashboard showing open leads, overdue next actions, duplicate risk, conversion, stage age and active opportunity values separated by currency.
- Capture the earlier trade-show scan and later website enquiry as immutable source events with their original identifiers, purposes, times and evidence.
- Preserve both website delivery attempts while admitting only one governed event, so a retry cannot create another lead, activity or amount.
- Generate possible person and organisation matches from deterministic signals, display conflicts and require an accountable review instead of silently merging identities.
- Resolve the consent-purpose and qualification-rule versions effective when each event occurred.
- Calculate the reproducible qualification result from fit, need, timing, authority, budget evidence, engagement, exclusions and missing facts.
- Let AI prepare a cited recommendation with contradictions, uncertainty and discovery questions, while keeping its advice separate from the human decision.
- Record the sales development representative's disposition, assignment and next action through confirmed server-authoritative commands.
- Convert the qualified lead once into one opportunity while preserving the lead, source events, evidence, decision and identity lineage.
- Record the AUD 248,500 amount with decimal precision, currency, products, quantities, discounts, probability, provenance, owner and next action.
- Move the opportunity through discovery, solution fit, proposal and commercial review only when the required evidence, owner, activity and reason exist.
- Generate a versioned deal brief from cited CRM records, render a deterministic PDF, preview the recipients and require human approval before email delivery.
- Reconcile a late partner referral against the existing opportunity without resetting the stage, duplicating the deal or rewriting earlier decisions.
- Record the won or lost outcome and return to the dashboard, where the same underlying records explain the changed funnel.
These lead qualification workflow steps form a practical lead qualification workflow template: delivery is not identity, identity is not consent, a score is not a decision, AI advice is not authority, and an accepted email request is not proof of delivery.
The dashboard starts with accountable work
The opening dashboard is an operating surface rather than decorative business intelligence. The API returns the snapshot version, evaluation time, counts, denominators, record links, stage age and currency-separated amounts. The browser does not recalculate a competing answer.

The funnel keeps a stable geometric silhouette so it reads as a funnel rather than a distorted bar chart. Counts sit beside the shape, and an ordered-list equivalent supports non-visual navigation. The surrounding KPIs and follow-up queue lead back to the records behind each number.
Duplicate delivery and identity are different decisions
The Redgum website event arrives twice. The capture boundary keeps both attempts, compares their event identity and payload hash, and suppresses the duplicate consequence. That deterministic transport decision does not authorise the application to merge Redgum with the earlier trade-show contact.
The guided review separates the work into three steps: review evidence, resolve identity, then record qualification. It keeps source facts, matching signals, consent policy, deterministic result, AI recommendation and human disposition visible without turning the page into one endless diagnostic screen.

In the fixture, the deterministic result and AI recommendation disagree. The interface treats that disagreement as a reason for review. It does not average the two answers or let model confidence impersonate evidence.
MCP makes CRM commands operable through conversation
The product direction uses Model Context Protocol (MCP)-compatible typed tools over the same CRM commands as the visual interface. In the implemented target, Sales Desk proves cited guidance, a lead-update preview, confirmation, denial and an idempotent receipt. The MCP-compatible server exposes the same preview and execute boundary for typed lead commands. Extending that tool catalogue across dashboard briefing, qualification, opportunities and reports remains explicit product work.
The useful distinction is between read, propose and execute-with-confirmation. The assistant may assemble evidence and prepare a command. Before anything changes, the user sees the current value, proposed value, permissions and side effects. The API then rechecks the authenticated person's permission, scope, purpose, confirmation and idempotency key.

The model cannot independently merge identities, invent consent, qualify a lead, assign an owner, create an opportunity, change value, move a stage, close a deal, send an email or export data. Conversation removes interface friction; it does not create a second, weaker authority path.
One qualification becomes one opportunity and one value
After the representative confirms the qualification and assignment, conversion produces one opportunity linked back to the lead, human result and source evidence. The amount snapshot records AUD 248,500.00 at 35% probability and AUD 86,975.00 weighted value without treating either figure as an invoice, ledger balance or approved commercial commitment.

Every stage transition retains its from-stage, to-stage, effective version, actor, reason, evidence and time. Discovery, solution fit, proposal and commercial review remain separate events. An out-of-order referral received after proposal is linked as new evidence; it cannot replay qualification, reset the stage or create a second opportunity.
That is the core sales workflow automation result. The funnel is reproducible because every movement has a record, not because the browser dragged a card into another column.

The deal brief comes from cited records, and a person sends it
The implemented reporting path begins with a structured model assembled deterministically from exact CRM record versions. The product direction allows AI to propose a bounded summary of the opportunity, open questions, qualification evidence, activity and risk, but the target does not treat model prose as the authoritative report. A controlled renderer produces the PDF from the server-composed structure; it does not accept executable model-authored HTML.

Approval, artifact creation, delivery request and delivery outcome are four separate records. The PDF carries a content hash and cannot be overwritten after approval or delivery. If a cited opportunity fact changes, the old artifact remains intact and becomes visibly stale; the system creates a linked new version.
Email delivery uses an idempotent transactional outbox. An exact retry returns the same message identity, while a changed recipient or artifact conflicts. Provider acknowledgements, failures and successful delivery append to history and link back to the opportunity activity.
The core target implements the versioned report, deterministic PDF, artifact, approval, outbox and receipt contracts. The composed report-history screen still uses representative view models because its protected user-facing receipt-history adapter remains an explicit implementation gap. That distinction matters before production adoption.
Migrating Pipedrive means migrating amounts and relationships
The migration workspace makes the transition inspectable by object type. The fictional staged batch contains 20,492 source records: 20,396 pass the versioned mappings and 96 remain quarantined for record-level review in the displayed fixture.

The inventory covers organisations, people, leads, deals, pipelines, stages, activities, notes, files, products, quantities, values, currencies, probabilities, owners, labels, custom fields, source identifiers and available history. Reconciliation checks relationships, stage history, activity status, file hashes, quantities and amount totals by currency instead of declaring success from one grand record count.
Amounts receive the same care as identities:
- quantities and money use decimal rather than binary floating-point semantics;
- currency, scale, source identifier and mapping version travel with the value;
- totals reconcile separately by currency;
- unsupported or ambiguous values remain quarantined; and
- reruns and captured deltas use stable identities so they do not double-count deals or value.
The designed transition moves through inventory, dry run, correction, repeatable rerun, parallel comparison, a bounded write-freeze or delta window, final import, reconciliation, explicit go/no-go decision, integration redirect, hypercare and rollback.
The current target proves that sequence with deterministic fixtures, a read adapter, browser-visible evidence and rollback tests. It does not execute a live Pipedrive extraction or production cutover. Customer mappings, canonical migration writes, activation authority, thresholds and a rehearsed production rollback still have to be implemented and approved for the real account.
What the custom CRM operation includes
| Capability | Week 15 implementation | Next responsible work for live operation |
|---|---|---|
| Source intake | Immutable deliveries, payload hashes, observed and received times, duplicate and quarantine dispositions | Connect reviewed website, event, referral, marketing and enrichment adapters |
| Identity | Canonical people and organisations, deterministic candidates, visible conflicts and review decisions | Confirm customer matching policy and implement the approved canonical merge path |
| Consent and qualification | Effective versions, reproducible scoring, evidence validation, cited AI advice and human disposition | Load approved purposes, criteria, role permissions and legal-policy decisions |
| Assignment and activity | Append-only ownership, next action, follow-up and lifecycle commands with stale-action rejection | Configure territories, workload rules, calendars and communication providers |
| Opportunity | One governed conversion, product and amount provenance, stage history, outcomes and late-event reconciliation | Configure the real pipeline, evidence criteria, probabilities and outcome reasons |
| Dashboard | Server-calculated funnel, conversion, stage age, overdue work, currency-separated values and record drill-down | Agree reporting definitions, targets, review cadence and data-retention policy |
| Sales Desk | MCP-compatible typed read, propose and confirmed-execution tools with permissions and receipts | Select model and assistant hosts, issue short-lived credentials, evaluate quality and monitor tool use |
| Deal briefs | Cited versions, deterministic PDFs, immutable hashes, approvals, outbox messages and delivery receipts | Connect protected history reads, recipient policy, object storage and email transport |
| Migration | Inventory, mappings, quarantine, comparison, amount-safe evidence, cutover and rollback proof | Build customer extraction and writes, rehearse deltas, approve thresholds and execute transition |
| Security and continuity | Opaque sessions, server-side authorisation, safe denials, audit evidence, background jobs and recovery runbooks | Configure production OpenID Connect, grants, secrets, backup, restore, monitoring and incident ownership |
Technology implemented
| Layer | Week 15 implementation |
|---|---|
| Browser application | React 19, TypeScript and Vite 7 with a responsive CRM shell, guided review, Sales Desk, reports, migration and audit views |
| Dashboard | Recharts for stage-age and conversion charts, a custom geometric funnel with a text equivalent, and record-linked tables and work queues |
| Design system | One colocated repository-native system with custom tokens, semantic status language, reusable patterns, an inventory, adoption guidance and accessibility rules |
| API | Native Node.js and TypeScript modules with typed CRM commands, protected queries and provider-neutral integration ports |
| Persistence | PostgreSQL and 19 versioned Flyway migrations protecting canonical records, immutable source evidence and append-only histories |
| AI and MCP | Structured outputs, evidence citations, uncertainty, field-level controls and MCP-compatible tools sharing the governed command boundary |
| Reporting | Versioned structured report models, deterministic PDF rendering, immutable artifact hashes and idempotent delivery outbox records |
| Reliability | Stable source identities, transactional outbox, leased background jobs, bounded retry, dead-letter recovery, health and readiness separation |
| Delivery | pnpm monorepo, non-root containers, Docker Compose production reference, PostgreSQL, worker, web, API and S3-compatible object-storage seams |
| Verification | Node test runner, Playwright system tests, responsive and accessibility checks, deterministic fixtures and maintained screenshots |
What the browser evidence proves
The 15 passing system tests cover:
- opening dashboard records, funnel geometry, text equivalents and server-authoritative drill-downs;
- duplicate website delivery producing one governed event;
- ambiguous identity, purpose-specific consent and effective qualification evidence;
- separate deterministic rules, AI recommendation and human disposition;
- confirmed assignment, one conversion, one amount, governed stage progression and won outcome;
- Sales Desk suggestion, preview, confirmation, safe denial, idempotent execution and receipt states;
- versioned deal-brief approval, deterministic PDF identity and retry-safe delivery;
- late-referral failure, safe retry, one linked opportunity and reconstructable audit evidence;
- migration inventory, quarantine, parallel comparison, cutover readiness and rollback without double-counting; and
- readable desktop and tablet layouts with landmark, keyboard, chart, table and status alternatives.
The tests use deterministic fictional data. They prove the behaviour implemented by this target and the assertions exercised on 7 September 2026. They do not prove a live Pipedrive migration, Northstar adoption, achieved revenue, legal compliance, customer consent policy or production recovery objective.
How SwarmCraft structured the build
SwarmCraft created the 80-task Lead Qualification project before implementation. The board moved from living context and domain vocabulary through PostgreSQL foundations, identity, source capture, consent, qualification, assignment, opportunities, amounts, stages, late-event reconciliation, decision history, reporting, migration, security, accessibility, delivery and recovery.
That order prevented the dashboard from becoming the architecture. Stable identities, versioned policies, authority boundaries, commands and histories existed before the visual funnel depended on them.
The first generated interface still looked like a collection of generic AI dashboard panels. The design-system recovery established one consumer contract under apps/web: black-and-white surfaces, one coral action accent, compact commercial typography, semantic statuses, reusable CRM patterns and accessible equivalents. The funnel was deliberately rebuilt as a stable tapered silhouette because sizing each layer directly from small fixture counts produced an incoherent shape.
Human review changed the result materially. It caught error-state screenshots, pages too long to tell a story, raw identifiers presented as primary copy, weak hierarchy, awkward wrapping and a chart that did not visually behave like a funnel. Those are product failures when the evidence is technically correct but difficult to understand.
What this says about AI-built workflow software
AI worked in two different roles.
First, an AI build agent completed 80 independently tracked tasks across application code, database migrations, tests, infrastructure and runbooks. The work became credible through executable checks, browser evidence and human review—not because the task board reached Done.
Second, AI operates inside the product as a bounded sales assistant. It can gather permitted CRM context, explain blockers, cite contradictory evidence, suggest next work and prepare a deal brief. MCP makes those capabilities available through typed tools rather than screen scraping or an ungoverned second API.
The important control is that AI prepares and people decide. The model does not become the CRM system of record, and conversational convenience never outranks identity, consent, permissions, confirmation or append-only evidence.
Replace the funnel, then own the responsibility
The Week 15 result is not another lead form feeding Pipedrive. It is an owned sales operation with one explainable route from source evidence to one governed opportunity and outcome.
The replacement becomes credible when the organisation can answer these questions from its own records:
- Which source events arrived, when were they observed and received, and which delivery was a retry?
- Why did two deliveries create one event while two possible identities still required human review?
- Which consent and qualification versions applied at the relevant time?
- What did deterministic rules calculate, what did AI recommend, and what did a person decide?
- Who owned the lead, next action and opportunity at every material point?
- Why did one lead create one AUD 248,500 opportunity rather than duplicate pipeline value?
- Which evidence and reason allowed each stage transition and final outcome?
- Which CRM record versions produced the PDF, who approved it, who received it and what delivery evidence returned?
- What changed when the late referral arrived—and what deliberately did not?
- Did every migrated relationship, activity, file, quantity, amount, currency, stage and sampled history reconcile before authority changed?
Owning those answers is what turns lead qualification automation into a CRM system of record.
Use Deep Discovery to plan the Pipedrive replacement
A Pipedrive replacement crosses personal data, identity, consent, source contracts, qualification policy, sales ownership, opportunity amounts, reports, permissions, migration, cutover and continuity. Deep Discovery is the route for mapping those records and responsibilities into one coherent owned operation. It is currently available through a limited account-enabled rollout.
The goal is not a prettier sales dashboard. It is a complete lead qualification workflow and sales pipeline that the organisation can operate, explain, recover and improve on its own terms.
