Back to the build library
Real estate
Standard

Tenant Inquiry and Showing Scheduling

Answer every rental inquiry in minutes, pre-qualify before anyone drives anywhere, and chase applications through to a signed lease.

Industry
Real estate
Build effort
Standard
Typical time to launch
1–2 weeks
On this page
The problemWhat gets builtHow it runsAutomations in detailWhat changesBefore you start
Want this built for you?

Bring your stack to a call and we will scope it against how your business actually runs.

Book a call
01

The problem

A rental listing goes live on a Thursday afternoon and produces forty inquiries by Saturday night. They arrive through four listing portals, the website form, two phone lines and a direct message on social. Every one of them asks the same four questions: is it still available, can I bring a dog, do you take housing vouchers, when can I see it. By Monday morning the leasing agent has answered eleven of them, and the other twenty-nine have already booked a showing somewhere else.

Speed is the whole game in residential leasing, and the industry knows it. The inquiry answered in five minutes converts to a showing at a wildly different rate than the one answered in five hours. Yet the response time is almost entirely a function of whether a human happened to be holding their phone, which is why Saturday inquiries are the worst-served and Saturday is when renters look.

The second failure is unqualified showings. The agent drives across town to show a two-bedroom to someone who needed three bedrooms, cannot move until next quarter, and has a large dog in a no-pets building. Nobody asked, because asking felt pushy. Each of those wasted trips costs an hour and a tank of fuel, and crowds out the showing that would have converted.

The third is the application gap. A prospect views, loves it, is sent an application link, and is never heard from again. Not because they changed their mind but because the link arrived in an email they read on the train, and nothing followed up. Vacancy days accumulate quietly, and a vacant unit is the most expensive thing a landlord owns.

02

What gets built

Pipeline and stages

One leasing pipeline, one opportunity per prospect per unit. A prospect interested in two units gets two opportunities, because they can convert on either.

  • New Inquiry - captured, not yet answered
  • Engaged - prospect has replied to BO at least once
  • Pre-Qualified - the uniform screening questions are answered and they pass
  • Showing Booked
  • Viewed - attendance confirmed by the agent
  • Application Sent
  • Application Submitted
  • Approved - screening cleared, awaiting lease
  • Lease Signed
  • Lost - closed with a required reason

Calendars

  • Individual Showing - 20 minutes, round robin across leasing agents, 15-minute travel buffer after each slot, maximum six bookings per agent per day, minimum two hours notice, location pulled from the unit record
  • Open House Block - a recurring group calendar with a capacity cap, used when a unit generates more than ten inquiries in 48 hours. Prospects book a slot inside the block rather than a private showing.
  • Self-Guided Showing - optional, for buildings with smart locks, with a code issued at the start of the window and revoked at the end
  • Lease Signing Appointment - 30 minutes, in person or video

Custom fields

On the unit record:

  • unit_id, unit_address, building_name, bedrooms, bathrooms, square_feet, floor
  • available_from, listing_status (pre-market, live, application pending, leased, off market)
  • pets_policy (none, cats only, dogs under weight limit, all pets, case by case), parking_included, utilities_included, laundry, accessibility_features
  • income_multiple_required - the uniform ratio of income to rent the owner applies, expressed as a multiple rather than an amount
  • minimum_lease_months, agent_owner, lockbox_or_keys, days_on_market

On the prospect contact:

  • inquiry_source - portal name, website, phone, walk-in, referral, social
  • unit_of_interest, bedrooms_needed, move_in_date_target, lease_length_wanted
  • occupant_count - the number of people who will live there, which is a legitimate occupancy question; not their relationship to each other
  • pets_declared, pet_type, pet_weight
  • income_meets_multiple - yes, no, prefers not to say; a self-declared pass or fail against the uniform multiple, never a figure captured in chat
  • employment_status, voucher_or_assistance_declared
  • prequal_result - pass, fail, needs human review
  • prequal_fail_reason, showing_datetime, showing_attended, application_sent_date, application_status
  • lost_reason - leased elsewhere, price, timing, pets, failed screening, no response, unqualified
  • response_time_minutes - stamped automatically, the single most useful number in the whole build

