Documentation: Kanban-CRM Interaction & Roles¶
This document consolidates the findings regarding the "Lead to Quote" flow, the separation of concerns between Plane.so and the CRM Web App, and the underlying data synchronization architecture.
1. Release Strategy: "Lead to Quote"¶
The Lead to Quote flow (including CPQ and automated quotation generation) is officially scheduled for Phase 2 (Weeks 11-16). - Phase 1 (POC): Focused on Signal Ingest, Visual Triage, and CRM Core Masters. - Phase 2 (Execution): Focused on Commercial Calculations, Costing Engines, and Quotation List Views.
2. Separation of Concerns: Plane.so vs. CRM¶
| Feature | Plane.so Dashboard (Outer Perimeter) | CRM Web App Dashboard (Inner Circle) |
|---|---|---|
| Input | Raw Emails / Outlook Threads | Validated Business Leads |
| Logic | AI-driven Interest/Intent Detection | Regulatory/Commercial Compliance |
| Unit | The Message (Signal) | The Entity (Company/Project) |
| Goal | Triage: "Is this a real inquiry?" | Action: "Can we sell to them profitably?" |
3. Data Architecture: The Industrial Broker¶
Pebble uses a Split Database model to isolate the AGPL-licensed Plane.so from the custom CRM logic.
- Source of Truth: The Pebble PostgreSQL database.
- Sync Mechanism: The Pebble Backend acts as a broker.
- Inbound: REST API pushes card creation from Email -> Plane.
- Outbound: Webhooks notify Pebble when a card is moved in Plane.
- Validation: Pebble validates moves (e.g., checks for GST/CIN) before committing to the CRM Master.
4. Simplified User Flows (Mermaid)¶
Flow A: Email Ingestion (Non-Tech View)¶
sequenceDiagram
autonumber
actor C as Customer
participant M as Shared Mailbox
participant P as Pebble AI
participant PL as Plane Board
C->>M: Sends Enquiry Email
M->>P: Pushes alert to AI
Note over P: AI reads content:<br/>"This is a real Lead"
P->>PL: Automatically creates a Card
Note over PL: Manager assigns to<br/>Sales Person
Flow B: Lead Validation (Guardrail View)¶
sequenceDiagram
autonumber
actor S as Sales Person
participant B as CRM Board
participant SY as Pebble Backend
participant M as CRM Master Data
S->>B: Drags Card to "Qualified"
B->>SY: "Can I move this company?"
SY->>M: Checks for GST/CIN numbers
alt If Data is Missing
SY-->>B: Snap back! (Error: Need GST)
else If Data is Valid
SY->>M: Updates status to "Golden Record"
SY-->>B: Card stays in "Qualified"
end
Flow C: Commercial Engineering (Phase 2 - The Quote)¶
This happens when you click "Generate Quote" in the CRM. It's the "Brain" of the system.
sequenceDiagram
autonumber
actor S as Sales Person
participant C as Costing Engine
participant R as RFQ Manager
participant M as Manager (HOD/CEO)
participant Q as Quote Generator
S->>C: Inputs Quantity + Location
alt Manual Input
S->>C: Overrides with Manual Supplier Quote
else Automated RFQ
Note over C: Fetches Base Price + Taxes
par RFQ Blast (Parallel)
C->>R: Requests live Freight rate
R-->>C: Returns Transporter rate
and
C->>R: Checks current Market Index
end
else Email Suppliers
S->>R: Triggers RFQ Email to 3 Suppliers
R-->>C: Logic waits for response
end
C->>S: Shows "Landed Cost" & Margin %
S->>M: Submits for Approval
Note over M: HOD/CEO reviews Margin.<br/>(Required for low margin)
M-->>S: Approval Granted
S->>Q: Finalizes & Sends to Client
Note over Q: Generates Professional PDF<br/>on correct Letterhead
Flow D: Order to Dispatch (Phase 3 - The Execution)¶
This happens after the customer sends a PO. It's about moving physical products.
sequenceDiagram
autonumber
actor O as Ops Manager
participant P as Pebble IQ
participant T as Tally/ERP
participant W as Warehouse
O->>P: Uploads Customer PO
P->>T: Creates Sale Order (SO)
Note over T: Stock is blocked &<br/>Credit is checked
P->>P: Generates Route Plan for Trucks
P->>W: Sends Digital "Pick List"
W->>P: Confirms Dispatch (Scans Barcode)
P->>T: Generates Final Invoice
5. Email Guardrails: Common "What Ifs"¶
| Scenario | System Solution |
|---|---|
| Customer sends 5 reminders | Semantic Threading: AI identifies specific Message-ID or Thread-Topic. Reminders don't create new cards; they "bump" the existing card to the top of the column. |
| Email CC'd to 3 internal IDs | Deduplication: The ingestor checks the digital fingerprint of every incoming mail. It creates only one card regardless of how many internal staff are in the "CC" field. |
| Random reply in a chain | History Matching: Even if a customer replies to an old email randomly, the system matches the Reference header or domain logic to keep it within the original Lead's activity stream. |
| Spam/Marketing/Newsletters | AI Triage: Every mail goes through a "Signal Noise" filter. Only mails identified as genuine business enquiries (RFQs, orders, payments) become cards. Everything else is hidden. |
| Personal emails of employees | Privacy Masking: The ingestor ONLY monitors verified "Shared Business Channels". If a personal mail is accidentally sent to a business ID, the AI ignores it if no business intent is found. |
6. Persona Roles: Who Does What?¶
| Persona | Primary Interface | Key Responsibility | Why they use it |
|---|---|---|---|
| Email Delegator | Plane.so | Triage & Assignment | To ensure no email is ignored and is assigned to the right HOD/Rep. |
| Sales Rep | Plane & CRM | Response & Execution | To clear their "My Messages" inbox (Plane) and manage their "Industrial Deals" (CRM). |
| HOD (Dept Head) | CRM Dashboard | Work Shifting & Approval | To monitor team workload, re-allocate leads, and approve low-margin quotes (Phase 2). |
| CEO | CRM Analytics | Strategic Oversight | To view the high-level "Won/Loss" health, entity-wise performance, and conversion SLAs. |
[!NOTE] CEO Visibility: The CEO typically does not enter the "Noise" layer of Plane.so. They interact with the refined, high-value data within the CRM Dashboard and automated summary reports.