To transform our CRM from a simple database into the central nervous system of our operations. The proposed changes will directly increase sales, provide unparalleled visibility into our team's performance, and automate key processes, saving significant time and resources.
As the project lead, I will be the single point of contact for providing all necessary technical assets (API keys, GTM codes, Zapier credentials, etc.). There will be no delays from my side.
This section provides the exact technical requirements. The English labels should be used for the backend/database fields. A Polish language layer can be applied to the UI if the system supports it.
Feature Group | UI Label (PL) | Technical Name (EN) | Field Type | Requirement | Notes / Comments |
---|---|---|---|---|---|
Main Outcome | |||||
Main Outcome | Wynik spotkania | Outcome |
Dropdown | Required | Main field for meeting outcome. Triggers all conditional logic. |
Problem z umówieniem (Telemarketing) | Telemarketing Issue | Option | |||
Prezentacja | Presentation Delivered | Option | |||
Sprzedaż | Sale Closed | Option | |||
Wymiana S/N | S/N Exchange | Option | |||
Do ponownego umówienia | To Be Rescheduled | Option | |||
Brak Kwalifikacji | Not Qualified | Option | |||
Stracone Polecenie | Referral Lost | Option | |||
Conditional Logic for: Telemarketing Issue | |||||
Conditional | Powód błędu telemarketingu | Telemarketing_Issue_Reason |
Dropdown | Required | Visible ONLY IF Outcome = 'Telemarketing Issue' |
Spotkanie umówione mimo sprzeciwu klienta | Booked_Despite_Objection | Option | |||
Spotkanie umówione na jedną nogę | Booked_With_Low_Interest | Option | |||
Spotkanie umówione u osoby nieogarniętej | Booked_With_Unresponsive_Person | Option | |||
Spotkanie umówione wbrew zasadom logistyki | Booked_Against_Logistics_Rules | Option | |||
Zbyt krótka przerwa między spotkaniami | Insufficient_Time_Between_Meetings | Option | |||
Conditional Logic for: To Be Rescheduled | |||||
Conditional | Data ponownego kontaktu | New_Contact_Date |
Date Picker | Required | Visible ONLY IF Outcome = 'To Be Rescheduled' |
Conditional | Ocena Leada | Lead_Potential |
Dropdown | Required | Visible ONLY IF Outcome = 'To Be Rescheduled' |
Dobry adres / Duży potencjał | High_Potential | Option | |||
Fajni ludzie, ale brak decyzji | Good_People_No_Decision | Option | |||
Nie mój typ klienta | Not_My_Client_Type | Option | |||
Błędne dane adresowe/kontaktowe | Incorrect_Contact_Data | Option | |||
Conditional Logic for: Not Qualified | |||||
Conditional | Przyczyna braku kwalifikacji | Not_Qualified_Reason |
Dropdown | Required | Visible ONLY IF Outcome = 'Not Qualified' |
Klient zapomniał | Client_Forgot | Option | |||
Brak osoby decyzyjnej | Decision_Maker_Absent | Option | |||
Sprawy losowe/rodzinne klienta | Client_Personal_Emergency | Option | |||
Nikt nie otworzył drzwi | Nobody_Answered_Door | Option | |||
Inny | Other | Option | If this option is selected, a separate comment/text field MUST become required. | ||
Conditional Logic for: Referral Lost | |||||
Conditional | Powód utraty polecenia | Referral_Loss_Reason |
Text Field | Required | Visible ONLY IF Outcome = 'Referral Lost' |
Conditional | Data telefonu weryfikacyjnego | Verification_Call_Date |
Date Picker | Optional | Visible ONLY IF Outcome = 'Referral Lost' |
The system must support bulk import of leads. The interface must allow mapping of file columns to the following CRM fields:
UI Label (PL) | Technical Name (EN) |
---|---|
Imię | FirstName |
Nazwisko | LastName |
Numer telefonu | PhoneNumber |
Adres | Address |
Kod pocztowy | PostalCode |
Miasto | City |
All new statuses and data must be visible and actionable on the main manager's dashboard.
Requirement | Description |
---|---|
Real-Time Status | The board view (e.g., Kanban) must instantly reflect the new, detailed status of every lead. A manager must see at a glance how many leads are `To Be Rescheduled` vs. `Not Qualified`. |
Data Visibility | Key data from the new conditional fields (like `New_Contact_Date`) should be visible on the lead's "card" on the board. |
Filtering | It must be possible to filter the board by the new outcome statuses (e.g., show all "To Be Rescheduled"). |
This diagram illustrates the decision tree for a salesperson updating a lead's status.
Step | Action |
---|---|
1.0 | Salesperson opens a lead and selects **'Meeting Outcome'**. |
↳ 2.1 | **IF** user selects **'Telemarketing Issue'**... |
↳ 3.1 | **THEN** system displays 'Telemarketing_Issue_Reason' dropdown (Required). |
↳ 2.2 | **IF** user selects **'To Be Rescheduled'**... |
↳ 3.2 | **THEN** system displays 'New_Contact_Date' date picker (Required). |
↳ 3.3 | **AND** system displays 'Lead_Potential' dropdown (Required). |
↳ 2.3 | **IF** user selects **'Not Qualified'**... |
↳ 3.4 | **THEN** system displays 'Not_Qualified_Reason' dropdown (Required). |
↳ 3.5 | **AND IF** user selects 'Other' from this dropdown, a comment field becomes required. |
↳ 2.4 | **IF** user selects **'Referral Lost'**... |
↳ 3.6 | **THEN** system displays 'Referral_Loss_Reason' text field (Required). |
↳ 3.7 | **AND** system displays 'Verification_Call_Date' date picker (Optional). |
↳ 2.5 | **IF** user selects 'Presentation Delivered', 'Sale Closed', or 'S/N Exchange'... |
↳ 3.8 | **THEN** the process ends. No further action is required. |