Tags

  • Source: src-portal-a, src-portal-b, src-website, src-phone, src-referral, src-social, src-signage
  • State: prequal-pass, prequal-fail, prequal-review, showing-booked, showing-attended, showing-noshow, app-sent, app-submitted, approved, leased
  • Operational: needs-accessible-unit (set only when the prospect volunteers a requirement, so the right units can be shown), waitlist, optout-sms, optout-email, after-hours-inquiry

Forms

  • Inquiry form on the website and every listing link: name, phone, email, unit of interest, target move-in month. Five fields, nothing more. Every extra field costs inquiries.
  • Pre-Qualification form - the uniform screening questions, identical for every prospect on every unit: bedrooms needed, occupant count, target move-in date, lease length, pets and type, whether income meets the stated multiple, employment status, and whether they will be using a voucher or rental assistance program. Branching only on pets and on unit type, never on anything about the person.
  • Showing Feedback form - sent after every showing: interested, not interested, needs to discuss with someone, and a free-text reason.
  • Waitlist form - for prospects whose criteria do not match any live unit, capturing bedrooms, target month and preferred buildings.

BO role and guardrails

BO is the first responder on every channel, every hour, and the reason response time stops depending on who is awake.

  • BO answers availability, pet policy, parking, laundry, utilities, lease length and showing availability from the unit record. If the unit record does not hold the answer, BO says so and routes to the agent rather than guessing.
  • BO asks the pre-qualification questions conversationally in a fixed order, identical for every prospect, and writes the answers to fields.
  • BO books, confirms, reschedules and cancels showings, and sends the day-before and morning-of reminders.
  • Fair housing guardrails, non-negotiable. BO never asks about, records, or references race, color, religion, national origin, sex, gender identity, sexual orientation, familial status, marital status, pregnancy, age, disability, or any medical condition. BO never asks who the other occupants are or how they are related, only how many there will be. BO never volunteers an opinion about which building or neighborhood would suit a prospect, which is steering. BO never describes a unit as good for families, professionals, students, or any group.
  • If a prospect volunteers protected information, BO neither records it nor repeats it, and continues with the standard questions.
  • If a prospect asks about accessibility features or requests a reasonable accommodation or modification, BO does not evaluate the request. It confirms the request has been received and escalates immediately to a named human with the exact words used.
  • BO never states that an application is approved or denied, never explains a screening decision, and never quotes terms that are not on the unit record.
  • Any mention of discrimination, a complaint, a lawyer, a disability accommodation, or an existing tenancy dispute escalates to a human and BO stops replying in that thread.

Numbers and channels

  • One leasing number, published on every listing, with SMS enabled and a voice agent answering out of hours that captures the unit of interest and sends the booking link by text before the caller hangs up.
  • Inbound calls in business hours ring the on-duty agent first, then roll to the voice agent after four rings. Every missed call triggers a text back within 60 seconds.
  • Portal lead emails are parsed into the pipeline so portal inquiries enter the same workflows as website inquiries, with inquiry_source set from the sending portal.
  • Social direct messages are routed into the same conversation inbox, so BO answers there too.
03

How it runs, step by step

