How do I set up HubSpot for a real estate agency?
Short answer
Build the data model first: a Listing custom object, two deal pipelines for the buyer side and the seller side, ... and the ten contact fields a buyer match needs.
Then layer the workflows on top, starting with area routing and a first response clock on viewing requests. Professional tier for most of it, Enterprise for the Listing object, Data Hub Professional for the buyer match code. The trap: the area values on the contact and on the listing have to be identical or no alert ever fires.
Read the whole answerShow less
What a spec looks like
The nine sections, and the files
Every spec follows the same nine sections, so a team reads one and knows how to read all of them.
- Outcome, when to use it and when not to
- Prerequisites: properties, lists, tiers, with the JSON to create them
- Enrollment and re-enrollment, then every step with its parameters
- Known pitfalls, a test plan, variants, and the YAML build spec
PDF, Markdown, properties JSON, workflow JSON, custom code where used. Test plan and known pitfalls in every spec.
Each spec states its minimum tier. The 12 free ones open in full, the others show their public preview.
The 43 specs, in build order
40 chosen from the library, 3 written for this kit.
The data model: Listing, two pipelines, buyer criteria
A Listing custom object with eleven fields, a buyer pipeline and a seller pipeline, and the contact fields a match reads. Everything else sits on this.
What each spec doesHide
Area routing and the first response clock
A postal code decides the area, the area decides the agent, and a task plus a manager alert keep the response inside the agreed window.
What each spec doesHide
Show the 4 other specs in this groupShow fewer
Viewings in the diary
Booked, moved, cancelled and missed viewings all produce the right notification and the right follow up, without the agent watching a calendar.
What each spec doesHide
Show the 3 other specs in this groupShow fewer
New listing to matching buyers
A property goes live, the registered buyers who fit hear about it that hour, and the agent gets a task on the ones who opened the email.
What each spec doesHide
From accepted offer to signed deed
The financing and survey conditions carry deadlines, the chase happens on time, and a file whose closing date keeps moving gets flagged.
What each spec doesHide
Show the 6 other specs in this groupShow fewer
The long game: owners, past clients, portals
Quarterly touches for owners who are not selling yet, mandate end reminders, referral asks, and the report that tells you which portal pays for itself.
What each spec doesHide
Show the 5 other specs in this groupShow fewer
The data model, 41 properties
A kit is not a folder of specs. It is the property schema the trade needs, then the workflows that run on it.
Contacts10 properties
| Internal name |
|---|
buyer_or_seller |
budget_min |
budget_max |
preferred_areas |
property_type |
financing_preapproved |
purchase_horizon |
viewings_count |
source_portal |
agent_owner |
Companies4 properties
| Internal name |
|---|
agency_or_developer |
portfolio_size |
commercial_yn |
landlord_or_tenant |
Deals11 properties
| Internal name |
|---|
transaction_side |
commission_rate |
commission_amount |
closing_date |
offer_amount |
conditions_financing |
conditions_survey |
conditions_financing_deadline |
conditions_survey_deadline |
co_broker |
listing_id |
Tickets5 properties
| Internal name |
|---|
request_type |
viewing_requested_date |
document_missing_type |
post_sale_issue_category |
listing_id |
Listing (custom object)11 properties
| Internal name |
|---|
address |
price |
status |
surface |
rooms |
listing_date |
days_on_market |
portal_id |
listing_agent |
listing_area |
listing_property_type |
The pack ships this as JSON, ready for one call to the properties API, plus a README that says what each field is for and which spec reads it.
The 3 things that break this, and how the specs stop them
The area values have to match on both sides
The buyer match compares a checkbox list on the contact with a dropdown on the Listing.
If one says area_1 and the other says Area 1, the workflow runs, reports success and sends nothing. This is the first thing to check when a listing alert goes quiet, and the reason the schema ships both option lists with identical values.
How the specs stop itShow less
A workflow filter cannot read across an association
Branching a ticket on a property of the associated Listing is not dependable, so the kit copies the area and the listing id onto the ticket and onto the deal at creation.
It looks like duplicated data because it is, and the alternative is a routing branch that silently sends everything to the fallback.
How the specs stop itShow less
Absence is not a property on a user
HubSpot does not allow custom properties on the Users and Owners object, so an agent who spends Thursday on viewings cannot be flagged as unavailable in a way a rotation can read.
The pool has to be edited by a human. Treat it as a weekly chore for the office manager, not as something automation solves.
How the specs stop itShow less
What this kit builds
An agency runs on three clocks and loses money on all of them. A portal enquiry that waits four hours is a buyer who called someone else. A property that sits ten days before the right buyer hears about it is a price reduction nobody needed. A mortgage condition that expires unnoticed is a sale that collapses two weeks from the deed.
This kit is the data model and the forty three workflow specs that put those three clocks in one portal. The model comes first: a Listing custom object with address, price, surface, rooms, status, listing date, days on market, portal reference, area, type and agent, plus the ten contact fields a buyer match reads, eleven deal fields for the transaction, and one ticket field that routes viewing requests, missing documents and post sale issues into their own queues. Forty one properties in a JSON body you can post, with the option lists spelled out.
On top of that sit the workflows. Area routing with a first response clock. Viewing requests, no shows and cancellations. New listing alerts to the buyers who match. The offer to deed file with its financing and survey deadlines. Quarterly touches for owners who are not selling yet, and mandate end reminders for the ones who are. And the reporting fields that tell you which portal subscription actually pays for itself.
It fits an agency with two to thirty agents, and the operations person at a network rebuilding the same setup for every branch.
Read the restShow less
How the pieces fit together
Build the model before the automation. Create the Listing object, rename the sample area and portal options to yours, then create the contact, company, deal and ticket properties. Ten minutes of renaming here saves the week where nothing matches and nobody knows why.
Pipelines second. A buyer pipeline and a seller pipeline, both with an Offer accepted stage and a Conditions cleared stage. The conditions tracker starts at the first and ends at the second, and a single pipeline cannot express both sides of a transaction.
Routing third, because everything downstream assumes a record has an owner. Postal code to area, area to agent pool, then the first response clock on top. The viewing specs layer onto that same owner, so they stay quiet if routing is wrong, which is how you find out early.
The buyer match comes last, once the Listing records are real and the area values on both sides are provably identical. It is the piece with the code action and the piece with the most moving parts, and it depends on every field the first two steps created.
What you get
- 43 specs: 40 selected from the library and 3 written for this sector
- Each spec ships as PDF and Markdown
- The kit data model: 41 properties across contacts, companies, deals, tickets and the Listing custom object, as ready to post JSON plus the schema call
- A README that says what each property is for and which specs break without it
- Workflow JSON in Automation API format, switched off on import
- Custom coded actions: one spec needs one, the buyer match, on Data Hub Professional. Several others name code as an optional variant and say so on the spec
- A test plan per spec, with the records to create and the history tab to check
- Variants per spec, including wait until versions of the delay based steps
- One click install for Full and Agency buyers
Who it is for, and who should skip it
Take it if you run an agency portal and you are rebuilding the same routing, the same viewing follow up and the same condition chase from scratch with a blog post and a screenshot. Take it if you are an operations person at a network and the second branch is about to get the setup the first one paid for in mistakes.
Skip it if you are a single agent with thirty contacts. The free spec plus a task reminder gets you most of the value, and the data model is more structure than your week needs. Skip the Listing half if your portal is on Professional and you have no plan to reach Enterprise, since three specs assume a custom object. And if listings are not your business at all, the full library is the cheaper way to get the routing and the pipeline hygiene.
Questions admins ask
Does HubSpot have a listing object for real estate?
Not as standard. You create one as a custom object, which needs an Enterprise subscription on at least one hub. The kit ships the schema body, eleven properties and the associations to contacts, companies, deals and tickets. On Professional the workaround is a second deal pipeline named Listings, which keeps the alerts and the days on market report and costs you the clean link between one property and several interested buyers.
How do I handle buyers and sellers in the same portal?
Two deal pipelines, one per side, and a buyer_or_seller field on the contact. A person can be both, which is why the field has an explicit Buyer and seller value rather than two checkboxes. The transaction_side property on the deal records who you represent, including dual representation, which several jurisdictions regulate.
Can HubSpot send buyers an alert when a matching property goes live?
Yes, with a custom coded action that searches for contacts whose budget, area and type fit the new listing, writes the listing onto each matching contact and drops them in a queue list. A second workflow sends the email and creates a task for the agent on the ones who opened it. That needs Data Hub Professional. Without code you build one list per area and budget band and send manually, which works up to about a dozen combinations.
What tier do I need for this?
Three specs need Enterprise, because they touch the Listing custom object, and one of those three also needs Data Hub Professional for its code action. One runs as low as Service Hub Starter. The other thirty nine need Professional, on Sales Hub, Service Hub or Marketing Hub depending on the spec. Every spec states its own minimum on the first screen, and a Starter only portal cannot run this kit.
Does this work for commercial property as well as residential?
The data model does, with a commercial_yn flag on the company and landlord or tenant values on the lease side. The workflows lean residential in their timing: a ten day mortgage reminder and a two hour viewing SLA are residential numbers. On commercial you keep the same structure and stretch the delays, which is a field edit, not a rebuild.
Read 12 complete specs before you pay.
One per category, same format as the paid ones. Email only, no card.
We email the link, then a short note when specs change. Nothing else.
Here it is. Download the pack now (.zip) The link is in your inbox too.
Browse the library