Skip to main content

CRM Deal Manager

Problem statement

Design a mobile app feature for an internal CRM tool to manage deals and monitor the
performance of sales associates Syook. Use the following data on the CRM tool and build the
feature accordingly. Additionally include:
1. How will design and scale the platform as the company grows?
2. How will you plan the execution strategy with the engineering team?

Given:

1. Deals are created by the sales head and senior management of the company and
assigned to different associates
2. The company has sales teams in different geographies of the world including India, UAE,
England, Malaysia, Brazil, and Australia

Feedback from various stakeholders:

“I should be able to track the performance of my team and individuals who are performing the
best” - Business leader 1
“I should be able to keep track of the number of deals that are open and pending in the pipeline”
- Sales associate 1
“I should be able to log all documents regarding an account to the deal ticket and access them
whenever I want” - Sales associate 2,3,4
“I want to make sure that the sales team is updating the documents on a regular basis and
promptly and a mechanism to notify if a deal hasn’t been updated in a week” - Business leader
2
“I should be able to somehow indicate that a deal is on halt for a few days due to external
factors at client organization” - Sales associate 5,6
“I should be able to reassign a deal to a colleague when I am on leave” - Sales associate 7

Problem Space

Let's understand the intention behind feedback first

FEEDBACKINTENTIONPROBLEM Need to address
1, I should be able to track the performance of my team and individuals who are performing the best. - BL1They want a quick way to see who’s crushing their targets and who might need extra support.Business leaders need visibility into who’s performing and who needs help, across multiple locations.
2. I should be able to keep track of the number of deals that are open and pending in the pipeline. - SA1They need a clear snapshot of the current workload and deal stages.Sales associates and leaders need a snapshot of open deals, including which stage they’re in, across different time zones.
3 .I should be able to log all documents regarding an account to the deal ticket and access them whenever I want. SA, SA3, SA4They’re tired of hunting for docs in random placesMultiple people need to attach and retrieve documents from anywhere, without rummaging through emails or separate repositories.
4 I want to make sure that the sales team is updating the documents on a regular basis and promptly and a mechanism to notify if a deal hasn’t been updated in a week- BL2They want to avoid stale deals and keep data freshLeaders want to keep deals from going stale and ensure the entire team follows standard processes
5. I should be able to somehow indicate that a deal is on halt for a few days due to external factors at client organization. SA5, SA6,They need to mark deals as ‘on hold’ without losing trackSometimes deals stall due to client-side delays, and it needs to be clear in the system without losing progress.
6. I should be able to reassign a deal to a colleague when I am on leave.- SA7They don’t want deals to stall when they’re outAssociates need a smooth handover process when they go on leave, especially in different time zones.

Let’s group each problem into its respective “space” based on what it primarily addresses:

  1. Performance Space
    • Problem 1: Tracking team performance and identifying top performers.
  2. Documentation Space
    • Problem 3: Logging and retrieving all documents for an account in one place.
    • Problem 4: Ensuring documents are regularly updated and setting notifications when deals go untouched.
  3. Deal Space
    • Problem 2: Keeping track of open and pending deals in the pipeline.
    • Problem 5: Indicating a deal is temporarily on hold due to external factors.
    • Problem 6: Reassigning a deal to a colleague when someone is on leave.

Prioritisation

PriorityProblemImpactUrgencyEffortReason
1#3 & #4: Document management & timely updates.Very HighMediumMediumEssential for collaboration and preventing stale deals.
2#2: Tracking Open Deals in the PipelineHighHighMediumCore to daily sales flow, critical for revenue generation.
3#1: Tracking Team & Individual PerformanceMediumMediumLowUseful for insights and motivation, but secondary to pipeline and docs.
4#5: Marking Deals as On HoldMediumLowLowHelps reflect real-world delays with minimal dev effort.
5#6: Reassigning Deals to a Colleague (On Leave)MediumLowMediumEnsures coverage for absences but needed less frequently

So now we are solving documentation-related problems.

Overview

This document details the requirements for creating a mobile-first feature in Syook’s internal Customer Relationship Management (CRM) system. The purpose of this feature is to improve document management and provide timely updates on deals, which will boost efficiency and help prevent deals from going stagnant.

Objectives

  • Make it easy to attach and retrieve documents for each deal via a mobile interface and Minimize the time spent hunting for files in emails or separate repositories.
  • Automate reminders for deals that haven’t been updated within a predefined window (e.g., 7 days) which Promotes consistent engagement and data accuracy.
  • Enhance User Adoption Provide a straightforward mobile experience that encourages frequent updates, even when salespersons are in the field or on the move.

Assumptions

Below are a few underlying assumptions that are made

  1. Sales Teams Have Smartphones & Reliable Internet
  2. Existing CRM Foundation & APIs
  3. Users Are Comfortable with Basic App Navigation
  4. Document Storage Is Handled via Cloud Services
  5. Role-Based Permissions Already Defined
  6. Notification Opt-In
  7. Incremental Rollout Is Feasible
  8. No Immediate Heavy Compliance Constraints