One prospect, from a Saturday night portal inquiry to a signed lease.

  1. 9:40pm Saturday: the inquiry lands. A prospect taps the inquiry button on a listing portal. The portal lead email is parsed, a contact is created, inquiry_source is stamped with the portal name, unit_of_interest is set to the listed unit, and an opportunity opens in New Inquiry. The contact is tagged after-hours-inquiry.
  2. 9:41pm: BO replies. By SMS and email: Hi Dana, thanks for inquiring about 14 Linden Street, Apt 3B - it is still available from 1 November. I can answer anything about the unit and get you booked in for a showing. Want me to send some times? Reply STOP to opt out. response_time_minutes is stamped at one.
  3. 9:48pm: she asks about pets. BO reads pets_policy on the unit record and answers precisely: cats are fine, dogs under the building weight limit are considered case by case with a pet deposit. No guessing, no softening.
  4. 9:50pm: pre-qualification runs. BO asks the standard questions in the standard order. She needs two bedrooms, three occupants, wants to move 1 November, wants a twelve-month lease, has one cat, confirms her income meets the stated multiple, and is employed full time. Every answer writes to a field. The stage moves to Engaged and then Pre-Qualified with prequal_result set to pass.
  5. 9:52pm: she books. BO sends the Individual Showing link filtered to the unit assigned agent. She picks Monday at 5:40pm. The opportunity moves to Showing Booked, showing_datetime is set, the agent calendar is blocked with a 15-minute travel buffer, and both parties get a calendar invitation with the exact address and access instructions.
  6. Sunday morning: the agent sees a prepared prospect. The daily digest lists Monday showings with every pre-qualification answer visible, so the agent knows before arriving that this is a two-bedroom, three-occupant, cat-owning, November mover. No discovery needed on the doorstep.
  7. Monday 5:40pm reminder sequence has already run. A reminder went at 24 hours and again at two hours with the address, the agent name and a one-tap reschedule link. She arrives.
  8. 6:05pm: the agent marks the showing attended. One tap from the appointment. The opportunity moves to Viewed, tagged showing-attended.
  9. 6:20pm: feedback and application go out together. Twenty minutes after the appointment ends, BO sends the Showing Feedback form and, because prequal_result is pass, the application link in the same message: Great to meet you at 14 Linden. If you want it, the application is here and takes about ten minutes: [link]. First completed application gets first consideration. The opportunity moves to Application Sent.
  10. Tuesday: the chase works. She has not applied. At 24 hours BO sends one SMS: Still interested in 14 Linden, Apt 3B? Two other applications are in progress. Here is your link again: [link] She completes it that evening. The opportunity moves to Application Submitted.
  11. Wednesday: screening and a human decision. The application lands in the screening tool. No automation states or implies a decision. The property manager reviews it against the written criteria and marks the opportunity Approved. BO is never the one to say approved or denied.
  12. Wednesday: approval and signing. On the Approved stage change, the lease document is generated and sent for electronic signature, and the Lease Signing Appointment link goes out. The unit record flips listing_status to application pending, which immediately stops all circulation of that unit.
  13. Friday: the lease is signed. The opportunity moves to Lease Signed, the unit flips to leased, and days_on_market is frozen on the unit record for reporting.
  14. The other prospects are closed properly. Everyone with a live opportunity on that unit gets one honest message: 14 Linden, Apt 3B has been leased. You match three other units coming available in the next six weeks - want me to send those? Anyone who says yes is tagged waitlist and re-matched. Everyone else moves to Lost with lost_reason set to leased elsewhere. Nobody is left wondering.
04

Automations in detail

1. Instant Inquiry Response and Source Stamping

Trigger: Inquiry form submitted, portal lead email parsed, inbound SMS to the leasing number, social direct message received, or inbound call completed.

Conditions and branches: First check listing_status on the inquired unit. If live, main path. If application pending or leased, the alternative-units path. If the contact already has an open opportunity on the same unit, do not create a duplicate - append to the existing conversation instead.

  1. Create or match the contact. Stamp inquiry_source, apply the matching source tag, create the opportunity in New Inquiry, and record the inquiry timestamp.
  2. Within 60 seconds, send the first reply on the channel the inquiry arrived on, plus email as a second channel: Hi [first name], thanks for inquiring about [unit_address] - it is available from [available_from]. I can answer anything about the unit and get you booked in to see it. Want some showing times? Reply STOP to opt out.
  3. Stamp response_time_minutes as the difference between the inquiry timestamp and the send.
  4. If the inquiry arrived outside business hours, tag after-hours-inquiry so the reporting can show how much volume the automation is catching that a human would have missed.
  5. Wait 10 minutes. If no reply, send one follow-up on the original channel only: Happy to answer questions, or you can grab a showing slot straight away here: [booking link]
  6. Wait 4 hours. If no reply, send one email with three listing photos and the booking link. Then stop for the day.
  7. Wait until 10am the next business day. If still no reply, one final SMS: Last one from me on [unit_address] - still want to see it? Reply YES and I will send times. Then move the opportunity to Lost with lost_reason set to no response.
  8. Alternative-units path: Hi [first name] - [unit_address] has an application in progress, so I would not want to waste your time. I have [count] other [bedrooms] bedroom units available around [move_in_date_target]. Want me to send them? A yes tags waitlist and runs the re-match.

