{ "schemaVersion": "1.0", "title": "CRM for B2B SaaS Sales Teams", "lang": "en", "prd": { "oneLiner": "A CRM that connects lead intake, accounts, opportunities, activities, tasks, and forecasting for B2B SaaS sales teams.", "goal": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "whyNow": "Small and mid-sized SaaS sales teams often outgrow spreadsheets before they can justify an enterprise CRM rollout.", "category": "B2B SaaS CRM", "platforms": [ "Web", "Mobile web" ], "problem": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "solution": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "alternatives": "Teams combine spreadsheets, email labels, generic project-management tools, or a heavyweight enterprise CRM.", "differentiator": "The default workflow is designed around the B2B SaaS journey from lead to account, opportunity, activity, next action, and forecast without requiring complex customization.", "targets": [ { "name": "Account Executive", "role": "AE", "needs": "Understand lead and account context quickly and never miss the next action.", "pain": "Email, call notes, and tasks are fragmented, so follow-up timing is easy to miss." }, { "name": "Sales Development Representative", "role": "SDR", "needs": "Qualify new leads quickly and hand them to the right owner and pipeline stage.", "pain": "Lead quality and duplicates are difficult to assess across different sources." }, { "name": "Sales Manager", "role": "Sales Manager", "needs": "See pipeline health, activity, forecast, and bottlenecks across the team.", "pain": "Stale opportunities and at-risk deals are discovered too late." }, { "name": "Revenue Operations", "role": "RevOps", "needs": "Keep sales data quality, definitions, permissions, and process rules consistent.", "pain": "Duplicate records and inconsistent stages make reporting unreliable." } ], "scenarios": [ { "text": "An operational user registers required work and checks its status.", "start": "P1" }, { "text": "An operator processes queued work and handles exceptions.", "start": "P5" }, { "text": "System and policy administrator reviews policy and access.", "start": "P9" }, { "text": "System and policy administrator reviews audit records and operating metrics.", "start": "P10" } ], "northStar": "Share of active opportunities with a recorded next action", "kpis": [ { "name": "On-time processing rate", "target": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "baseline": "Not measured", "method": "Monthly aggregation of state changes against target dates", "refs": [ "F6" ] }, { "name": "Operations visibility", "target": "100% of key work tracked", "baseline": "Not measured", "method": "Share of records connected to reporting", "refs": [ "F11" ] }, { "name": "Auditable operations rate", "target": "100% of key changes retained", "baseline": "Not measured", "method": "Monthly audit-log and change-history review", "refs": [ "F12" ] } ], "inScope": [ "Lead capture, duplicate detection, qualification, and assignment", "Pipeline stages, opportunity amounts, probabilities, and close dates", "Account and contact profiles with ownership and relationships", "Call, email, meeting, and note activity logging", "Tasks, due dates, reminders, and seller work queues", "Pipeline and activity dashboards, automation, global search, and forecast analysis", "Role-based access, team management, and configurable sales process settings", "Lead inbox", "Lead inbox validation and duplicate prevention", "Lead qualification", "Search, filter, and history management", "Pipeline board", "Owner, priority, and SLA management", "Approval and policy review", "Exception, rejection, and reprocessing", "Notifications and subscriptions", "External integration and data synchronization", "Opportunity workspace", "Role, permission, and audit management" ], "nonGoals": [ "Invoice issuance and payment collection", "A full marketing automation campaign builder", "A replacement for a customer-support ticketing system", "Native offline mobile applications", "A complex CPQ pricing rules engine" ], "assumptions": [ "Initial customers are B2B SaaS sales organizations with 10 to 100 sellers.", "Early lead and activity data arrives primarily through manual entry and CSV import.", "Pipeline stages and required fields are managed at workspace level." ], "risks": [ "Data quality and forecast accuracy decline if sellers do not record activities.", "Migration from an existing CRM can be a substantial onboarding burden.", "Too many mandatory fields can reduce adoption.", "Broad email and calendar permissions can delay security review." ], "openQuestions": [ "How much email and calendar synchronization should the first release support?", "Should lead scoring begin as rules-based scoring or manual grading?", "How much team, role, and regional permission configuration is required initially?", "Which forecast categories and probability rules should be customizable by team?" ], "constraints": [ "The MVP is web-first; mobile web focuses on viewing and simple updates.", "Personal and sales-sensitive data must use role-based access.", "Core objects require auditable create and update history.", "Permission, policy, and state changes require audit logs." ] }, "requirements": [ { "id": "R1", "title": "Intake and data quality", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F1", "title": "Lead inbox", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Lead inbox core processing rule", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Lead inbox exception and audit handling", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F2", "title": "Lead inbox validation and duplicate prevention", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Lead inbox validation and duplicate prevention core processing rule", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Lead inbox validation and duplicate prevention exception and audit handling", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] }, { "id": "R2", "title": "Records and search", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F3", "title": "Lead inbox validation and duplicate prevention", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Lead inbox validation and duplicate prevention core processing rule", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Lead inbox validation and duplicate prevention exception and audit handling", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F4", "title": "Search, filter, and history management", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Search, filter, and history management core processing rule", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Search, filter, and history management exception and audit handling", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] }, { "id": "R3", "title": "Processing and ownership", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F5", "title": "Lead inbox validation and duplicate prevention", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Lead inbox validation and duplicate prevention core processing rule", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Lead inbox validation and duplicate prevention exception and audit handling", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F6", "title": "Owner, priority, and SLA management", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Owner, priority, and SLA management core processing rule", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Owner, priority, and SLA management exception and audit handling", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] }, { "id": "R4", "title": "Approval and exceptions", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F7", "title": "Approval and policy review", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "mid", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Approval and policy review core processing rule", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Approval and policy review exception and audit handling", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F8", "title": "Exception, rejection, and reprocessing", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "mid", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Exception, rejection, and reprocessing core processing rule", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Exception, rejection, and reprocessing exception and audit handling", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] }, { "id": "R5", "title": "Notifications and integrations", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "mid", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F9", "title": "Notifications and subscriptions", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Notifications and subscriptions core processing rule", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Notifications and subscriptions exception and audit handling", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F10", "title": "External integration and data synchronization", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "External integration and data synchronization core processing rule", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "External integration and data synchronization exception and audit handling", "desc": "Use one account- and opportunity-centered data model to connect lead intake, pipeline management, accounts, contacts, activities, tasks, and sales reporting. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] }, { "id": "R6", "title": "Insights and controls", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "mid", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "features": [ { "id": "F11", "title": "Search, filter, and history management", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "status": "todo", "priority": "high", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Search, filter, and history management core processing rule", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Search, filter, and history management exception and audit handling", "desc": "Lead sources, account context, contact relationships, activity history, and next steps are scattered across spreadsheets, email, and project tools. Sellers lose context and miss follow-ups. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] }, { "id": "F12", "title": "Role, permission, and audit management", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "status": "todo", "priority": "mid", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ], "specs": [ { "title": "Role, permission, and audit management core processing rule", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] }, { "title": "Role, permission, and audit management exception and audit handling", "desc": "Within six months of launch, increase weekly follow-up coverage per seller by 30% and reduce stale pipeline records to less than 20%. Retain change, failure, and reprocessing conditions with history.", "acceptance": [ { "text": "Required context, changes, ownership, and status are retained in an auditable record.", "done": false } ] } ] } ] } ], "ia": { "sections": [ { "id": "S1", "title": "Intake and data quality", "pages": [ { "id": "P1", "title": "Operations dashboard", "type": "top", "refs": [ "F1", "F1:0", "F3", "F4:0", "F7:1", "F11" ], "children": [] }, { "id": "P2", "title": "Work list", "type": "page", "refs": [ "F3", "F3:0", "F4", "F1:0", "F4:1", "F8", "F11:0" ], "children": [] }, { "id": "P3", "title": "Create record", "type": "page", "refs": [ "F1", "F1:1", "F2", "F5", "F8:0", "F11:1" ], "children": [] } ] }, { "id": "S2", "title": "Records and search", "pages": [ { "id": "P4", "title": "Record detail", "type": "page", "refs": [ "F3:1", "F4:1", "F11", "F2", "F5:0", "F8:1", "F12" ], "children": [] }, { "id": "P5", "title": "Processing workspace", "type": "page", "refs": [ "F5", "F5:0", "F6", "F2:0", "F5:1", "F9", "F12:0" ], "children": [] } ] }, { "id": "S3", "title": "Processing and ownership", "pages": [ { "id": "P6", "title": "Approval and exception queue", "type": "page", "refs": [ "F7", "F7:0", "F8", "F2:1", "F6", "F9:0", "F12:1" ], "children": [] }, { "id": "P7", "title": "Notifications and integrations", "type": "page", "refs": [ "F9", "F9:0", "F10", "F3", "F6:0", "F9:1" ], "children": [] } ] }, { "id": "S4", "title": "Insights and controls", "pages": [ { "id": "P8", "title": "Operations reports", "type": "page", "refs": [ "F11", "F11:0", "F3:0", "F6:1", "F10" ], "children": [] }, { "id": "P9", "title": "Policy and access settings", "type": "page", "refs": [ "F10:1", "F12", "F3:1", "F7", "F10:0" ], "children": [] }, { "id": "P10", "title": "Audit log", "type": "page", "refs": [ "F8:1", "F12:0", "F12:1", "F4", "F7:0", "F10:1" ], "children": [] } ] } ] }, "flow": { "start": "P1", "transitions": [ { "from": "P1", "to": "P2", "ref": "F1" }, { "from": "P2", "to": "P3", "ref": "F2" }, { "from": "P3", "to": "P4", "ref": "F3" }, { "from": "P4", "to": "P5", "ref": "F4" }, { "from": "P5", "to": "P6", "ref": "F5" }, { "from": "P6", "to": "P5", "ref": "F8" }, { "from": "P5", "to": "P7", "ref": "F6" }, { "from": "P7", "to": "P8", "ref": "F9" }, { "from": "P8", "to": "P9", "ref": "F10" }, { "from": "P9", "to": "P10", "ref": "F12" }, { "from": "P10", "to": "P4", "ref": "F11" }, { "from": "P4", "to": "P1", "label": "Refresh operations status" }, { "from": "P5", "to": "P6", "ref": "F7" } ] } }