Scope

  • In-Scope:
    • Mobile app design and development for iOS and Android.
    • Integration with existing CRM deal records, user profiles, and notifications.
    • Basic analytics for document uploads (volume, frequency) and update compliance.
  • Out-of-Scope:
    • Full overhaul of the web-based CRM interface.
    • Advanced performance analytics or pipeline management (covered elsewhere in the platform).

Key Features & Requirements

  1. Document Upload & Management: Drag-and-Drop/Camera Upload, Version Control, File Preview
  2. Timely Updates: Automated Reminders, Update Activity Feed, Configurable Alert Settings
  3. Deal Association: Link Files to Specific Deals, Tagging & Search
  4. User Roles & Permissions: View/Edit Restrictions, Management Access
  5. Mobile-Friendly Design: Quick, Minimal UI, Offline Access (Stretch Goal).

Functional Requirements

1. Document Upload & Management

  • Users can upload documents either by selecting files from their device or by taking photos directly using the device's camera.

  • The system supports common file formats such as PDF, DOCX, XLSX, JPG, and PNG.

  • All documents associated with a specific deal are stored in one centralized location within the deal’s record, presented visually for easy access.

  • Documents are automatically tagged with relevant metadata, including deal ID and upload date.

  • The system tracks and manages multiple versions of the same document with version control, automatically assigning version numbers and maintaining a detailed history of changes.

  • Users can preview documents directly within the app without downloading them. Inline previews are supported for PDFs, images, and Office documents.

    2. Timely Updates

  • The system sends push notifications or in-app alerts when a deal hasn’t been updated within a specified timeframe (e.g., 7 days). Users or managers can configure this inactivity threshold as needed.

  • A chronological log displays all updates, including document uploads and status changes, with real-time details on who made changes and when.

  • Users can personalize the types and frequency of alerts they receive, with options to enable or disable specific notifications and set personal reminder preferences.

    3. User Roles & Permissions

  • Access is controlled based on user roles, ensuring that only authorized personnel can view or edit specific documents. Role-based permissions are seamlessly integrated with the existing user management system.

  • Managers can review documents and analyze update patterns across their teams, providing enhanced visibility for monitoring compliance and performance.

    4. Mobile-Friendly

  • Users can upload or update documents even without an active internet connection. The system automatically syncs data as soon as the device reconnects to the internet.

Non-Functional Requirements

Performance
  • The feature must be accessible globally, with a focus on key regions like India, UAE, England, Malaysia, Brazil, and Australia.
  • Document storage (S3 buckets) should be located geographically close to the deal’s location to ensure faster access and reduced latency.
  • The system should support document uploads of up to 5MB, with uploads completing within seconds.
  • Minimize delays in image loading, especially when users are viewing or working on the same deal simultaneously.
Security
  • All documents and user data must be encrypted during transit and while at rest, using industry-standard encryption protocols.
  • Implement strong role-based access controls to protect sensitive information.
Reliability
  • The feature must maintain 99.9% availability, supported by robust redundancy and failover mechanisms.
  • Ensure that all documents are properly linked to their respective deals, with no data loss or corruption, through regular backups and data validation processes.
  • The platform should support at least 5,000 concurrent users seamlessly.

User Flows

  1. Upload Document
    1. The user opens the CRM app and selects a deal from their assigned list.
    2. Tap the “Add Document” button.
    3. Chooses to upload a file or use the camera.
    4. The document automatically tags to that deal and appears in the “Deal Documents” tab.
  2. Receive Reminder & Update Deal
    1. After a set number of inactive days, the user gets a push notification: “Deal [XYZ] needs an update!”
    2. The user taps the notification, which opens the deal page.
    3. Users can add notes, upload new documents, or modify the deal’s status to show progress.

Dependencies

  • The new feature relies on the existing CRM’s foundation and APIs for data integration and user management.
  • Document storage and management depend on reliable cloud services (e.g., AWS S3) for scalability and performance.
  • Push notifications and in-app alerts require integration with notification services (e.g., Firebase, AWS SNS).

Wireframe

Stats Data

Acceptance Criteria

  1. Users can successfully upload, view, modify, and delete documents within a deal.
  2. Documents are accurately tagged with metadata and linked to the appropriate deal.
  3. Version control works seamlessly, allowing users to access and review previous versions of documents.
  4. Automated reminders are sent based on user-configured inactivity thresholds.
  5. Users have the flexibility to customize their notification preferences.
  6. Activity logs provide a clear and accurate record of all updates and changes made within a deal.
  7. Access controls effectively enforce role-based permissions to ensure only authorized personnel can make changes.
  8. Managers benefit from enhanced visibility and control over team documents and updates.
  9. The feature delivers 99.9% uptime reliability.
  10. Document uploads and retrievals are efficient, with uploads for 5MB files completing in under 5 seconds.
  11. The system supports at least 5,000 concurrent users (assuming Syook’s sales team comprises approximately 2,000 users) without performance degradation.