Our Work / UAE Real Estate & Operations
AI Systems Built for Real Business.
Most property businesses run six systems that do not talk to each other. The same enquiry gets entered three times, and nobody can say which marketing produced the deal.
We don't just implement AI. We build the systems that do the work.
What arrives
- Bayut
- dubizzle
- Meta Lead Ads
- Website forms
One system
- 09
- Systems documented
- 06
- Automation disciplines
- 14
- Platforms and interfaces
Featured solution
CRM Automation
Property Portal Enquiries into a Single CRM
Enquiries from every property portal arrive in one CRM, matched to the right property and the right agent, with the source attached.
- Odoo
- Bayut
- dubizzle
- n8n
- REST API
- Webhooks
- +1
Solutions we have built
Each system below is a working architecture — the trigger, the logic, the integrations and the hand-off to a person. Open any one to see how it is assembled.
CRM Automation
Property Portal Enquiries into a Single CRM
Enquiries from every property portal arrive in one CRM, matched to the right property and the right agent, with the source attached.
- Odoo
- Bayut
- dubizzle
- +4
CRM Automation
Property Portal Enquiries into a Single CRM
A brokerage advertising across more than one portal receives its enquiries in several places at once — a portal inbox, a forwarded email, a message on somebody's phone. This system collapses all of that into a single record of the truth.
01The challenge
Portal enquiries land wherever the portal decides to put them. Someone re-types them into the CRM, or nobody does. By the time a lead is worked, the property reference has usually been lost, nobody is certain who owns it, and the response clock has been running unattended. The cost is rarely the typing. It is the twenty minutes before anyone calls back.
02The solution
An integration layer sits between the portals and the CRM. Each inbound enquiry is read at source, resolved against the property it refers to, matched against existing contacts, and written into the CRM as a lead with its origin intact. Duplicates are detected before a record is created rather than cleaned up afterwards. Bayut publishes a documented XML feed and a pull-based Leads API, and that is the route we build to.
03The workflow
- SourcePortal enquiryAutomated
- IngestFeed / Leads APIAutomated
- ResolveIdentify propertyAutomated
- LogicMatch & deduplicateAutomated
- OdooCreate CRM leadAutomated
- EnrichAttribute sourceAutomated
- AssignRoute to agentAutomated
- HumanSales teamHuman step
04Technology
- Odoo
- Bayut
- dubizzle
- n8n
- REST API
- Webhooks
- XML
05What was automated
- Enquiries are collected from the portal at source rather than forwarded by hand.
- The listing reference or permit number is resolved to the property record it belongs to.
- Existing contacts are matched on phone, email and name before any new record is written.
- Duplicate leads for the same contact and property are prevented rather than merged later.
- The portal, the property and the campaign are attached to the lead permanently.
- The lead is assigned and the responsible agent is notified.
06Business impact
- One place to look. Every enquiry lands in the CRM regardless of which portal produced it.
- No re-keying, so the record that reaches the agent is the record the prospect submitted.
- The response clock starts when the enquiry arrives, not when somebody notices it.
- Every lead can be traced back to a portal and a listing for the life of the deal.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
System Integration
Centralised Property Distribution
One property record, validated once, published to every portal — with the advertising permit carried through the feed.
- Odoo
- Bayut
- dubizzle
- +3
System Integration
Centralised Property Distribution
The outbound half of the loop. Properties are maintained in one place and distributed outward, instead of being entered separately into each portal.
01The challenge
The same property is typed into each portal in turn. Permit numbers are re-entered every time, images re-uploaded, descriptions drifting apart. A price change means editing in several places, so one portal is almost always out of date. Permits are not optional — Trakheesi is required for Dubai listings to go live, and Madhmoun approval has been mandatory for Abu Dhabi advertisements since July 2025 — which makes the re-entry both unavoidable and recurring.
02The solution
The property record becomes the single source. Before anything is published, the record is validated: required fields present, permit attached, images prepared, portal-specific fields mapped. The feed is generated from that validated record and the portals consume it. When a portal rejects a listing, the reason surfaces against the property so it is corrected at source and the feed updates itself.
03The workflow
- OdooProperty recordAutomated
- CheckValidate fieldsAutomated
- CompliancePermit attached?Automated
- MapTransform dataAutomated
- BuildPrepare feedAutomated
- PortalsPublishHuman step
04Technology
- Odoo
- Bayut
- dubizzle
- XML
- n8n
- REST API
05What was automated
- Property, agent, pricing and media are held once and read by every channel.
- Trakheesi and Madhmoun permit numbers travel with the listing into the feed.
- Incomplete records are caught before publication rather than rejected afterwards.
- Changes propagate from the record outward, so no portal is edited by hand.
- Rejections are surfaced against the property with the reason attached.
06Business impact
- A price or status change happens once and reaches every channel.
- Permit compliance is a property of the record, not a step someone has to remember.
- Listings stop drifting apart between portals.
- Rejections become a short queue to fix instead of a silent gap in coverage.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
Marketing Automation
Meta Lead Ads with End-to-End Attribution
Ad leads arrive in the CRM already carrying the campaign, ad set and form that produced them — so spend can be judged on deals, not volume.
- Meta Lead Ads
- Odoo
- n8n
- +2
Marketing Automation
Meta Lead Ads with End-to-End Attribution
Marketing spend and sales outcome usually live in different systems. This connects them at the point the lead is created, so the link survives all the way to won or lost.
01The challenge
Leads from Facebook and Instagram arrive as downloads or notifications. Somebody moves them into the CRM, and the campaign context does not travel with them. Weeks later, when the question is which advertising produced revenue, the honest answer is a spreadsheet and an estimate. Budget decisions are made on lead counts because lead counts are the only thing measurable.
02The solution
Form submissions are captured the moment they are made. The prospect's details and the full campaign context — campaign, ad set, advertisement, form, timestamp and any custom answers — are written into the CRM together, on one record. Because attribution is set at creation rather than reconstructed later, it is still attached when the opportunity closes.
03The workflow
- SourceFacebook / Instagram adAutomated
- TriggerLead form submittedAutomated
- IngestWebhook receivedAutomated
- EnrichCapture campaign dataAutomated
- OdooCreate / update contactAutomated
- LogicQualify & routeAutomated
- HumanAgent notifiedHuman step
04Technology
- Meta Lead Ads
- Odoo
- n8n
- Webhooks
- REST API
05What was automated
- Every submission is captured at the moment it happens.
- Campaign, ad set, advertisement, form and timestamp are written onto the lead.
- Custom form answers — service, budget, timeline — are carried across as structured fields.
- Contacts are matched or created without duplicating an existing record.
- The lead is routed and the agent notified without a manual export.
06Business impact
- Marketing spend can be assessed on closed business rather than lead volume.
- The campaign that produced a deal is still attached when the deal closes.
- No export, no import, no re-keying between the ad platform and the CRM.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
AI Agents
AI-Assisted WhatsApp Qualification
A structured first response on WhatsApp that collects what matters, writes a qualified lead into the CRM, and hands the conversation to a person.
- WhatsApp Business Platform
- AI Models
- Odoo
- +2
AI Agents
AI-Assisted WhatsApp Qualification
WhatsApp is where a large share of the actual sales conversation happens — and it usually sits entirely outside the business systems, on individual handsets.
01The challenge
Enquiries arrive on WhatsApp at all hours. The conversation lives on an agent's phone, invisible to management and lost entirely when that agent leaves. Nothing is qualified before a person picks it up, so the same opening questions are asked hundreds of times a month, and the answers are never recorded anywhere structured.
02The solution
Conversations run through the official WhatsApp Business Platform rather than a personal account. An AI layer handles the opening exchange: it identifies the language, establishes what the person is looking for, and collects budget, timeline and contact details. That unstructured conversation is converted into structured fields, written into the CRM as a contact and a qualified lead, tagged with its source, and handed to a salesperson with the history attached. The division of labour is deliberate — the AI handles repetitive intake, people handle the relationship and the close. It does not replace an agent, and we would not propose that it should.
03The workflow
- WhatsAppInbound messageAutomated
- AIDetect languageAutomated
- AIIdentify intentAutomated
- DialogueCollect requirementsAutomated
- TransformStructure the dataAutomated
- OdooCreate CRM leadAutomated
- AssignRoute to salespersonAutomated
- HandoverHuman takes overHuman step
04Technology
- WhatsApp Business Platform
- AI Models
- Odoo
- n8n
- Webhooks
05What was automated
- The opening exchange is handled without waiting for an available agent.
- Language is detected and the conversation continues in it.
- Name, contact details, service, goal, budget and timeline are captured as fields, not free text.
- A contact and a qualified lead are created in the CRM with the enquiry summary attached.
- The conversation is escalated to a named person with its full history.
06Business impact
- Enquiries received outside working hours are acknowledged and qualified rather than queued.
- The conversation history belongs to the business, not to a handset.
- Salespeople open a conversation already knowing what the person wants.
- Repetitive opening questions stop consuming selling time.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
Workflow Automation
Intelligent Lead Routing and Agent Acceptance
An enquiry about a specific listing reaches the agent who owns it — and where there is no owner, the first eligible agent to accept it wins, exactly once.
- Odoo
- n8n
- Webhooks
- +2
Workflow Automation
Intelligent Lead Routing and Agent Acceptance
The gap between a lead arriving and somebody owning it is where most of the value leaks out. This closes it without adding a manager to the path.
01The challenge
New leads wait for a manager to allocate them. On a busy day that is hours. Nobody is quite sure who owns what, so two agents chase the same client and the office has an argument about it. When an enquiry concerns a specific property, someone has to look up which agent is responsible before it can go anywhere.
02The solution
Three mechanisms working together. Where the lead carries a property reference or permit number, the system resolves the property, reads who is responsible for it, and assigns the enquiry directly. Where there is no clear owner, the lead is offered to the eligible agents and the first valid acceptance takes it — including from an email notification. The acceptance is validated at the moment of the claim rather than the moment of the offer, so two agents responding within the same second produce exactly one assignment and the later claim is rejected cleanly. Every assignment is recorded.
03The workflow
- TriggerNew leadAutomated
- BranchProperty reference?Automated
- LookupResolve ownerAutomated
- NotifyOffer to eligible agentsAutomated
- ConcurrencyFirst valid acceptanceAutomated
- OdooAssign & recordAutomated
- HumanAgent owns the leadHuman step
04Technology
- Odoo
- n8n
- Webhooks
- REST API
- SMTP
05What was automated
- The responsible agent for a listing is resolved from the property record, not looked up by a person.
- Eligible agents are notified of an unassigned lead without a manager in the loop.
- Acceptance is validated against live availability, so a claimed lead cannot be claimed twice.
- Late acceptances are rejected with a clear result rather than silently overwriting.
- Every assignment is written to the record with its timestamp.
06Business impact
- Leads stop waiting in an unassigned state for someone to allocate them.
- Ownership is unambiguous and recorded, which removes the duplicate-chase argument.
- Allocation no longer depends on one manager being at their desk.
- Response delay becomes visible and measurable rather than assumed.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
CRM Automation
Website Enquiry Capture
Form submissions become validated, attributed, routed CRM leads without anybody watching an inbox.
- WordPress
- Odoo
- n8n
- +2
CRM Automation
Website Enquiry Capture
The simplest of these systems, and often the first one a business notices is missing.
01The challenge
Website enquiries arrive in a shared mailbox. Somebody reads them when they get a moment, decides who should handle each one, and copies the details into the CRM — or forwards the email and hopes. Enquiries received in the evening are read the following morning.
02The solution
The form posts to a webhook. Submissions are validated on arrival, matched against existing contacts, and written into the CRM as leads with the page and campaign that produced them attached. Routing rules apply immediately, and the responsible person is notified. For businesses already running their site on WordPress, the existing forms are wired in rather than replaced.
03The workflow
- SourceWebsite visitorAutomated
- TriggerForm submittedAutomated
- IngestWebhookAutomated
- CheckValidate inputAutomated
- ResolveMatch contactAutomated
- OdooCreate leadAutomated
- HumanNotify ownerHuman step
04Technology
- WordPress
- Odoo
- n8n
- Webhooks
- REST API
05What was automated
- Submissions are validated before a record is created.
- Existing contacts are recognised instead of duplicated.
- The originating page and campaign are recorded against the lead.
- Routing and notification happen on arrival, at any hour.
06Business impact
- Nobody has to watch a mailbox for the business to respond.
- Website enquiries are measured alongside every other channel rather than separately.
- Out-of-hours enquiries are in the pipeline before the office opens.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
Data Automation
End-to-End Source Attribution
Every lead carries where it came from — channel, campaign, advertisement, property, permit — so management can answer questions the systems should answer themselves.
- Odoo
- n8n
- Meta Lead Ads
- +2
Data Automation
End-to-End Source Attribution
Most CRMs record who the lead is. Far fewer record, reliably, where the lead came from and what it cost to get.
01The challenge
A source field exists and is filled in inconsistently, by hand, from memory. So the monthly report is assembled from portal exports, ad platform screens and somebody's recollection. The question "which of these channels actually produced deals last quarter" takes days and the answer is not trusted enough to change a budget.
02The solution
Attribution is written at the moment of capture, by the system that captured it, across every channel. A lead records its platform, campaign, advertisement, ad set and form where those exist; the property and permit number where the enquiry concerns a listing; the email journey or WhatsApp entry point where it came through marketing. Because it is set once and never re-typed, it is still correct at the point the opportunity is won or lost.
03The workflow
- SourceAny inbound channelAutomated
- ResolveIdentify originAutomated
- EnrichAttach campaign & propertyAutomated
- OdooWrite to CRM recordAutomated
- PersistCarried through pipelineAutomated
- OutputManagement reportingHuman step
04Technology
- Odoo
- n8n
- Meta Lead Ads
- Bayut
- WhatsApp Business Platform
05What was automated
- Channel, platform, campaign, ad set, advertisement and form are recorded automatically.
- Property and permit number are attached where the enquiry concerns a listing.
- Email journeys and WhatsApp entry points are identified and carried across.
- Attribution persists through qualification, opportunity and close.
06Business impact
- "Where did this lead come from?" is answered from the record, not reconstructed.
- Channel performance can be compared on deals rather than on lead counts.
- Reporting stops being a monthly assembly job.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
Marketing Automation
Email Journeys with WhatsApp Attribution
Behaviour-driven email sequences that stop when a prospect converts — and carry their origin with them when the conversation moves to WhatsApp.
- Odoo
- WhatsApp Business Platform
- n8n
- +2
Marketing Automation
Email Journeys with WhatsApp Attribution
Attribution normally dies at the moment a prospect moves from email to a messaging app. This closes that gap.
01The challenge
A nurture sequence runs on a timer and keeps running after the prospect has already spoken to sales, which is at best noise and at worst embarrassing. And when someone clicks through to WhatsApp, whatever brought them there is lost — the salesperson opens a conversation with no idea which message the person is responding to.
02The solution
Sequences are driven by behaviour rather than elapsed time alone: engagement is tracked, the next action depends on what the contact actually did, and conversion to an opportunity removes them from a sequence that no longer applies. Each message carries a distinct WhatsApp entry point, so an inbound message can be resolved back to the campaign that produced it and the context is passed into the CRM before the salesperson replies.
03The workflow
- EntryNew contactAutomated
- SendSequenced messageAutomated
- SignalEngagement trackedAutomated
- BranchConverted?Automated
- IdentifyWhatsApp entry pointAutomated
- OdooContext to CRMAutomated
- HumanSalesperson repliesHuman step
04Technology
- Odoo
- WhatsApp Business Platform
- n8n
- SMTP
- Webhooks
05What was automated
- Message timing and content respond to engagement rather than a fixed timer.
- Contacts who become opportunities are removed from sequences that no longer apply.
- Each campaign uses a distinguishable WhatsApp entry point.
- An inbound message is resolved to its originating campaign before a person answers.
06Business impact
- Prospects stop receiving nurture messages after they have already spoken to sales.
- Salespeople know what a person read before they replied.
- The email-to-messaging handover stops being an attribution blind spot.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
Data Automation
Large-Scale Data Operations and Record Hygiene
Retrieval, normalisation, comparison and deduplication across large record sets — because automation that moves bad data faster is not an improvement.
- REST API
- n8n
- Google Sheets
- +2
Data Automation
Large-Scale Data Operations and Record Hygiene
The least visible of these systems and, in practice, the one that decides whether any of the others are trusted.
01The challenge
Operational data arrives from several sources in different shapes, at volumes that make manual review impossible. Records are duplicated, formats disagree, and nobody can say confidently which version is current. Any automation built on top of that inherits the problem and distributes it faster.
02The solution
A data layer that retrieves at volume, handles pagination, normalises formats, and compares incoming records against what is already held. New records are detected, duplicates are identified before they enter the system, and a master set is maintained alongside dated historical archives so the current position and the history are both available.
03The workflow
- APISource systemsAutomated
- FetchPaginated retrievalAutomated
- TransformNormalise formatsAutomated
- DiffCompare to masterAutomated
- ResolveDeduplicateAutomated
- StoreMaster + archiveAutomated
- OutputClean operational dataHuman step
04Technology
- REST API
- n8n
- Google Sheets
- Odoo
- JSON
05What was automated
- Large record sets are retrieved with pagination handled rather than truncated.
- Formats are normalised on the way in, not corrected later.
- Incoming records are compared against the master set to detect what is genuinely new.
- Duplicates are identified before they reach the operational system.
- A master list and dated yearly archives are maintained alongside each other.
06Business impact
- Automation improves data quality instead of propagating errors more efficiently.
- Reporting rests on a record set somebody is prepared to defend.
- Duplicate contacts stop generating duplicate work.
07Build something similar
Need something similar?
Describe the process your team runs today and we will show you where automation fits — and where it honestly does not.
No solutions in this discipline yet.
Built around your business — not around one platform.
We do not ask a company to move its operation into a single vendor's ecosystem. We work with the platforms already in use, and build the connections between them. Where a capability genuinely does not exist, we build it.
Platform & CRM
- Odoo
- WordPress
- Google Sheets
Property portals
- Bayut
- dubizzle
Messaging & marketing
- WhatsApp Business Platform
- Meta Lead Ads
- SMTP
Automation & interfaces
- n8n
- REST API
- Webhooks
- JSON
- XML
- AI Models
Every platform listed here appears in the systems above. Where a connection is not publicly documented by a vendor, we say so before we scope it rather than after.
What we build
Four disciplines, drawn from the work above. Most engagements combine two or three of them rather than sitting neatly inside one.
AI Agents
Conversational systems that handle first contact, qualification and structured data capture — then hand a person a conversation that is already worth having.
Business Automation
End-to-end workflows that remove repeated manual steps: capture, validation, routing, notification and the record-keeping that normally gets skipped.
System Integration
Connecting CRM, messaging, marketing platforms, portals, databases and operational software so information is entered once and moves on its own.
Custom AI Solutions
AI applied where a process is genuinely repetitive and rules-based — designed around how a specific business works, not bolted on as a feature.
Have a process that should be automated?
Let's build your next automation.
Tell us where your team is losing time. We will map what can be automated, connected, or handled by an AI layer — and be straight with you about what should stay manual.