Exit: prospect replies (hands to workflow 2), books a showing, opts out, or the opportunity reaches Lost.

2. Uniform Pre-Qualification

Trigger: Prospect replies to any BO message for the first time, or submits the Pre-Qualification form directly.

Conditions: The question set is identical for every prospect and every unit. The only branches permitted are on the unit characteristics - pets policy, bedroom count, availability date - never on anything about the person. This is a build rule, not a preference.

  1. Move the opportunity to Engaged.
  2. BO asks, in this fixed order, one or two at a time: how many bedrooms do you need; how many people will be living there; when do you need to move in; how long a lease are you looking for; any pets, and if so what type and weight; does your household income meet the [income_multiple_required] times rent requirement we apply to every applicant; are you employed, self-employed, retired or a student; will you be using a housing voucher or rental assistance program.
  3. Write every answer to its field as it arrives. Never store a free-text aside that contains protected information.
  4. Evaluate: bedrooms_needed at or below bedrooms; occupant_count within the written occupancy standard for the unit; move_in_date_target within 45 days of available_from; lease_length_wanted at or above minimum_lease_months; pets compatible with pets_policy; income_meets_multiple is yes.
  5. All pass: set prequal_result to pass, tag prequal-pass, move to Pre-Qualified, and send the showing booking link immediately in the same conversation.
  6. A unit-fit failure (wrong bedroom count, wrong timing, pet the building does not allow): set prequal_result to fail, record prequal_fail_reason, and redirect rather than reject. [Unit_address] only allows cats, so that one will not work for a dog. I have [count] pet-friendly units in the same area - want those instead? Tag waitlist and run the re-match.
  7. A stated criteria failure (income multiple not met, or anything ambiguous): set prequal_result to needs human review, tag prequal-review, and create a task for the property manager within four business hours. BO says only: Thanks - let me have [manager] come back to you on that, they handle the application criteria. BO never declines anyone.
  8. If the prospect declines to answer any question, set that field to prefers not to say and continue. A refusal is never treated as a fail by the automation.
  9. If the prospect volunteers protected information or asks for an accommodation, halt the sequence, escalate to the property manager with the verbatim message, and notify them by SMS.

Exit: stage reaches Pre-Qualified, prequal-review is handed to a human, or the prospect is re-matched to other units.

3. Showing Booking, Reminders and No-Show Recovery

Trigger: Individual Showing or Open House Block appointment booked.

Conditions: If the unit has had more than ten inquiries in the last 48 hours, the booking link offered is the Open House Block rather than individual slots. If lockbox_or_keys is set to smart lock and the client has enabled it, offer the Self-Guided Showing option as well.

  1. Move the opportunity to Showing Booked, tag showing-booked, set showing_datetime, and assign the unit agent as owner.
  2. Send immediate confirmation by SMS and email with the full address, unit number, access instructions, the agent first name and mobile, and a one-tap reschedule link. Booked: [unit_address], [day] at [time]. [Agent] will meet you at the main entrance. Need a different time? [reschedule link]
  3. Push the appointment to the agent connected calendar with the prospect pre-qualification answers in the event description, so the agent arrives informed.
  4. 24 hours before: SMS reminder with address and reschedule link.
  5. Two hours before: SMS reminder. See you at [time] today at [unit_address]. Reply R to reschedule or C to cancel.
  6. 15 minutes after the slot start, if the agent has not marked attendance, send the agent a one-tap prompt: attended, no-show, or rescheduled on site.
  7. No-show branch: tag showing-noshow, and 30 minutes later send one message: Sorry we missed you at [unit_address]. It is still available - want to pick another time? [booking link] Wait 24 hours, send one more. No reply after that moves the opportunity to Lost with lost_reason set to no response.
  8. Cancellation branch: free the slot, and immediately offer it to the most recent Pre-Qualified prospect on the same unit who has not yet booked. A slot just opened at [unit_address] today at [time] - want it?
  9. Reschedule branch: update showing_datetime, restart the reminder chain, and leave the stage unchanged. Three reschedules by the same prospect notifies the agent to call rather than keep texting.

