Changelog
All notable changes to Rentalot are documented here.
[Unreleased]
Fixed
- When conversations, events, workflows, contacts, properties, or email and calendar connections can’t load, the dashboard now says so and offers Retry, keeping anything already shown, instead of looking empty or loading forever.
- Deleting several contacts or properties now tells you how many were deleted and how many failed, and keeps the failed ones selected. Deleting a single contact or property only leaves its page once the delete has actually succeeded.
- Saving an event, editing or sending a draft, and pausing, resuming, or cancelling a workflow run now show a plain-language error if it fails, and keep what you typed.
- Connecting Google Calendar, Gmail, or Microsoft 365 now shows a clear message if the connection can’t start or is declined, explaining how to fix it. The message stays until you dismiss it, even after a refresh.
- Deleting a draft, stopping a contact’s follow-ups, and cancelling a workflow run now ask you to confirm first.
- The week calendar now shows every event, adding earlier or later hours when needed and an “All day” row for all-day events, instead of hiding events outside 8am–8pm.
- On phones, tapping a day in the month calendar now lists that day’s events with times, property, and contact. The calendar toolbar no longer overflows narrow screens.
- Contact, property, and workflow names are now real links, so you can reach them with the keyboard and open them in a new tab.
- Long message previews in the conversations list now end with ”…” instead of being cut off.
- Properties without photos show a small “No photos” strip with an “Add photos” link instead of a large empty box.
- Icon-only buttons and the collapsed sidebar now have names for screen readers, and dashboard controls are easier to tap on phones.
- If a dashboard page hits an error, you now stay in the dashboard with Retry and Back to overview, instead of landing on a site-wide error page.
- In assistant chat, notes about actions you confirmed or kept now show as a small “updates for AI” label next to the model picker, with details on hover, instead of a large box that covered the conversation.
- Your properties list now shows the newest properties first, so a property you just added appears at the top instead of at the end.
- When a property is created with photo links through the API, or the assistant starts a photo import, and the photo import can’t be started, you now get the property as created with a note that the photos weren’t imported, instead of an “Action failed” error for a property that was actually saved.
- When several WhatsApp messages arrive together, the assistant now reads and answers all of them instead of only the first.
- If sending an AI reply fails because of a temporary channel error, Rentalot now retries it without ever sending the same reply twice.
- Imported property photos are checked by their actual file contents, so a web page or other file disguised as an image is rejected instead of stored.
- Photo imports from a link now check every redirect before following it and connect only to the address that was verified, so an import can never reach an internal network address.
- Every voice pre-screening question is asked in Spanish, Chinese, or Hebrew when you choose that language. Before, questions after the first few, such as whether you have pets or where you want to live, were asked in English.
- The email field in Hebrew and Spanish pre-screening shows a real example address (email@example.com) instead of a translated one, and in Hebrew you now type the address left to right.
- Voice pre-screening now waits while you say your phone number digit by digit, even if you pause between groups of digits, instead of cutting you off and asking the question again. If the number stays incomplete, it asks for all 10 digits in your language.
- While you say your phone number in voice pre-screening, the digits you already said stay on screen instead of being replaced by the newest ones. If you say too many digits, it tells you right away in your language and asks for the number again.
- The typed phone field in pre-screening stops at a 10-digit US number (11 with a leading 1), including when you paste or autofill a longer number.
- Email addresses spoken in Hebrew, Spanish, or Chinese voice pre-screening are written in English letters (for example, “שטרודל” or “arroba” becomes @). If the address still isn’t in English letters, you’re asked to spell it in English.
- In Hebrew voice pre-screening, the phone number you’re saying now shows left to right in the order you said it, instead of reversed.
- Voice pre-screening no longer cuts you off or loses digits while you’re still saying your phone number slowly. It waits until you’ve been silent for 5 seconds, and words from before a retry no longer leak into the next attempt.
- In Spanish, Chinese, and Hebrew voice pre-screening, the email question listens in English and shows a hint asking you to say your email in English. The other questions still use your language.
- Spoken answers in voice pre-screening are checked again instead of failing with “Could not validate answer” after a long wait, and each answer is checked faster.
- Voice pre-screening accepts a monthly income of zero, for example from students.
- When a spoken choice doesn’t match any option, voice pre-screening in Spanish, Chinese, and Hebrew now shows the message in the caller’s language instead of English.
- Changing the language from the footer on an agent’s public profile page now switches the page to that language instead of leaving it unchanged or showing “page not found”.
- Voice pre-screening in Spanish, Chinese, and Hebrew now understands callers in their own language instead of transcribing them as English, and speaks its questions with voices built for that language. Voice pre-screening no longer depends on ElevenLabs.
- Links to the removed RentalAI comparison now go to the comparisons page, and use-case or audience pages for features that aren’t available yet (email management, follow-up automation, WhatsApp and Telegram bots, vacation rentals) go to the matching overview page instead of showing “page not found”. Those pages come back automatically when the feature ships.
- The AI-readable site summaries at /llms.txt and /llms-full.txt load again instead of returning “page not found”, and every other file at the site root is served too.
- Spanish, Chinese, and Hebrew pages now declare their own language to browsers and screen readers, and Hebrew pages render right-to-left.
- The translated homepage headline no longer mixes in English, and its rotating words now refer to tenant screening rather than film screenings.
- Search results and link previews for translated homepage, pricing, about, and contact pages now show titles and descriptions in that language.
- Spanish, Chinese, and Hebrew URLs for the English-only privacy policy and terms of service are no longer offered to search engines as translations; they point to the English pages instead.
- Checking “Send me product updates and tips” at signup now actually saves your choice; before, it was silently dropped.
- The rotating homepage headline no longer runs off the screen on phones in Chinese and Hebrew, and the feature labels below it are translated.
- The homepage, pricing, comparison, use-case, and audience pages no longer advertise WhatsApp/Telegram replies, automatic follow-ups, email auto-send, phone calls, or lead scoring before those features are available; the copy returns automatically when each feature ships.
- Comparison pages now use sourced, dated competitor facts (including current Buildium pricing and EliseAI’s voice agent), and the unverifiable RentalAI comparison was removed.
- The dashboard setup checklist now shows a clear error with a Retry button when it can’t load, instead of an empty card.
- Free trial accounts now see a Starter+ badge and an upgrade link for email and calendar setup instead of a connect action that fails.
- The Events empty state now asks you to connect a calendar, matching where its button leads, and the Conversations empty state no longer promises messaging channels that are not available yet.
- The dashboard tour now skips steps whose targets are hidden on small screens and no longer promises automatic AI replies where they are not available.
- Fixed the sitemap failing to load, so search engines can discover all public pages and guides again
- Connecting Gmail, Microsoft 365, or Google Calendar in Settings now shows a toast confirming success or explaining the failure, so the result is visible without scrolling.
- Simplified the listings header by removing the visible page title, aligning location search to the desktop edge, and giving roomy homepage navigation clearer outlined links.
- Aligned homepage navigation, rental listings, and account controls on one row at laptop widths.
- Rental price and home-size filters now use large minus and plus controls for easier adjustment.
- Fixed public directory failures caused by unencoded timestamp parameters.
- Kept the interactive tour accessible by direct URL without homepage, footer, or sitemap links.
- Phone screen no longer dims or locks during a voice pre-screening — the page now holds a screen wake lock for the full session and re-acquires it when you return from the home screen
- Voice pre-screening now recovers cleanly when your phone hands audio off mid-session — connect to a car bluetooth, unplug headphones, or pick up a call, and a prominent “Reconnect mic” prompt appears with a voice announcement and lets you switch inputs without losing progress
- Fixed voice screening not hearing responses during confirmation step
- Fixed incorrect follow-up messages sent after prospects completed pre-screening
- You now get a dashboard notification when a prospect completes pre-screening
- Fixed duplicate entries in dashboard activity feed
- Dashboard activity feed now shows correct timestamps for showings and submissions
- Fix mobile chat input visibility — use dvh instead of vh for dashboard layout
- Notification bell badge not clearing after marking all as read — batch read API was silently failing due to incorrect SQL array binding
- Notification popover text overflowing outside the dropdown on desktop
- Notification badge count not updating in real-time when items marked as read via viewport scroll — SWR mutations were writing to wrong cache (global vs provider-scoped)
- Landing page header layout shift on first load — auth buttons now render instantly using server-side session cookie hint, no loading flash
- Dashboard header layout shift — notification bell and user avatar no longer pop in after hydration
- Login no longer hangs after entering credentials — redirect now handled server-side
- Voice pre-screening now works on more browsers — Firefox mobile no longer crashes on audio constraints, and incompatible browsers show a clear message suggesting Chrome, Safari, or Edge instead of silently failing
- Management chat timezone detection — browser timezone auto-detected and saved when user hasn’t configured one, preventing wrong-day event scheduling
- Management chat now shows an error message with retry button when AI response fails or times out — previously showed an empty response with no way to recover
- Cancel event cards in management chat now show Confirm/Keep buttons instead of a static preview
- Fix public prescreening pages failing for new accounts — pages now default to enabled
- Cleaned up optional onboarding setup actions so email and calendar each use one clear setup button.
- Removed broken and stale links from the llms.txt docs index.
- Fixed text-only public prescreening stale-session errors so problem-detail 422 responses reset the form instead of showing generic server validation failure.
- Preserve shared-link internal notes when pre-screening reuses or merges an existing contact.
- Release prescreening voice microphone and suppress benign Scribe disconnect errors after submission.
- Suppress benign Scribe 1006 console errors during prescreening voice completion.
- Sitemap no longer emits trailing-slash locale homepages (/es/, /zh/, /he/) that caused Google Search Console ‘Pages with redirect’ warnings
- Localized variants of /for/, /compare/, and /use-cases/* (whose content is English-only) now correctly noindex with an English canonical, preventing Google Search Console ‘Alternate page with proper canonical tag’ false positives
- Offset the process-followups cron from minute 0 to avoid cold Neon connection timeouts.
- Deepgram Simple Voice startup now reports provider credential failures without a generic 500, authenticates browser WebSocket sessions with the temporary Deepgram token, and exposes a dev-only STT provider switch in the prescreening UI.
- Voice credit score answers like ‘two hundred’ now route through range validation instead of being mistaken for ordinal option choices.
- Deepgram Flux prescreening voice now shows live transcript text while the prospect is speaking instead of only after the turn commits
- Reduced voice validation LLM calls by reusing deterministic yes/no parsing before fallback validation and preserving numeric range answers like 11-50.
- Custom workflow submissions now appear on workflow detail recent runs, contact submissions, and the workflows dashboard instead of being hidden when saved as public chat sessions.
- Fixed voice agent speaking the goodbye message twice
- Fixed voice agent audio cutting off before the completion screen
- Fixed voice agent adding unnecessary phrases after goodbye
- Fixed voice completion screen not showing confirmation code
- Fixed voice agent getting interrupted by background noise
- Fixed voice agent repeating already-answered questions
- Fixed voice screening sessions not saving on some devices
- Voice screening completion now sends email notifications to agents
- Robots.txt no longer blocks public auth-related paths from crawler review while keeping private dashboard, API, dev, and dotenv probe paths disallowed.
- Reduced Sentry noise from bot probes and expected voice browser/Scribe states: unknown single-segment probes now 404 before localized SSR, metadata defaults safely when route params are absent, and public voice flows filter recoverable permission/disconnect errors.
- Fixed dashboard property creation when optional fields are left blank or photos are added before saving.
- Fixed workflow saves failing when multiple edits are submitted at nearly the same time.
- Improved save errors so actionable issues are explained while internal failures stay private.
- Voice sessions now fall back cleanly when the speech provider is temporarily unavailable.
- Add Property now uses separate street, city, state, and ZIP fields in production.
- Management chat now continues from entity lookup to the requested write-tool confirmation card instead of asking for a second text confirmation
- Property forms now show a clear non-green status when browser draft autosave is turned off.
- Fixed excessive scrolling on the new property page so dashboard navigation stays stable and the form stops at its actual bottom.
- Kept property forms responsive while browser-local draft autosave runs in the background.
- Made Utilities Included easy to enter as separate removable values with common suggestions and custom Enter-to-add support.
- Made private property drafts title-only and improved failed saves with inline field highlighting, focus, scrolling, and toast feedback.
- AI property autofill now captures listing titles, public descriptions, and all explicitly stated safe property details from pasted text or HTML.
- Public property interest forms now prefill the signed-in visitor without mixing personalized-link identities, keep selections while filtering, and accept shortlists larger than twenty properties.
- Phone fields now format US numbers as you type without truncating international numbers, and public call buttons show readable phone numbers.
- Settings public profile URLs can open in a new tab, and compact numeric stepper buttons align with their inputs.
- Improved rental discovery with homepage listings links, visible approximate location autofill, concise pet filters, and inline price range errors.
- Restored desktop header navigation and account actions while keeping rental listings accessible with a motion-safe house icon.
- Restored the listing inquiry button label across all supported languages.
- Fixed malformed localized property and contact counts and the Hebrew show-more label.
- Map drawing and Remove outline buttons stay readable over map tiles in dark mode.
- Adding a region now recenters the map on the newest city when the first selected city has no pins, even if the new city is also empty.
- Public listing filters and result controls use less mobile space while keeping room and layout choices in More filters.
- Public property cards no longer expose customer account or assistant persona names as advertiser attribution.
- Property listing pages now have a prominent Back to listings button above the photos.
- Public rental pages now include search, Listings navigation and a nonblocking sign-in or dashboard action.
- Listing contact panels now follow desktop scrolling below the gallery, while rent, beds, baths and size share one compact summary row.
- Public property maps now retry a transiently aborted lazy chunk so Show map works without a page refresh.
- Compact listing inquiry forms keep the send button visible when viewing the desktop contact rail, and summary facts restore icons with inline monthly pricing.
- Listing summary icons sit beside their values, with mirrored Hebrew alignment and inline monthly rent.
- Public rental filter controls now stay on one compact row on narrow screens.
- Price filter dialogs now show a clear loading message while the rent chart is being fetched.
- Property maps use smaller pins with compact price/title hover labels, keep pins visible during faster zoom refreshes, and omit decorative outlines and the extra privacy paragraph.
- Property interest pages use compact selection instructions, and blast links share the public property search and layout controls.
- Keep property visibility controls stationary and show public rented listings as unavailable instead of a missing page.
- Improved public listing sharing with a readable icon-only trigger and cleaner title, description, and link copy for social and email shares.
- Improved public listing share icon contrast so the gallery overlay remains readable in light and dark themes.
- Property maps recover failed or stalled initial tile loads, show a static loading indicator, and keep passive status text off the map.
- Public property maps now recover from partial tile failures without losing map state.
- Load map tiles when navigating to listings from the homepage without requiring a browser refresh.
- Fixed trial API rate limiting when PostgreSQL timestamp expressions were bound through Drizzle.
- Telegram messages from different prospects are no longer silently dropped as duplicates when they share a message number
- WhatsApp button and list replies now reach workflows, and workflow choice questions show native WhatsApp buttons
- Messages sent to Telegram contacts from the API, drafts and management chat are now delivered (the contact’s chat ID was never found before)
- WhatsApp messages from people who use a WhatsApp username instead of sharing their phone number are no longer dropped — Rentalot now recognizes, replies to, and follows up with them, and keeps them matched to the same contact when their WhatsApp ID or number changes
- After signing out and signing in as a different account in the same browser, the dashboard no longer briefly shows the previous account’s cached data. Each account now has its own saved dashboard data, which is cleared when you sign in or out.
- Corrupted or cut-off photos are now rejected with the message “Image could not be decoded” and removed, instead of causing an error. Photo imports from links no longer get stuck in “processing” when something goes wrong.
- Importing photos from a link now times out when the site’s address can’t be looked up, instead of hanging.
- Telegram messages that Telegram refuses, for example because the person blocked the bot, are no longer retried again and again.
- When a photo is rejected on a property you’re editing, the uploader now shows why.
- The AI assistant no longer describes tools that aren’t available on your plan.
- Confirming a screening decision or a bulk property import twice no longer runs it twice.
- Listing packets now show the correct rent and security deposit amounts.
- Fixed the Settings page crashing on the Integrations tab after opening a property’s share links.
- Property descriptions no longer accept phone numbers, email addresses, or website links; imports remove them so prospects use the listing contact form.
- Setup checklist now counts a property as ready only when it’s public, available, and has the details prospects see. A private draft shows a ‘Publish your property’ step, and the collapsed checklist shows your next step with a button to do it.
- After you add a property, you now see what to do next (publish it, publish your screening link, or preview it) and your setup progress, instead of landing on the property page with no guidance.
- The add-property form starts with just the essentials. Description, photos, amenities, lease terms, and notes are under ‘Add more details’, and on phones the autosave status is visible.
- Email verification now tells you when resending the link fails, lets you resend again after a 60-second countdown, and links back to sign up if you used the wrong email. Sign in now offers a resend link when your email isn’t verified yet.
- The overview’s response rate now counts conversations where a prospect wrote and got a reply, and shows ’—’ instead of 0% when no prospect has written in the last 30 days.
- Usage costs on the overview show as normal currency (for example $0.00, or “under $0.01” for tiny amounts) instead of $0.000000. Voice minute cards sit in a grid with the other stats, and phones show two stat cards per row.
- If an overview section fails to load, it now shows an error with a Retry button instead of zeros or ‘No recent activity’. A new account sees a short guide with a button to get started instead of an empty activity list.
- On phones, the dashboard header no longer cuts off your account menu. Documentation, feedback, listings, and theme moved into a ‘More actions’ menu, and header buttons are easier to tap.
- Copying your prospect link now says ‘Copied’ only after the link was actually copied.
- Rental listings search now accepts street addresses and keywords: press Enter or the new Search button to search what you typed (for example a full address with unit), shown as a removable chip next to your locations, with a loading indicator while results update.
- Listings search: Escape now closes the search menu, you can type straight into the search bar after adding a filter, and new keywords add to your existing ones instead of replacing them.
- Listings search: pressing Enter now searches what you typed as a keyword instead of picking a matching city you didn’t select. Pick a city by clicking it or highlighting it with the arrow keys and pressing Enter or Tab.
- Assistant chat no longer loses your question or a partial answer when you stop a reply or it fails; a small ‘Saving…’ / ‘Not saved’ label with Retry shows when a chat couldn’t be saved.
- On assistant chat confirmation cards, Keep is locked while a confirmed action is applying, errors keep the preview with a plain-language explanation, and Try again really retries.
- Fixed a crash that could break the dashboard and AI assistant pages after switching accounts or when your session expired.
- Messaging channel cards are easier to read: the status badge sits next to the channel name and the description uses the full card width. The Sent card is now titled ‘Sent.dm’.
- Follow-up, showing, and calendar event cards in the dashboard assistant now show times in your account time zone (with the zone label), matching the assistant’s reply instead of your browser’s zone.
- The assistant’s answers about Rentalot now draw on every help page, including contacts, conversations, follow-ups, email, slash commands, property import, and the MCP server and CLI, and the assistant help page now covers memory, photos, pre-screening review, follow-ups, and which changes ask you to confirm.
Changed
- The dashboard sidebar is grouped into Leasing, Automation, and Account sections.
- Conversations now has a search box, shows how many conversations you have, and keeps the open conversation, channel, and search in the page address so refresh and Back work.
- Workflow runs now have Active and History views. (In development) Follow-ups show a total count, pages, and a status filter.
- In the contact menu, Email and Call come first; JSON copy and download moved into an Export submenu.
- The Terms of Service now say who is responsible for property photos: you confirm you own or have permission to use every photo you upload or import, Rentalot may show your listings and photos on public listing pages and the channels you turn on, and a new section explains that importing a listing from another website happens at your direction and only for listings you own, manage, or may advertise.
- The optional Claude Sonnet model in management chat is now Claude Sonnet 5.5, at the same price as Sonnet 5.
- The homepage sections below the headline are sharper and match what Rentalot does today. “How it works” now reads paste your listing, renters pre-screen and book, you decide. The chat section shows a real exchange with a confirmation before anything changes. The developer section is now “Bring your own AI” (Claude and ChatGPT via MCP, the CLI, and the REST API), with plan access pulled from the current plans. The trial length on pricing and the closing call to action always matches the current plan, and the duplicate workflow grid was removed. Available in all four languages.
- The homepage and pricing page now introduce Rentalot as the AI agent for leasing agents. A new lifecycle section shows what works today (listing, voice or text pre-screening, showings, plain-English management, and your own AI tools) and marks replies and follow-ups, phone calls, and listing-site posting as coming soon. The homepage preview shows pre-screen results instead of an email auto-reply, and plan descriptions now match how many vacancies you handle. Available in all four languages.
- The homepage headline now reads “Pre-screen rental prospects and schedule showings from one link”, sign-up buttons say “Start free trial”, and the dashboard preview is labelled as sample data.
- Sign-up now states the trial terms up front and makes product-update emails an optional, unchecked opt-in.
- Pricing adds a “Will I be charged after the trial?” answer, marks Pro as Recommended instead of Most Popular, and shows a swipe hint on mobile comparison tables.
- The setup checklist’s Add property button now opens the new-property form directly, and a published prospect link can be opened in a new tab to test it, with a guide link on how it works.
- Dashboard tour text is now translated, and checklist icon buttons have larger touch targets on mobile.
- Refreshed the help docs so they match what’s available today, with a step-by-step Getting Started guide, task shortcuts on the docs home page, dashboard screenshots, corrected slash commands and Settings tabs, and clear coming-soon notes for features still in development.
- Open signup — anyone can now create an account without an invite
- Notification items use minimal dot indicator instead of icon circles for cleaner, more compact layout
- ‘Mark all read’ button always reserves space in notification header to prevent layout shift
- Update privacy policy: add AI sub-processor disclosure (ElevenLabs, OpenAI, Cloudflare R2, Neon), 55-day Google data retention notice, 30-day sub-processor change notification, and DPIA reference
- Update privacy policy: clarify that communication content MAY be processed by AI (not always)
- Update terms and privacy page dates to March 15, 2026
- Properties created via API or bulk import remain public by default unless visibility is specified; the dashboard New Property page now starts private
- Image carousel arrows use full-height edge hit zones (15% of image width) for easier tapping on mobile, with hover highlight and nudge animation on desktop
- Rename ‘Public Chat Enabled’ setting to ‘Public Prescreening’ for clarity
- Redesign onboarding checklist — inline actions (prescreening toggle, OAuth connect buttons), drop auto-completed steps, mark email/calendar as optional
- Voice screening now handles multi-select questions correctly — selecting multiple options (e.g. communication channels) no longer silently collapses to a single choice
- Voice screening name/company extraction is now driven by preset metadata instead of question-text heuristics, so custom questions with the word ‘name’ in them (e.g. ‘What is your pet’s name?’) no longer misfire into person-name normalization
- Simplified dashboard onboarding around the core prospect-link setup path, with email and calendar moved to optional next steps.
- Video quality checks now distinguish sparse narrative copy from dense chat/UI scene text, treating declared UI text density as review guidance instead of a render-blocking error
- Increased Simple Voice playback volume range so quieter TTS voices can be boosted above 100%.
- Settings page simplified from 9 tabs to 7 — Profile, Follow-ups, and Notifications merged into General
- Phone number field now auto-formats and shows numeric keyboard on mobile
- Save button stays visible at the bottom of the screen on long settings pages
- Email filter shows a setup prompt when email isn’t connected yet
- Contact names in conversation headers now link to their detail page
- Free-trial properties can now include up to 20 photos.
- Made number fields easier to adjust with large minus and plus buttons, and moved property draft autosave into a compact header control.
- Management chat now defaults to Gemini 3.8 Flash with the validated low-thinking configuration
- Property creation now uses a dedicated page with browser-local draft restoration and visible saving and saved status.
- Added clear help tooltips for Listing URL and Private Notes in the property form.
- Improved the new-property form with persistent draft status, a confirmed clear action, and explicit Public or Private listing visibility beside Save.
- Dashboard New Property pages now start private, with a compact visibility control and slimmer bottom action bar.
- Simplified rental browsing with compact filter dialogs and two-column property cards.
- Rental browsing now shows only listings with public photos, offers Recommended, price, beds, baths, size and date sorts, and groups supported amenities into icon filters with home-size bounds.
- Public profiles share the listings directory’s filter dialogs and location search, including beds and baths, amenities, and selected-region chips.
- Map drawing controls now sit on the map, apply completed outlines automatically, and show Remove outline only when an area is selected.
- Use a refresh icon with an accessible tooltip for public directory filter resets
- Public rental listings now put photos first, with wider layouts, clearer property facts and a responsive contact sidebar.
- Rental listing pages now show a wider, shorter gallery above key facts, categorized amenity icons and policies, and compact nearby rental cards.
- Clarified the rental listings filter toolbar with a concise Type control beside Filters
- Listings now opens a widely resizable split view with a stationary map beside independently scrolling properties.
- Listing photo galleries now use a taller five-photo mosaic, larger lightbox navigation zones, and summary facts above the title.
- Questionnaire property context now uses a compact listing link
- Public rental directories now include eligible photo-less customer listings with placeholders and show exact page-over-total counts with accessible top and bottom paging.
- Released the bounded Free Trial API for production use while preserving account-wide quotas, private image-free property/contact scope, and Starter read-only behavior.
- The API docs no longer list HEIC as an accepted photo type. Upload JPEG, PNG, or WebP.
- Approvals is now a split inbox: pick an item on the left to see its details on the right, triage screenings with keyboard shortcuts (j/k to move, a to approve, d to deny, o to open, u to undo). The undo option appears for a few seconds beside the action buttons instead of in a corner pop-up.
- The homepage demo video is a new, shorter 57-second tour: voice pre-screening, the application email you receive, AI scheduling and public listings.
- Fullscreen listing photos now show a strip of thumbnails along the bottom so renters can jump straight to any photo, on desktop and mobile.
- In the fullscreen photo viewer, scrolling the mouse wheel over the photo moves to the next or previous photo, and scrolling over the thumbnail strip scrolls through the thumbnails.
- Listings imported from your PadLeads feed now get readable descriptions, split into short paragraphs with labeled sections instead of one long block of text.
- AI features (listing copy, fair-housing review, message screening, web extraction) now use Gemini 3.8 Flash instead of the older Gemini 3 Flash preview.
- Assistant chat history is grouped by Today, Yesterday, Previous 7 days and Older; deleting a chat asks first, and a chat that can’t load shows Retry instead of opening a blank chat.
- Approvals open the exact confirmation card in its chat with a Back to approvals link, and Approve/Deny wait until the screening details have loaded.
- Assistant chat keeps what you were typing per chat, keeps the message box on screen on phones, and describes tool steps in plain words (for example ‘Checking comparable rents…’) with raw details behind a toggle.
- New rentalot.ai logo: a cleaner lowercase wordmark with an emerald .ai, plus a matching “r.” app icon, across the site, dashboard, emails, and social share images.
- The product demo video on the homepage now shows the new rentalot.ai logo.
- Light mode now uses a softer, warm paper-white background instead of pure white.
- AI replies now fail over to backup hosting and to models from other AI vendors when the primary model is down or rate limited.
- The free trial includes $1 of AI usage in total across chat, voice and tools; paid plans have a monthly AI usage budget equal to the plan price, shown on the billing page.
Added
- On the free trial, the management chat model picker now shows Claude Sonnet 5.5 with a crown. Choosing it opens your plan options on the billing page instead of switching models.
- (In development) When the assistant builds a property from a listing link, the confirmation card shows the listing’s photos as small previews with a checkbox on each, so you import only the photos you pick. Previews load through Rentalot and are safety-checked first, so your browser never contacts the listing’s image site. An Edit button opens the full property form with everything filled in, and after creating, the card links straight to the new property and shows any photo-import problem.
- (In development) Importing a property from a listing link now reads the site’s own listing data directly instead of relying only on AI, so rent, bedrooms, bathrooms, size and address come through exactly as the site states them. AI fills only what the site leaves out, and the confirmation card says which was used. Sale listings, price ranges, non-monthly prices and other currencies are never turned into rent.
- (In development) The assistant refuses to read link shorteners, paste sites, tunnels, request-capture services, bare IP addresses and lookalikes of known listing sites (such as zi11ow.com), including when a page redirects to one. Imports from sites that aren’t a known listing platform show a reminder to check every detail.
- (In development) The AI assistant can research the web for you on Pro and Scale. It can search, read pages you share, turn a listing link into a new property (with its photos, after you confirm), and pull rent comparables from your own portfolio, stored market data, and cited web results. Web content is treated as untrusted: the assistant only sees a checked summary, can only open links you or its own search provided, and cannot make changes without your confirmation once web content is in the conversation.
- The AI assistant can import, list, reorder, and delete property photos, review pre-screening results (you approve or deny), import properties from pasted spreadsheet rows, write listing descriptions from your saved property details, and check listing text for fair-housing risks (advisory, not legal advice).
- (In development) Quick bursts of messages from a renter get one combined reply after a short pause instead of one reply per message, and the renter-facing assistant answers with one AI call per message instead of two.
- The homepage headline now has a short product demo video you can click to play, with English captions. The animated dashboard preview moved down into “How it works”.
- The homepage now has a short FAQ answering common agent questions (who decides on renters, which channels it replies on, whether renters need an account, using it from ChatGPT or Claude, and cost), also published as structured data so search engines can show the answers.
- (In development) Free trials earn a one-time 7-day extension when you publish your first public listing or a prospect completes your first public pre-screening. After a trial ends, public listings stay visible for 30 more days while pre-screening and AI replies stay paused. Trial emails now come from Ariel, reply to founders@rentalot.ai, and follow your current trial end date.
- Added Rentalot vs Zillow Rental Manager and Rentalot vs Hemlane comparisons, and every comparison page now has a summary, honest best-fit sections, FAQs, and source dates.
- In development: Free Trial AI agents using the API, MCP server, or CLI can publish properties and edit or remove public ones, within the same trial property limit, write quotas, and no-image rules. Listings go live through the same publishing checks and listing cycle as the dashboard.
- Added 4 leasing guides on setting rent, choosing where to list a rental, rental showing safety, and running rental open houses
- Added 10 practical leasing guides covering AI assistant pricing and evaluation, pre-screening boundaries and questionnaires, after-hours inquiries, application recovery, CRM stages, inquiry forms, listing data quality, and API integrations
- Management chat can now author custom workflows — describe the flow in plain English (“collect name, phone, move-in date, ask about pets with a follow-up for how many”) and a preview card appears with Save and Discard buttons. Common questions (name, email, phone, etc.) are matched against the preset library so they get smart voice-extraction handling automatically. Workflow name is editable on the card before AND after save, public/private toggle defaults to public, and once saved the card shows the shareable URL with copy/language pills plus a link to the dashboard for further edits.
- Property blast page (/p/[slug]/blast) — public page where prospects browse all available properties, select what interests them, fill in their contact info, and submit. Agent receives an email notification with selected properties. Toggle enabled in Settings → Public Pages.
- Knowledge base search — management chat and public chat agent can now answer product questions (pricing, features, how-tos) by searching documentation
- Public Chat Agent customization — custom welcome message and starter suggestions configurable in Settings → Public Pages → Chat Agent
- “Chat with [agentName]” CTA button on agent profile page (/p/[slug]) linking to AI chat when public chat is enabled
- SEO landing pages for audiences, competitors, and use-cases with structured data
- “Call Human” button on public pages — phone number revealed after bot verification, configurable via Settings
- Onboarding step for enabling phone calls — asks during setup, links to Settings, skippable
- Collapsible onboarding checklist — always visible after completion, collapses to a compact bar, shows inline success banner when core steps are done; removed redundant “explore workflows” step and moved email before calendar in ordering
- Workflow management API — create, update, and delete workflow templates via the REST API
- Settings API — read and update agent preferences, email settings, and follow-up templates via the REST API
- Follow-up message templates — define your own per-step templates with placeholder interpolation for faster, consistent follow-ups
- Returning visitor recognition — auto pre-fill known fields when email or phone matches an existing contact
- Email notification toggles — new inquiry, showing booked, follow-up due (Settings → General → Notifications)
- Showing availability rules — buffer between showings (15/30/60 min) and max showings per day (1-20) in Settings → Scheduling
- Calendar selection for showings — pick which Google Calendar to create showings in (Settings → Integrations)
- Draft card inline editing — subject and body are now editable before sending
- Draft card shows recipient (“To: …”) above subject
- Email channel filter in Conversations view
- Full email client UI in Conversations — subject header, formatted body, contact card, and direct link to Gmail/Outlook
- Reply to emails directly from the Conversations dashboard
- Automated follow-up nudges — remind idle prospects, send showing reminders, follow up after showings, and re-engage cold leads
- Send Nudge dialog on contact detail page — pick a nudge type, preview the message, and send via email
- Nudge settings — per-type enable/disable toggles and delay configuration
- Send follow-up nudges directly from the management chat
- Settings search bar — fuzzy search across all 7 tabs (⌘K to focus), click result to jump directly to the setting with highlight animation
- Multi-select and bulk delete for properties and contacts on the dashboard. Select mode lets you tap cards to select them, then delete with a single confirmation. Property detail page also gains a Delete button.
- Onboarding reminder emails — up to 3 personalized setup reminders for new users
- Expanded SEO content pages — 10 competitor comparisons (added Showdigs, Leasey.AI, RentalAI, Conduit, Super), 10 use cases (added follow-up automation, lead qualification, WhatsApp bot, Telegram bot), 6 audience pages (added real estate investors, student housing, vacation rentals), and new hub page at /for. Compare link added to header navigation.
- Contacts now have a language preference field — auto-detected from pre-screening locale, editable in the dashboard, shown as flag badge on contact cards
- Property Import Guide — dedicated Nextra docs page with step-by-step export instructions for Zillow, AppFolio, Buildium, Rent Manager, Propertyware, plus generic CSV template and image import guide
- In-app notification preferences — control which notifications appear in the bell from Settings → Notifications
- Unreviewed application reminder — opt-in notification that emails the agent when a completed pre-screening hasn’t been reviewed (configurable delay, off by default)
- Tooltips on all dashboard header buttons (docs, feedback, theme toggle, notifications)
- Notifications auto-mark as read when scrolled into viewport — batch API with debounced flush
- Internal DPIA document for AI communication processing (docs/legal/dpia-ai-processing.md)
- Server-side pagination for properties and contacts — users with 1K+ records can now page through all results
- Settings page fully translated — all tabs, labels, help text, and search now update when switching languages (English, Spanish, Chinese, Hebrew)
- Generic event creation in management chat — schedule calls, inspections, and meetings in addition to showings, with optional property and contact linking
- Event cancellation tool in management chat — cancel any Rentalot-created event with confirmation preview; Google Calendar and Cal.com synced events are protected
- Cancel or delete events from management chat — cancelEvent tool now supports both soft cancel and permanent deletion with confirmation buttons
- Property listing cards now have image carousel with left/right navigation arrows, fullscreen lightbox, and image counter
- Custom workflow builder — create workflows from scratch with the question builder UI (now available on all tiers)
- Tier-based custom workflow limits — Free 10 questions/3 workflows, Starter 25/10, Pro 75/50, Scale 200/unlimited; counter and upsell shown in the builder
- Management chat can now edit and delete workflows (getWorkflow, updateWorkflow, deleteWorkflow tools) — fixes the bug where asking the AI to edit a workflow created a duplicate instead
- Management chat: full CRUD with tiered confirmation — added deleteProperty, deleteContact, deleteDraft, deleteFollowup, createShowing, rescheduleShowing, listDrafts, updateDraft, updateSettings, updateFollowupSettings (10 new tools). Every write tool is now classified into one of four trust tiers (T1 auto / T2 undoable / T3 confirm / T4 diff).
- Management chat: success cards with dashboard deep links — every mutation now renders a green-bordered success card with a ‘View in dashboard’ button (createProperty/createContact/updateProperty/updateContact link to the entity page; deletes/cancels/settings link to the relevant list page or settings).
- Management chat: audit notes — UI button presses (Confirm/Keep) on confirmation cards now emit machine-readable [audit] entries into chat history so the LLM knows what was clicked. Distinguishes success / declined / already-done / failed (categorized — never raw error bodies). Notes render compactly as italic dim rows in the UI.
- Management chat: one-shot confirmation-card clicks (Confirm, Keep, Apply Edit, Confirm Booking, Save Workflow, Archive, etc.) are now persisted per-thread in DB. After refresh or on a second device, the card renders its terminal state (confirmed / kept / already gone) instead of the pending buttons — can’t be accidentally re-executed.
- Typed runtime Remotion video quality definitions and checker with render preflight for fatal structural/readability issues
- Multilingual voice nav: Spanish, Chinese (Mandarin), and Hebrew navigation keywords and ordinals now work in the prescreening voice input (e.g. “siguiente”, “下一个”, “הבא”) without LLM fallback
- Added generated AI-readable docs indexes with Markdown links for public docs pages.
- Prescreening shared URLs can save a note query parameter to the created contact’s internal notes.
- Dashboard share links can include an internal note query parameter with a public-URL sensitivity warning.
- Shared channel provider registry for messaging lifecycle metadata, QR/share-link hooks, disconnect cleanup, and adapter creation
- WhatsApp Cloud API send path now uses the real Meta Graph API client with canonical phone normalization, opaque outbound callback IDs, webhook deduplication, and message status persistence foundations.
- Homepage now ends with a ‘Latest reads’ section featuring the three most recent blog posts as a card grid — surfaces fresh content and improves internal linking to individual posts
- Dev-gated Deepgram STT provider for Simple Voice, with provider-neutral session credentials, provider-aware STT cost tracking, and a dev-only prescreening UI provider badge.
- Dev-gated Deepgram Aura TTS provider for Simple Voice, with English-only selection, ElevenLabs multilingual fallback, and provider/model namespaced R2 cache warming
- Added lead-to-lease loop state, ingestion hooks, and lightweight dashboard reporting.
- Listing syndication dashboard APIs and property-page packet previews now support manual channel readiness, posting status, audit events, and Zillow readiness preview.
- Landlord daily leasing briefs now persist concise daily summaries with ranked next actions and dashboard/email delivery hooks.
- Claude Sonnet 5 is now available as an optional management chat model on Starter, Pro, and Scale plans.
- Add Property now has a development-gated Fill with AI flow that extracts details from up to 50,000 characters of pasted listing text or HTML, fills only blank fields while preserving existing work, and enforces generous per-plan billing-period request limits.
- Properties can now be saved as private drafts with only a title, completed later, and published once required listing details are ready.
- Fill property forms with AI from pasted listing text
- Property photos can now be reordered with native drag-and-drop, with the first photo used as the cover.
- Public property browsing now includes compact grid/list layouts, quick filters, multi-region city search, and optional property maps with drawn-area filtering.
- Public property locations update automatically after publishing or address changes, with approximate-address fallback and nonblocking posting.
- Canonical rental property types now flow through listing forms, imports, APIs, tools, and search, with explicit Studio controls for exact zero-bedroom listings.
- Public property browsing now shares 48-property pages, numbered navigation, and progressive cover loading across listings, profiles, and blast pages.
- Public property listings now include a compact gallery share menu with copy link and common sharing destinations.
- Mobile listing photo galleries now support safe horizontal swiping on directory cards and detail pages
- Added a bounded Free Trial API preview for account-owned private property and contact CRUD with durable account-wide quotas and trial-safe limits.
- Long management chat conversations keep working instead of stopping with “this conversation has gotten quite long”. Older tool results are shortened and earlier turns are condensed into a short summary, so the assistant keeps the IDs and decisions it needs while each reply stays fast and cheap.
- A new Approvals page in the dashboard lists everything waiting on your decision in one place: pre-screening results to approve or deny, unsent message drafts, and assistant actions still waiting for your confirmation in chat, with a count in the sidebar.
- Agent memory: save preferences, rules and facts for your management chat from a new Memory page or by telling the chat “remember…”; passwords, access codes, keys and card, bank or SSN numbers are refused. Memory holds up to 30 short notes (200 characters each, 3,000 in total), and the assistant can tidy up by merging, editing or deleting stale and duplicate notes, always asking you to confirm before it deletes.
- AI replies: answers to renter messages now use the listing they asked about, matching listings, and their prescreening answers. Pick a ready-made reply style in Settings and edit it to fit how you talk to renters.
- AI replies wait in Approvals for you to review and send by default. Switch Reply mode to Auto in Settings to send them right away.
- (In development) Zillow listing feed: opt a ready property into Rentalot’s Zillow feed from the listing packets panel, and receive Zillow renter inquiries as leads. Stays inactive until Zillow approves Rentalot as a feed provider.
- Apartments and condos now have an optional Unit number field in the property form. Rentalot fills it from the address when it ends in Unit, Apt, Suite or #, and shows when the unit belongs to a building you already have other units in.
- (In development) The Zillow Rental Network feed now accepts apartments: units at the same address are grouped into one building listing with floor plans and per-unit prices, and Zillow leads are routed to the exact unit the renter asked about.
- Signed-in visitors have their name and email filled in automatically when contacting a rental listing.
- Local env files are backed up as sops+age ciphertext (*.enc, committed); make env-status/env-encrypt/env-decrypt manage them
- Listings search links to a new help page when “Use my location” fails, with browser and device steps to turn location on.
- The setup checklist now includes an ‘Ask your AI assistant’ step that opens the assistant with a suggested question ready to send and checks off after your first message.
- Public listing pages now show nearby similar rentals, an approximate location map, and quick message templates with a preferred move-in date in the inquiry form.
Security
- Harden workflow dotted path resolution against prototype pollution paths.
- Gmail, Microsoft 365, and Google Calendar connections now only complete for the signed-in account that started them, so nobody can attach their own mailbox or calendar to someone else’s account.
- Property photos are now checked for sexual content on our servers before they are saved, whether you upload them, add them through the API, or import them from a listing link. Rejected photos are deleted and you see why. Before, only the dashboard upload checked, in your browser.
- Property photo uploads must be JPEG, PNG, or WebP. HEIC photos are no longer accepted through the API or link imports because they can’t be checked; the dashboard still converts them for you.
- Google Drive env backup uploads only encrypted *.enc files, never plaintext
- Conversations containing web content can no longer directly edit properties without approval.
- Conversations containing web content can no longer directly edit contacts without approval.
- Conversations containing web content can no longer send existing drafts without approval.
- Conversations containing web content can no longer directly edit workflows without approval.
- (In development) AI replies to prospects and automated follow-ups are checked for private phone numbers, email addresses, and access codes before sending; risky replies are rewritten or held for your review.
- Voice answer validation now requires a live voice session, and the ElevenLabs voice token endpoint is disabled unless the ElevenLabs voice feature is enabled
- Error reports no longer store the deployment-protection bypass secret sent with background job and test requests.
[0.9.0] - 2026-02-24
Added
- SEO foundations — favicon, apple touch icon, OpenGraph images, custom fonts
- Page metadata and canonical links for homepage, pricing, privacy, and terms pages
- Breadcrumb structured data on listing pages
Fixed
- Privacy policy and terms of service titles and canonical links
[0.8.0] - 2026-02-23
Added
- Stripe subscription management — cancel, change plan, and reactivate
- Tier gating for follow-up automation and calendar sync features
- Property cap enforcement based on plan tier
- Billing alerts for subscription status (past due, cancellation pending)
- Global voice budget cap with email notifications
Fixed
- Stripe setup script validates product/price associations
[0.7.0] - 2026-02-21
Added
- Workflow-based voice agent variant using ElevenLabs workflow graphs
- Per-user voice agent creation for workflow-based voice
- Keyboard height detection for mobile sticky submit button
[0.6.0] - 2026-02-19
Added
- Email verification on signup with auto-sign-in after verification
- Bulk property import with image URL support and async processing
- Image import by URL for properties
- Contact role field and filter for enhanced contact management
- Email delivery status tracking
- New signup notification email
- Responsive dropdown menus for mobile dashboard
[0.5.0] - 2026-02-16
Added
- Voice agent for pre-screening with real-time speech interaction
- Spelling confirmation UI for voice sessions
- Answer display and auto-end session after screening completion
- Dynamic per-call max duration based on workflow question count
- Voice session persistence with conversation transcript storage
- Auto-finalization when all required fields collected
- Volume control for AI voice output
- International phone number support in voice
- Lead qualification template with structured form
- Workflow sharing via tokenized URLs with identity pre-fill
- Property context interpolation for workflow questions
Fixed
- Voice agent microphone permission handling
[0.4.0] - 2026-02-13
Added
- Conditional step skipping and per-step timeout overrides in workflows
- Multichannel workflow execution — works across WhatsApp, Telegram, email
- Deep link triggers for WhatsApp and Telegram
- Trial management with expiration checks and notifications
- Microsoft 365 email integration with OAuth support
- Multi-provider email support (Gmail, M365, Custom SMTP)
- Submission review process for pre-screening workflows (approve/reject)
- Property limit banner showing usage against plan limits
- Application status page with email notifications
Changed
- Free trial duration reduced from 14 days to 7 days
[0.3.0] - 2026-02-12
Added
- Workflow editor with full step editing — add, delete, reorder (drag-and-drop)
- Template cloning and customization
- Statement screens for text-only questions in forms
- Contact creation, import, soft-delete, and JSON export
- Property search and status filters on dashboard
- Cal.com embed integration for scheduling on dashboard and public profile
- Follow-up settings management
- Application-completed email notification on workflow end
- Gmail integration for sending messages within workflows
- Property image management (upload, delete, reorder)
- Voice input with speech-to-text for question screens
- Voice action matching for date and number parsing
[0.2.0] - 2026-02-10
Added
- Public pre-screening chatbot with one-question-at-a-time form UI
- Chat phase screen for interactive agent steps
- Fullscreen property form with dynamic question flow
- Public agent profile and listings pages
- Property editing and image upload UI
- Pricing page with detailed feature comparison
- Image upload with per-tier limits
- Email integration for transactional emails
- US cities autocomplete
- Currency field type support
- Bulk property import with validation
Changed
- Project renamed from RentAgent to Rentalot
[0.1.0] - 2026-02-07
Added
- AI-powered customer chat with automatic intent detection and response
- Management chat with streaming responses and persistent threads
- Telegram, WhatsApp, and Gmail channel support
- Workflow engine with configurable multi-step sequences
- Follow-up automation with sequence tracking and idle detection
- REST API for properties with CRUD, filtering, and OpenAPI spec
- Onboarding quickstart with checklist and progress tracking
- Login, signup, and session management
- Draft message system with batch creation
- Calendar integration for Google Calendar and Cal.com
- Public property listings with inquiry form
- Dashboard with overview stats, conversations inbox, showings calendar, and properties grid
- Documentation site
- Channel email notification templates
Changed
- Enriched property schema with 14 new fields
- Pricing page with plan definitions and feature comparison
[0.0.1] - 2026-02-06
Added
- Landing page with hero, features, how-it-works, pricing teaser, and waitlist form
- Dark mode support with theme toggle
- Dashboard layout shell with sidebar navigation