ClarityDesk is a fictional B2B SaaS helpdesk company used as the basis for a full end-to-end CRM implementation case study. The project was designed to mirror the responsibilities listed in a CRM Implementation Specialist role covering migrations, workflow automation, data validation, integrations, reporting, and knowledge transfer documentation.
The core challenge was not simply moving data from one system to another. It was rebuilding the operational logic of a sales and support team inside a new platform cleanly, with no silent failures, and with the systems in place to maintain data quality going forward.
Zoho CRM contained four object types Companies, Contacts, Deals, and Tickets with inconsistent field naming, pipeline stage mismatches, and no direct native sync to HubSpot's free plan that supported custom field mapping.
Before any data moved, each object was audited and restructured to match HubSpot's schema. Field names were normalised, dropdown values were standardised, and all records were cleaned to remove formatting inconsistencies that would cause silent import failures.
Migration was executed object by object via CSV import into HubSpot, with all records cross-linked and associated after import to preserve relational integrity.
Obstacles documented and resolved
• Zoho silent duplicate detection: Blocked Deal imports without error messages. Resolved via manual entry of affected records with a documented workaround.
• Pipeline stage value mismatches: HubSpot rejected stage names that did not exactly match its internal pipeline configuration. Resolved by standardizing stage names before import.
• Native sync limitation: Zoho-HubSpot native sync required a paid plan for custom field mapping. Resolved by bypassing the sync entirely and using direct CSV imports.
All four objects migrated successfully 10 Companies, 20 Contacts, 15 Deals, and 15 Tickets with full associations intact. Zero data loss. Every obstacle was documented as a process artifact for future reference.
Zoho HubSpot Migration
Properties Mapping in HubSpot
Contacts uploaded into HubSpot with associated Company properties.
A freshly migrated CRM is just a database. The platform needed to be configured to reflect how ClarityDesk's sales and support team actually works with a defined pipeline, a lead scoring model, automated routing, and communication infrastructure.
What was built?
A custom deal pipeline was created with ClarityDesk-specific stages and win probability weightings assigned to each stage, enabling accurate revenue forecasting from day one.
A lead scoring model was built using Property Groups (firmographic and demographic attributes) and Event Groups (behavioural signals). A 10% score decay was applied every 3 months to prevent stale leads from inflating the MQL pool.
New Lead Assignment (rewrite)
The challenge: With a 3-person sales team handling leads across multiple industries, manual assignment created delays and inconsistency. Leads sat unrouted, notifications were missed, and new deals had to be created manually after every new contact came in.
The approach: A single workflow was built to handle the full intake sequence automatically. The workflow branches on the Industry property of the associated company across five defined categories — Information Technology, Financial Services, Retail, Management Consulting, and E-Learning with a sixth "none met" path for contacts that do not match a defined industry.
Each branch runs four actions in sequence: the contact is rotated to the appropriate owner, an internal email notification is sent to alert the rep, a marketing email is sent to the contact, and a deal record is created and assigned automatically, eliminating the need for any manual follow-up at the point of lead entry.
The result: Every new lead is owned, notified, welcomed, and attached to an open deal within minutes of entering the CRM with no manual steps required from the sales team.
HubSpot report: Average time to convert created contact to deal: 64 seconds, reflecting full automation of the intake sequence from lead entry to deal creation.
Deal Stage Update Workflow
The challenge: When a deal moves through the pipeline, two things need to happen immediately. The deal owner needs to know, and a follow-up task needs to exist so the next action is never forgotten. Without automation, both of these steps relied on the rep remembering to update the team and create the task manually.
The approach: A workflow was built that triggers every time the Deal Stage property changes to a known value, with re-enrollment enabled so it fires on every stage movement, not just the first one.
When triggered, the workflow runs two actions in sequence. First, a follow-up task is created and assigned to the deal owner, referencing the deal name and current stage so the rep knows exactly what deal needs attention and where it sits in the pipeline. Second, an internal email notification is sent to the deal owner confirming that the deal has moved, showing both the deal name and the new stage.
The result: Every deal stage change generates an automatic task and notification for the owner no deals move silently through the pipeline, no follow-up steps are forgotten, and the rep always has a clear next action waiting for them.
Onboarding Sequences Workflow
The challenge: When a deal moves to a new stage, the customer on the other side needs to hear from ClarityDesk immediately and consistently. Without automation, onboarding communication depended on the rep remembering to send the right email at the right time, creating inconsistent customer experiences and gaps in the early relationship.
The approach: An onboarding email sequence was built on the same trigger as the Deal Stage Update workflow, firing when the Deal Stage property changes to a known value, with re-enrollment enabled so it responds to every stage movement.
The sequence runs five steps in order:
First, a ClarityDesk Onboarding Welcome email is sent immediately to all associated contacts on the deal. Three business days later, a ClarityDesk Onboarding Setup Guide is sent to the same contacts giving them time to absorb the welcome before receiving actionable setup instructions. Four business days after that, a ClarityDesk Onboarding Check-in email goes out a structured touchpoint to catch questions or blockers before they become support tickets.
The delays are deliberately set in business days only, ensuring no onboarding emails land on weekends when they are less likely to be read and actioned.
The result: Every customer whose deal moves through the pipeline receives a structured, timed onboarding sequence automatically. A consistent experience that does not depend on rep memory or manual sending.
Ticket Escalation Workflow
The challenge: A priority change on a ticket is a signal that something needs immediate attention. Without an automated response to that signal, urgent tickets could sit unactioned while the owner was occupied elsewhere creating SLA breaches and poor customer experiences that were entirely preventable.
The approach: A workflow was built that triggers every time the Priority property on a ticket changes to a known value, with re-enrollment enabled so it responds to every priority update throughout the ticket's lifecycle.
When triggered, the workflow runs three actions in sequence. First, an urgent task is created and assigned directly to the ticket owner: labelled "URGENT - [Ticket Name] requires immediate attention" so the rep has a clear, named action item waiting for them. Second, an internal email notification is sent to the ticket owner with the subject "URGENT - Action Required" referencing the ticket name, ensuring the alert reaches them even if they are not actively in HubSpot. Third, an escalation alert email is sent to the team lead, including the ticket name and associated company name, so leadership is aware of every escalation without needing to monitor the queue manually.
The result: Every priority change on a ticket triggers an immediate three-layer alert: a task for the owner, a direct notification to the owner, and an escalation alert to the team lead. No urgent ticket moves without the right people knowing about it within seconds.
Phase 3: Integrations & Sales Process Automation
The challenge: Connecting tools to a CRM is only half the work. The real question is whether those tools work together to remove manual steps from the sales process or whether they simply add more places for data to live.
The approach: Two integrations were connected to HubSpot and configured to work as a single automated sales intake system rather than isolated connections.
Apollo.io was connected as the lead generation source. New contacts prospected through Apollo sync directly into HubSpot with source attribution preserved, entering the CRM as structured records ready for scoring and routing.
Clay was connected for data enrichment. Contacts entering from Apollo or any other source are automatically enriched with firmographic data including company size and industry, ensuring the lead scoring model and validation workflows have the data they need to function from the moment a record is created.
These two integrations feed directly into the New Lead Assignment workflow, which completes the automation sequence. The moment a qualified contact enters HubSpot, the workflow fires: rotating the contact to the right rep based on industry, sending an internal notification, triggering the welcome marketing email, and automatically creating a deal record assigned to the contact owner.
The result: The entire sales intake process, from prospecting through to an owned, enriched, notified, and pipeline-attached lead with an open deal runs automatically. The sales team focuses on selling, not on data entry.
Phase 4: Data Validation
The challenge: A CRM is only as useful as the quality of data inside it. Without validation rules, records enter the system with missing fields, broken lead scoring, mis-routed deals, unactionable tickets, and reporting that cannot be trusted. The problem is not just bad data. It is bad data that sits undetected until it causes a visible failure downstream.
The approach: A three-layer data validation framework was designed and implemented across all four objects Companies, Contacts, Deals, and Tickets.
Two custom properties were created on each object to support the framework. Validation Status is a dropdown: Valid, Invalid, or Needs Review set automatically by workflow every time a record is created or updated. Validation Notes is a plain-language text field populated automatically alongside the status, describing exactly which fields are missing so any team member can resolve the issue without cross-referencing documentation or guessing.
Four validation workflows were built. One per object. Each using a three-tier branching structure. The Invalid branch catches records missing critical fields: a contact with no email, a deal with no stage, a ticket with no priority. These records cannot be identified, reached, or actioned at all. The Needs Review branch catches records missing secondary fields: a contact with no job title, a deal with no amount, a ticket with no associated contact. These records exist and can be reached but lack the data needed for accurate scoring, routing, or reporting. The Valid branch confirms that all required fields are present and the record meets ClarityDesk's data quality standard.
The branching logic runs in order. A record is only evaluated against the Needs Review conditions if it has already passed the Invalid check. This ensures the most critical issues are always surfaced first.
The result: Every record entering HubSpot is automatically evaluated, flagged with a status, and given a specific resolution note. Bad data no longer sits undetected in the system. It is surfaced immediately with a clear instruction for whoever needs to fix it.
Contact Validation Status
Company Validation Status
Deal Validation Status
Ticket Validation Status
Phase 5: Custom Reports & Dashboard
The challenge: With data flowing in from four objects, three integrations, and multiple active workflows, the team needed a single view that surfaced the right information across the entire business without switching between reports or building separate dashboards for each function.
The approach: A single combined dashboard was built. ClarityDesk Business Overview covering four reporting areas. The decision to use one dashboard rather than separate views was deliberate. A 3-person sales team does not need three places to look. They need one clear, always-current view of the business.
The Sales Pipeline section tracks deal stage distribution, individual rep pipeline performance, deals created and closed against targets, and revenue forecast broken down by both stage and owner giving the team a complete picture of where revenue stands and where it is headed.
The Support Operations section tracks ticket resolution against targets, rep performance with SLA compliance, ticket volume by source and status, and response time metrics surfacing both team performance and the channels generating the most support demand.
The Data Quality section contains four custom-built donut charts, one per object showing the breakdown of records by Validation Status across Contacts, Companies, Deals, and Tickets. This section ties directly back to the validation workflows, giving the team a live view of data health across the entire CRM at a glance.
The Lead Scoring section surfaces contacts by score distribution and MQL volume, connecting the lead scoring model built in Phase 2 to a visible, reportable output.
The result: A single dashboard that tells the complete story of the business. What is in the pipeline, how support is performing, whether the data can be trusted, and which leads are closest to conversion. Every metric on the dashboard ties back to a workflow, integration, or process built earlier in the implementation.
Phase 6: Documentation & Knowledge Transfer
The challenge: A CRM configuration is only transferable if it is documented clearly enough for someone who was not involved in the build to understand what exists, why it exists, and what to do when something goes wrong. External documentation gets outdated, lost, or ignored. What the team actually reads is what is inside the tool they use every day.
The approach: All documentation was written directly inside HubSpot so it is accessible to anyone with system access — no external wiki, no separate handover document required.
Workflow descriptions were added to all workflows. The New Lead Assignment, Deal Stage Update, Onboarding Sequences, Ticket Escalation, and all four Data Validation workflows explaining the trigger logic, branch structure, and the purpose of each action in plain language.
Property descriptions were added to every custom property created during the implementation. Validation Status and Validation Notes on all four objects explaining what each property does, who sets it, and what each value means. This ensures that anyone viewing a flagged record understands the system without needing to open the workflow to interpret it.
A dashboard description was added to the ClarityDesk Business Overview explaining the four reporting areas, the business context the dashboard was built for, and how it should be used in weekly reviews.
Report descriptions were added to all 16 reports on the dashboard, each explaining what the report measures and how it connects to the team's operational decisions.
The result: Any team member or future administrator can open HubSpot and understand exactly what was built and why. Without a handover meeting, without an external document, and without guessing. The system documents itself. This approach to in-tool documentation also reflects a core principle of the implementation: every process built should be maintainable by whoever inherits it, not just by whoever built it.