Exit: attendance marked attended, or the opportunity reaches Lost.

4. Post-Showing Feedback and Application Push

Trigger: Showing marked attended.

Conditions: Branch on prequal_result. Pass gets the application link immediately. Needs human review gets feedback only, and the application link is released by the manager.

  1. Move the opportunity to Viewed, tag showing-attended.
  2. Wait 20 minutes after the appointment end so the prospect has left the building.
  3. Pass path: send the Showing Feedback form and the application link together. Great to meet you at [unit_address]. Two quick things: how did it feel? [feedback link] And if you want it, the application takes about ten minutes: [application link]. We consider completed applications in the order they arrive. Move to Application Sent, stamp application_sent_date, tag app-sent.
  4. Review path: send the feedback form only, and create a task for the manager to release or withhold the application within four business hours.
  5. Branch on the feedback answer. Not interested moves the opportunity to Lost with lost_reason taken from the free text, and cancels the application chase entirely. Do not chase a no.
  6. Needs to discuss with someone schedules a single check-in 48 hours later: Any questions on [unit_address] after talking it through? Happy to hold a slot for a second showing.
  7. Notify the agent in the internal channel with the feedback verbatim the moment it arrives, so a soft no can be rescued by a phone call the same evening.

Exit: application submitted, feedback says not interested, or the opportunity reaches Lost.

5. Application Completion Chase

Trigger: Opportunity enters Application Sent.

Conditions: Runs only while application_status is empty or started, and only while listing_status on the unit is live. If the unit flips to application pending or leased, this workflow stops at once.

  1. Wait 4 hours. If not started, send one SMS: Did the application link work for you? Here it is again: [link]. Ten minutes and you are in the queue.
  2. Wait 24 hours from send. If not submitted, send SMS: Still interested in [unit_address]? Applications are considered in the order they are completed. Your link: [link]
  3. Wait 48 hours from send. If not submitted, send one email with a short bullet list of exactly what the application needs - identification, proof of income, previous address history, references - because the usual reason an application stalls is that the prospect does not have a document to hand.
  4. Wait 96 hours from send. One final SMS: Closing your file on [unit_address] unless I hear back today. Reply YES to keep it open.
  5. No reply: move to Lost with lost_reason set to no response, and tag waitlist so the prospect still gets matched to future units.
  6. On submission: move to Application Submitted, tag app-submitted, stop every chase step, notify the property manager, and create a review task due in one business day. Send the prospect a plain acknowledgement that promises nothing: Got your application for [unit_address]. [Manager] will review it and come back to you within one business day.
  7. No automation in this workflow may state, imply, or predict an approval outcome. The Approved stage is set by a human only.

Exit: application submitted, unit leased, or opportunity reaches Lost.

6. Unit Leased Cascade and Waitlist Re-Match

Trigger: Unit listing_status changes to application pending or leased.

  1. Immediately pause every active workflow for every other opportunity on that unit. No one receives a chase for a unit that is gone.
  2. Remove the unit booking link from circulation and cancel any future showing appointments on it, notifying each prospect: [Unit_address] has an application in progress so we have canceled your showing. Sorry for the shuffle - I have other options if you want them.
  3. On leased: send every other open opportunity one honest close-out message: [Unit_address] has been leased. Based on what you told me - [bedrooms_needed] bedroom, moving around [move_in_date_target] - I have [count] others coming up. Want them?
  4. A yes tags waitlist and runs the match: live units where bedrooms is at or above bedrooms_needed, available_from is within 45 days of move_in_date_target, and pets_policy accommodates pets_declared. Send up to three units with photos and individual booking links.
  5. A no, or no reply within 72 hours, moves the opportunity to Lost with lost_reason set to leased elsewhere.
  6. Freeze days_on_market on the unit record and write the leasing record: inquiries received, showings held, applications submitted, source of the winning applicant.
  7. Seven days after lease signing, send the new tenant a welcome sequence and a review request on the client preferred review platform. A tenant is never happier than in their first week.

