Every lead answered in seconds, tracked to booking.
EstateFlow CRM pulls inquiries from portals, ad platforms, WhatsApp and your website into one queue, de-duplicates them, scores them and hands each one to the right agent before the buyer calls a competitor. Every call, message and site visit lands on the contact timeline, so nothing depends on a salesperson’s memory.
- features
- 12features
- modules
- 18modules
- screens
- 5screens
- webhooks
- 9webhooks
- Assigned
- S. Khan · 14 sec after arrival
- First contact
- WhatsApp template · delivered, read
- Call
- 4m 12s · interested, 10 Marla, corner
- Matched
- 3 plots shared · 14-C viewed twice
- Next
- Site visit · Sat 11:00
Leads leak in the first ten minutes
- Portal and Meta leads sit in five inboxes; the first agent to notice calls an hour later
- The same buyer becomes three leads and gets three calls from three agents
- Conversations live on personal WhatsApp and leave with the agent
- Management cannot see who followed up, who did not, and which source actually converts
How each part of CRM actually works
12 features from the product documentation. Select one to read what it does, the mechanism behind it, the data it holds, the state before and after, and what it connects to.
Multi-source lead capture
Web forms, Zameen/Bayut/Graana, Meta lead ads, Google, WhatsApp, call tracking and manual entry arrive as one lead record, stamped with source and campaign.
Each channel connects by API or webhook: portal APIs, Meta Lead Ads webhook, website form POST, WhatsApp Business API, call-tracking numbers. On arrival a lead record is created and stamped with source, campaign and timestamp.
Name, phone, email, source, campaign, project of interest, message, budget, timestamp.
Routing, Marketing attribution, Source dashboard.
The inquiry sits in a portal inbox, Facebook or a WhatsApp chat, separately.
One unified lead in the pipeline, source-tagged, ready to route.
De-duplication by phone & CNIC
Incoming numbers, emails and CNICs are matched against existing contacts so one buyer never becomes five leads called by five agents.
On intake the phone, email and CNIC are matched against existing contacts. A match merges the inquiry onto the existing contact; number-format validation and junk rules run on the rest.
Phone, email, CNIC, existing contact IDs, duplicate flag.
360° profile (merged history), Routing (no double assignment).
A raw lead that may already exist under another agent.
One clean contact with the new inquiry attached; junk flagged.
Routing rules & speed-to-lead
Round-robin, load-balanced or rule-based by project, area, budget band and on-shift status. The agent is notified on push and WhatsApp within seconds.
A rules engine assigns by round-robin, load-balanced (fewest open leads) or rule-based (area, project, budget band, language, on-shift). Manual override allowed. Assignment fires a push and WhatsApp alert and starts the SLA clock.
Lead attributes, agent roster, current load, shift status, assignment rule.
Notifications, Scoring, SLA escalation, Agent App.
An unassigned lead nobody owns.
One owner, notified within seconds, SLA running.
Lead scoring 0–100
Budget match, urgency, WhatsApp replies and listing views add points; junk numbers subtract. The queue re-sorts as leads engage or go quiet.
Fixed rules add or subtract points (budget match +20, urgent timeline +25, WhatsApp reply +15, three listing views +10, junk number −30). Flo refines the score from behaviour and re-sorts the queue.
Source, budget, area, timeline, form fields, portal activity, replies, past interactions.
Routing (high score → senior agent), Follow-up, Dashboard (conversion by band).
An unranked queue of 200 leads.
Hot-to-cold queue; cold leads pushed to nurture.
360° contact timeline
Calls, WhatsApp threads, SMS, notes, properties viewed, site visits, documents and stage changes on one screen. Handover loses nothing.
A timeline aggregates every event against the contact: calls, WhatsApp, SMS, email, notes, properties viewed, site visits, documents, stage changes.
Contact details, interaction log, properties of interest, visits, documents, stage, score, owner.
Every module; Reassignment.
History scattered across phones and chats.
A complete, portable relationship record any agent can pick up.
Pipeline & deal stages
New → Contacted → Qualified → Site visit → Negotiation → Booked. Separate pipelines for buyer, seller, tenant and past-client; stage moves trigger tasks.
Drag-and-drop stages (New → Contacted → Qualified → Site visit → Negotiation → Booked → Closed/Lost). Separate pipelines per buyer, seller, tenant, past-client. A stage move can trigger tasks and automation.
Stage, stage-entry timestamps, deal value, expected close, lost reason.
Tasks, Automation, Forecast dashboard, Booking.
Status in someone’s head or a spreadsheet.
A transparent, forecastable pipeline.
WhatsApp Business API inside CRM
Approved templates for outreach, free-form replies inside the 24-hour window, read receipts, media and broadcasts, all logged on the contact.
WhatsApp Business API via a BSP. Outbound to new or idle contacts uses pre-approved templates; free-form replies inside the 24-hour session window. Delivery and read receipts captured; threads attach to the contact.
Message, template used, delivery/read status, media, timestamps.
Automation, Flo (qualification), 360° profile, Marketing.
Agents chat on personal WhatsApp, invisible to the company.
Full WhatsApp history on record; broadcasts and reminders automatable.
Click-to-call & dialer
Call from the record, log disposition and recording automatically. Power dialer for inside-sales teams working hundreds of portal leads.
Telephony/VoIP integration. Click a number, the call is placed, outcome and disposition are logged, and the recording is stored on the profile. Power dialer feeds queues to ISA teams.
Call time, duration, recording, disposition, agent.
360° profile, Dashboard, Tasks (callback creates task).
Calls on personal phones, untracked.
Every call on record; managers see call activity and speed-to-lead.
Property–client matching
Live inventory ranked against the lead’s budget, area, size and purpose. Share a plot with its map location on WhatsApp in one tap.
A matching query runs the lead’s budget, area, size, type and purpose against live inventory and returns ranked matches. One click shares via WhatsApp with media and the map pin; engagement is tracked.
Lead criteria, inventory attributes and availability, shared-property log.
Inventory, WhatsApp, Scoring, Maps.
The agent hunts listings manually.
Relevant options shared; interest recorded on the profile.
Booking hand-off
Select the unit, record price, discount and payment plan. Inventory flips to Booked, QistFlow builds the schedule, the agreement generates.
The agent selects the unit from live inventory and records price, discount and payment plan. Inventory flips to Booked, the booking pushes a receivable to QistFlow and generates documents.
Unit/plot ID, price, discount, plan, customer, agent, booking date.
Inventory, QistFlow, Documents, Commission.
A verbal agreement.
A formal booking; finance and recovery begin downstream.
Tasks, calendar & SLA escalation
Follow-ups auto-created on stage change; an un-contacted lead escalates to the team lead after a set number of minutes.
Tasks carry due date/time and reminders; a shared calendar holds site visits. Tasks auto-create on stage change or callback. An SLA timer escalates un-contacted leads to the team lead.
Task type, due time, linked lead, assignee, status, SLA rule.
Pipeline, Notifications, Agent App, Automation.
Follow-ups depend on memory.
A disciplined cadence with escalation.
Roles, permissions & audit
Agents see their own leads only; managers see the team. Field-level permissions, export restrictions and an immutable log of every reassignment.
Role-based access with module- and field-level permissions and team/branch scoping. An immutable event log records assignment, edits, status changes and exports.
Roles, permission matrix, team assignment, actor, action, before/after value, timestamp.
Every module, Reports.
Everyone sees everything; nobody knows who reassigned a lead.
Least-privilege access with full traceability.
18 modules, switched on per role. Admins configure rules; everyone else sees only what applies to them.
- Lead Capture
- De-duplication & Validation
- Routing & Distribution
- Lead Scoring
- 360° Contact Profile
- Pipeline & Deal Stages
- Follow-up & Nurture
- Calling / Dialer
- SMS & Email
- Property–Client Matching
- Booking / Deal
- Tasks & Calendar
- Notifications
- Roles & Permissions
- Audit Log
- Reports & Dashboards
- Flo AI
One file, start to finish.
A realistic sequence from the documentation, with the state before and after each step. Names and numbers are illustrative.
Full Agent App: prioritised leads, tap-to-call and WhatsApp, tasks, live inventory share, booking capture, geo check-in, offline cache.
- 01
Lead lands
A Meta lead-ad submission for Phase 2 arrives via webhook at 11:42 pm. Source, campaign and project of interest are stamped on the record.
- 02
Cleaned and scored
The phone number matches no existing contact. Budget in the form fits the 10 Marla band; the lead scores 68 and enters the priority queue.
- 03
Routed in seconds
The rule for Phase 2 routes to the on-shift agent with the fewest open leads. She gets a push and a WhatsApp alert; the SLA clock starts.
- 04
First contact
An approved WhatsApp template goes out immediately. The agent calls at 9:05 am from the app; the call is logged with its disposition.
- 05
Match and site visit
Three matching plots are shared with map pins. A site visit is booked on the shared calendar; the agent geo-checks in on arrival.
- 06
Booking
Plot 14-C is selected from live inventory with a 3-year plan. Status flips to Booked, QistFlow generates the schedule, the agreement is produced.
- 07
Reporting
Source ROI, speed-to-lead, stage aging and the agent leaderboard update. Dormant leads recycle into nurture automatically.
CRM, screen by screen
Click the sidebar to move between the overview, lists, records, boards and the settings that drive the rules. Sample data on real layouts.
Sales pipeline
All projects · September 2026 · Updated 2 min ago| Lead | Project | Source | Score | Owner | Stage |
|---|---|---|---|---|---|
| Ahsan Raza | Phase 2 · 10 Marla | Meta | 84 | S. Khan | Site visit |
| Mariam Siddiqui | Commercial · 4 Marla | Zameen | 77 | A. Butt | Qualified |
| Bilal Hussain | Phase 1 · 1 Kanal | 72 | H. Malik | Negotiation | |
| Farhan Ali | Phase 2 · 5 Marla | Website | 61 | S. Khan | Contacted |
| Sana Javed | Phase 3 · 8 Marla | Referral | 58 | R. Sheikh | New |
Leads
All sources · today| Lead | Phone | Source | Project | Score | Owner | Age | Stage |
|---|---|---|---|---|---|---|---|
| Ahsan Raza | +92 300 •••4471 | Meta | Phase 2 · 10 M | 84 | S. Khan | 3 h | Site visit |
| Mariam Siddiqui | +92 321 •••0912 | Zameen | Commercial · 4 M | 77 | A. Butt | 5 h | Qualified |
| Bilal Hussain | +92 333 •••7720 | Phase 1 · 1 K | 72 | H. Malik | 1 d | Negotiation | |
| Farhan Ali | +92 301 •••2288 | Website | Phase 2 · 5 M | 61 | S. Khan | 2 h | Contacted |
| Sana Javed | +92 345 •••6613 | Referral | Phase 3 · 8 M | 58 | R. Sheikh | 20 min | New |
| Usman Ghani | +92 312 •••9034 | Meta | Phase 2 · 10 M | 55 | Unassigned | 4 min | New |
| Hina Baig | +92 300 •••5501 | Walk-in | Phase 3 · 5 M | 49 | M. Zain | 2 d | Contacted |
| Kamran Shah | +92 322 •••1187 | Graana | Phase 1 · 10 M | 31 | F. Noor | 6 d | Nurture |
Ahsan Raza
Lead #L-20918 · Meta Lead Ads · Campaign “Phase 2 launch”- 11:42 pmLead received from Meta · auto-assigned to S. Khan (rule: Phase 2, fewest open)
- 11:42 pmWhatsApp template “welcome_phase2” sent · delivered · read 11:58
- 9:05 amCall 4m 12s · disposition: interested · recording attached
- 9:12 amShared 3 plots (14-C, 22-C, 31-C) with map pins · 14-C viewed twice
- 9:20 amSite visit booked · Sat 11:00 · calendar invite sent
- Sat 10:41S. Khan geo-checked in at Phase 2 sales office
- Phone
- +92 300 •••4471
- CNIC
- 35202-•••••-1
- Source cost
- PKR 1,240
- Tasks
- 1 open
- Documents
- 0
Buyer pipeline · Phase 2
Drag a card to change stage · PKR 312M in playRouting & SLA rules
Evaluated top to bottom on every new lead- Condition
- project = Phase 2 AND budget ≥ 4M
- Assign to
- Team Phase 2 · load-balanced (fewest open)
- Notify
- Push + WhatsApp to agent · SMS fallback after 2 min
- SLA
- First contact within 15 min → escalate to team lead
- Condition
- source IN (Zameen, Bayut, Graana)
- Assign to
- Round-robin · on-shift agents only
- Auto-response
- Template “portal_reply_v3” in lead language
- Recycle
- Unworked after 48 h → back to pool
- Budget match
- +20
- within category price band
- Urgent timeline
- +25
- WhatsApp reply
- +15
- Junk number
- −30
- format or blacklist
- Flo refinement
- On
- behavioural model re-scores hourly
Scheduled to email or exported to Excel and PDF. Every report drills down to the record.
- Lead-source performance & cost per lead
- Conversion funnel & stage aging
- Speed-to-lead (response time)
- Agent and team leaderboards
- Activity: calls, WhatsApp, meetings
- Pipeline value & forecast
- Lost-reason analysis
- Campaign ROI
Who uses it, and what each role sees
Access is scoped by role, team and field. A dealer never sees another dealer’s file; an agent never exports the database.
Agent
Own leads, tasks and inventory; can create, update and book, but not delete or reassign
Team lead
Team pipeline and performance; reassigns within the team, approves discounts
Inside sales (ISA)
Dialer queue, qualification scripts, hand-off to field agents
Marketing
Sources, campaigns and lead quality; not individual agent pipelines
Manager / admin
Everything; configures rules, structures, users and reports
| Module | View | Create / edit | Approve | Export | Configure | Delete |
|---|---|---|---|---|---|---|
| Lead Capture | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
| De-duplication & Validation | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
| Routing & Distribution | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
| Lead Scoring | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
| 360° Contact Profile | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
| Pipeline & Deal Stages | OwnOwnTeamTeamAll | OwnOwnTeamTeamAll | ———TeamAll | ———TeamAll | ————All | ————All |
Own = only records assigned to me · Team = my team’s records · All = the whole organisation. Field-level rules can further hide price, owner or CNIC per role.
Toggle to see how each control changes the posture score. Defaults shown are our recommended configuration.
Every action writes an entry with actor, entity, before and after value and time. Entries cannot be edited or deleted, only exported. Try it: perform an action.
- 12:04:11S. KhanBooked plot 14-C · CRM
- 12:03:48SystemLock acquired · unit 14-C
- 11:58:02A. ButtApproved discount 5% · AP-2291
- 11:41:30H. MalikExported leads (team, 84 rows)
- 11:20:15AdminChanged role: F. Noor → Field agent
- 10:15:07SystemBlocked transfer · GV2-0930 (defaulter)
What happens without anyone clicking
Rules run the routine work. Flo, the AI assistant, handles the parts that need language or judgement, and every AI action is logged.
Automations
- Auto-assignment by rules
- Instant WhatsApp auto-response on new lead
- Task creation on stage change
- SLA escalation when a lead is un-contacted
- Dormant-lead recycling into nurture
- Drip sequences by stage and behaviour
Flo in CRM
- Lead scoring and prioritisation
- WhatsApp qualification bot (Urdu / English)
- Reply drafting for agents
- Call summarisation into the record
- Buying vs cancellation intent detection
- Next-best-action and close probability
Outbound WhatsApp uses approved templates. Low-confidence cases escalate to a person.
Connects to anything, not just the list
Every connector in the catalogue, the full REST API and a webhook for every state change. If it has an API, EstateFlow talks to it.
Every connector below is available to CRM. Those most used with it are highlighted; anything not listed connects through the REST API, webhooks or Zapier / Make / n8n.
- Zameen
- Bayut
- Graana
- OLX Property
- Meta Lead Ads (Facebook, Instagram)
- Google Ads lead forms
- TikTok lead forms
- Website forms
- Landing-page builders
- Chat widget
- QR / offline import (CSV, Excel)
- WhatsApp Business API (Meta Cloud API or any BSP)
- SMS gateways (Telenor, Jazz, Zong, Ufone, Twilio)
- Email (SMTP, Gmail, Outlook, SendGrid)
- VoIP / cloud PBX (SIP, Asterisk, Twilio Voice)
- Call tracking numbers
- Push notifications (FCM, APNs)
- Payment gateways (PayFast, Safepay, JazzCash, Easypaisa, Stripe)
- Bank transfer / IBFT references
- Pay links
- Bank statement import (CSV, MT940)
- Bank feeds (Enterprise)
- POS terminals
- QGIS projects (.qgz)
- PostGIS
- GeoServer (WMS / WFS)
- Shapefile, GeoJSON, KML, DXF / CAD import
- Mapbox, Leaflet, OpenLayers clients
- ArcGIS / Esri (Enterprise)
- Satellite imagery providers
- GPS from field devices
- QuickBooks
- Xero
- Sage
- Odoo
- Tally
- SAP / Oracle / Dynamics (Enterprise)
- FBR e-invoicing
- Excel / CSV export for any ledger
- CNIC OCR
- NADRA verification partners
- DocuSign
- Adobe Sign
- PandaDoc
- Google Drive
- OneDrive / SharePoint
- Dropbox
- S3-compatible storage
- Biometric devices (ZKTeco, Hikvision)
- Bank payroll files
- Google Workspace / Microsoft 365 directories
- SSO: SAML, OIDC, Azure AD (Enterprise)
- Boom barriers & RFID
- ANPR cameras
- Smart meters (electricity, water, generator)
- IoT sensors (MQTT)
- Sales-centre kiosks & touch tables
- Digital signage
- Power BI
- Tableau
- Looker Studio
- Metabase
- Zapier
- Make
- n8n
- Google Sheets
- Slack / Teams alerts
- Everything in the UI is available through the REST API: read, create, update, and the same approvals and locks apply.
- Every state change emits a webhook within seconds, with a signed payload and automatic retries.
- Per-organisation API keys with scopes per module; OAuth 2.0 for partner apps; rate limits published per plan.
- JSON over HTTPS, cursor pagination, filtering and sorting on every list endpoint, bulk endpoints for imports.
- Sandbox organisation for testing; OpenAPI 3.1 specification and Postman collection; changelog with versioned endpoints (/v1).
- /v1/leads
- /v1/contacts
- /v1/pipelines
- /v1/stages
- /v1/activities
- /v1/tasks
- /v1/site-visits
- /v1/sources
- /v1/routing-rules
- /v1/users
Each resource supports list, get, create, update and (where allowed) delete, with the same permissions and approvals as the UI.
/v1/leadsCreate a lead from any source (source, campaign, project, phone)
/v1/leads?stage=qualified&owner=me&sort=-scoreList with filters and sorting
/v1/leads/{id}/messagesSend a WhatsApp template or SMS through the CRM
/v1/leads/{id}Update stage, owner, custom fields
curl https://api.estateflow.live/v1/leads \
-H "Authorization: Bearer ef_live_•••" \
-H "Content-Type: application/json" - lead.created
- lead.assigned
- lead.scored
- lead.stage_changed
- lead.contacted
- activity.logged
- site_visit.booked
- booking.created
- sla.breached
Every state change in every product emits an event. Subscribe per event type, per project or for the whole organisation. Signed with HMAC-SHA256, retried with backoff for 24 hours, replayable from the dashboard.
POST https://your-server.example/estateflow
X-EstateFlow-Signature: sha256=3c9a…12ff
Content-Type: application/json
{
"id": "evt_01J8Z6M9QK",
"type": "booking.created",
"occurred_at": "2026-09-06T07:04:12Z",
"organisation": "green-valley",
"data": {
"booking_id": "BK-2026-0417",
"unit": { "id": "14-C", "project": "phase-2", "block": "C", "size": "10 Marla" },
"customer": { "id": "c_88112", "name": "Ahsan Raza" },
"plan": "36m-cat-b",
"net_price": 4441250,
"agent": "u_0142",
"dealer": "d_al-noor"
}
} Connected EstateFlow products
- Agent & Buyer AppsThe CRM in the agent’s pocket. The scheme in the buyer’s.
- QistFlowThe plot-file payment engine: schedules, reminders, recovery, transfers.
- MapsThe society map, alive: every plot coloured by real status.
- ERPOne inventory, one booking process, one set of numbers.
- Documents & ContractsAgreements, deeds and receipts that generate themselves, signed with a trail.
CRM runs standalone or with the rest of the suite on the same database. Quotes are per organisation, based on users, plots and files.
- Demo on your own data
- Data migration from spreadsheets or your current system
- Onboarding and WhatsApp template approval
About CRM
01 Which lead sources connect out of the box?
Website forms, landing pages, Zameen, Bayut and Graana portal inboxes, Meta (Facebook/Instagram) lead ads, Google, WhatsApp Business API, call tracking and CSV import. Anything else connects through webhooks or the REST API.
02 Can agents use WhatsApp without exposing the company to their personal numbers?
Yes. Conversations run through the WhatsApp Business API on a company number, so every thread stays on the contact record and remains with the company if the agent leaves.
03 How does the CRM stop double-selling a plot?
Bookings pull from the same live inventory that Maps and QistFlow use. When an agent books a plot it locks and the status changes everywhere at once.
04 Does it work for dealers and external agencies?
Dealers get scoped access through the Agent App and dealer portal: their own leads, live availability, holds and commission statements, nothing else.
See CRM on your own data.
A 45-minute demo on your own data. We load a sample of your inventory and files before the call, so you see your plots, your plans and your numbers, not a sample scheme.
- One block of your scheme digitised on the live map
- A booking → schedule → WhatsApp reminder, end to end
- A file transfer with the lock and dues check
- A rollout order and a written quote within two days