Exit: every other opportunity on the unit is re-matched or closed.

7. Missed Call Text Back and After-Hours Routing

Trigger: Inbound call to the leasing number that is not answered within four rings, or any call received outside business hours.

  1. In business hours: ring the on-duty agent, then the second agent in rotation, then the voice agent.
  2. The voice agent answers with a scripted greeting, asks which property the caller is inquiring about and their name, and offers to text the booking link. It never discusses criteria, never quotes anything not on the unit record, and never asks a pre-qualification question by voice.
  3. Within 60 seconds of the call ending, send an SMS: Sorry we missed your call about [unit_address]. I can answer questions here or get you booked in: [booking link]. Reply STOP to opt out.
  4. Create the contact and opportunity in New Inquiry with inquiry_source set to phone, and attach the call recording and transcript to the contact timeline.
  5. If the caller replies, hand straight into the pre-qualification workflow. If not, the standard inquiry nurture chain applies.
  6. Out of hours, tag after-hours-inquiry and queue a callback task for the on-duty agent at the start of the next business day, so a human still makes contact.
  7. Three missed calls from the same number in one day escalates to an immediate call-back task flagged urgent, regardless of hour preferences, because that is usually someone standing outside the building.

Exit: the caller replies, books, or the callback task is completed.

8. Leasing Performance Digest and Response Time Watchdog

Trigger: Continuous watchdog on response_time_minutes, plus a scheduled daily agent digest and a weekly owner report.

  1. Any inquiry where the first reply has not sent within five minutes posts to the internal channel naming the unit and the channel it came in on. This catches integration breakages fast - a portal parser that silently stops is otherwise invisible for weeks.
  2. Daily, at 7am: send each agent their showings for the day with every pre-qualification answer, plus their open Application Sent opportunities older than 48 hours.
  3. Daily: any unit with days_on_market past the client threshold and fewer than three showings held gets flagged for a listing review - photos, description or price are the usual culprits.
  4. Weekly, to the owner or portfolio manager: inquiries by source, median response_time_minutes, inquiry to showing rate, showing attendance rate, showing to application rate, application to lease rate, median days on market, and the lost_reason distribution.
  5. Monthly: cost per lease by inquiry_source where the client supplies portal spend, so unproductive listing subscriptions can be cut on evidence.
  6. Flag any source where inquiry volume is high but showing conversion is bottom of the set, with the line [Source] produced [n] inquiries and [m] showings this month - check listing accuracy before renewing.

Exit: none. These run continuously.

05

What changes

The first and largest change is that response time stops depending on staffing. Saturday evening inquiries get the same one-minute reply as Tuesday morning inquiries, which means the portal spend the client is already making starts converting at the rate the listing deserves rather than the rate the rota allows.

The second change is that showings get shorter and better. Every prospect who walks through the door has already said how many bedrooms they need, when they are moving, what pets they have and whether they meet the stated income multiple. The agent is not doing discovery on a doorstep, so a twenty-minute slot is enough and the day fits more of them.

The third change is that the handling becomes consistent, which matters more in leasing than in almost any other sales process. Every prospect gets the same questions in the same order from the same script, every answer is written to a field, and every conversation is logged. That consistency is operationally useful and it is also the record the client would want to have if their process were ever questioned.

Metrics to watch

  • Median response time in minutes, split by channel and by in-hours versus after-hours. The after-hours figure is the clearest measure of what the build added.
  • Inquiry to showing booked rate, by inquiry_source
  • Showing attendance rate and no-show rate, before and after the two-stage reminder chain
  • Showing to application sent to application submitted - the submitted rate is where the chase workflow earns its place
  • Application to lease rate
  • Median days on market per unit and per building, and the count of units past the client threshold
  • Showings per lease - pre-qualification should push this down, and it is the cleanest proxy for agent time saved
  • Pre-qualification outcome split - pass, redirect, needs human review - and how long review items sit before a human touches them
  • Lost reason distribution, watched for drift. A rise in price or timing reasons is a listing problem, not an automation problem.
  • Waitlist conversion - leases that came from a re-match rather than a fresh inquiry, which is pure recovered revenue
06

Before you start

Decisions and data to have ready

  • The written tenant selection criteria. The income multiple, employment requirements, credit and background standards, occupancy standard per bedroom count, and pet policy per building. These must exist as a written document applied uniformly before any pre-qualification is automated. If the criteria only live in a manager head, the automation will apply them inconsistently and that is the real risk.
  • A clean unit list. Every field in the unit record populated for every live unit. BO answers from this record and nothing else, so a blank pets_policy becomes a conversation BO has to hand off.
  • Business hours, agent rota and showing capacity. How many showings an agent can genuinely do per day, and the travel buffer their geography requires.
  • Who owns escalations. A named person for prequal-review items, accommodation requests and anything flagged as a complaint, with a response commitment in business hours.

Integrations

  • Google Calendar or Microsoft 365 connected for every leasing agent, two-way sync on, so personal appointments block showing slots.
  • Listing portal lead delivery pointed at a parsed inbox address, with one test lead per portal verified end to end before launch. Portals change their email formats without notice, which is why the response time watchdog in workflow 8 exists.
  • The client tenant screening and application provider, ideally with a webhook so application_status updates without manual entry. Zapier or Make covers providers without a native connection.
  • Electronic signature for leases - DocuSign, Dropbox Sign or the provider the client already uses.
  • Property management software, if the client runs one, so leased units flip status in both systems. Decide which system is the source of truth for availability before you build; two sources of truth will produce showings for leased units.
  • Smart lock provider, only if self-guided showings are in scope.

Numbers and messaging compliance

  • Provision one leasing number with voice and SMS. Do not reuse a personal mobile; the conversation record needs to belong to the business.
  • Complete A2P 10DLC brand and campaign registration before launch, with sample messages matching the real copy including opt-out language. Leasing SMS volume is high and spiky, so unregistered traffic gets filtered quickly.
  • Opt-out language in the first message of every sequence. Honor STOP, UNSUBSCRIBE, CANCEL, END and QUIT automatically, set optout-sms, and make that tag a hard suppression on every workflow including reminders. An opted-out prospect with a booked showing should still get the email reminder and no texts.
  • Quiet hours set against the prospect time zone. Permit a narrow exception for same-day showing reminders only if the client is comfortable with it, and nothing else.
  • Authenticate the sending domain with SPF, DKIM and DMARC. Application links that land in spam are indistinguishable from prospects who changed their mind.
  • Record call recording consent according to the states the client operates in, and set the greeting accordingly.

Fair housing and data protection

  • Fair housing law applies to every automated message exactly as it applies to a human agent. Before launch, have the client own counsel review the pre-qualification question set, the BO guardrail list, every template in the build and the unit descriptions. Pay particular attention to the occupancy standard, the income multiple, source-of-income rules where the client operates, and any state or local protected classes beyond the federal set. This guide describes a mechanism; it is not legal advice and it is not a substitute for that review.
  • Lock the templates after review so no one can edit a message that counsel has approved without re-approval. Put the approved question set in a document referenced by the BO prompt rather than retyped into it.
  • Keep the conversation and field history. A complete, consistent record of what every prospect was asked and told is the client best evidence of uniform treatment.
  • Prospect records hold identity and financial information. Confirm with counsel which data-protection regime applies, agree a retention period for unsuccessful applicants, restrict pipeline visibility by user role, and remove access for departing staff the same day.
  • Never store a screening report, credit file or background result in the platform unless counsel has confirmed it is appropriate. Keep those in the screening provider and reference the outcome only.
  • Scope and pricing for this build depend on portfolio size, number of portals and whether self-guided showings are included. Book a call at bookings.appbo.io.
Field notes

Build it with us.

Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.

Book a call