Skip to main content
All Docs
FeaturesPurple PepperUpdated April 7, 2026

Landlord Self-Service Portal

Landlord Self-Service Portal

The landlord portal gives property owners a branded, secure window into their portfolio — without needing a platform account. Agents provision access with a single API call and share a link; landlords click it and immediately see their properties, tasks, compliance documents, offers, and messages.

How It Works

Token-Based Authentication

Access is controlled by a unique token embedded in the portal URL:

https://your-domain.com/landlord-portal/[token]

Tokens are created and managed by agents. There is one token per landlord per organisation — if a landlord has multiple properties, they all appear under the same token/link. Tokens record lastAccessedAt on each visit and can be deactivated or reactivated by agents at any time.

Provisioning Flow

Agents provision landlord access via the landlordPortalManage.createToken procedure:

  1. If the landlord email already has an active token for the org → the existing token is reused
  2. If not → a new token is created with agency branding resolved from org settings
  3. The specified property is linked to the token
  4. The portal URL is returned for the agent to share with the landlord

Additional properties can be linked later using landlordPortalManage.linkProperty.

Portal Tabs

Properties

Lists all properties linked to the landlord's token. Each card shows:

  • Full address
  • Property type, bedrooms, bathrooms
  • EPC rating
  • Current status

Clicking a property opens a drill-down with three sub-views:

Sub-viewContent
TenanciesTenant names, rent amount, start/end dates, tenancy status
ComplianceGas Safety, EPC, EICR certificates with expiry indicators
DocumentsDownloadable files with landlord or all visibility

Tasks

Displays landlord-assigned to-dos across all linked properties. A progress bar shows overall completion. Tasks are split into Pending and Completed sections. Landlords can mark pending tasks as complete directly in the portal.

Offers

Lists all offers associated with the landlord's properties. Offers with status sent_to_landlord are highlighted — these are awaiting the landlord's review. Each offer shows applicant details, offer amount, and current status.

Offer status labels:

StatusDisplay
invitedInvited
in_progressIn Progress
with_agentWith Agent
sent_to_landlordAwaiting Your Review
landlord_reviewedReviewed
acceptedAccepted
rejectedRejected
cancelledCancelled

Messages

A chat-style thread between the landlord and the managing agent. New messages from agents are highlighted. The message list auto-refreshes every 15 seconds — no WebSocket connection required. Landlords type and send messages directly from this tab.

Agency Branding

The portal is white-labelled per agency. The following fields are resolved from org settings when a token is created:

FieldUsage
logoUrlDisplayed in the portal header
nameAgency name in header and footer
primaryColorApplied as the brand accent colour via CSS variable
supportEmailShown in the footer with a mailto: link
supportPhoneShown alongside the support email in the footer

If no logo URL is set, the agency name's first letter is shown as an avatar using the primary colour.

Database Schema

Three new tables support the landlord portal:

landlord_portal_tokens

One row per landlord per organisation. Stores the auth token, branding snapshot, landlord contact info, and activation state.

landlord_portal_properties

Join table linking tokens to properties (many-to-many). A single landlord can have multiple properties; all appear in their portal.

landlord_messages

Stores chat messages between landlord and agent, with senderType (landlord | agent) and isRead flag.

tRPC API Reference

landlordPortal (Public Router)

All procedures accept a token string as their first argument. The token is validated on every call — expired or inactive tokens return an error.

ProcedureDescription
getSessionReturns landlord name and agency branding for the token
listPropertiesReturns all properties linked to the token
listTenanciesReturns tenancies for a given property
listComplianceDocsReturns compliance certificates for a property
listTasksReturns all tasks assigned to the landlord
completeTaskMarks a task as complete
listOffersReturns all offers linked to the landlord's properties
listDocumentsReturns documents with landlord or all visibility
listMessagesReturns the full message thread
sendMessageSends a message from the landlord to the agent

landlordPortalManage (Org-Scoped Router)

Used by agents to provision and manage landlord portal access.

ProcedureDescription
createTokenProvisions a new token (or reuses existing) for a landlord email
listTokensLists all tokens for the org
getTokenReturns details for a single token
deactivateTokenRevokes portal access for a landlord
reactivateTokenRestores access for a previously deactivated token
linkPropertyLinks a property to an existing token
unlinkPropertyRemoves a property link from a token
listMessagesReturns messages for a landlord's thread (agent view)
sendMessageSends a message from the agent to the landlord

Security & Audit

  • No user account required — access is entirely token-based
  • Token expiry — tokens record lastAccessedAt; agents can deactivate tokens at any time
  • Document visibility — only documents explicitly marked landlord or all are accessible; tenant-only documents are never exposed
  • Audit logging — all portal actions are recorded via the logLandlordPortalAudit helper
  • Middleware allowlist/landlord-portal is added to the public path allowlist so token validation is handled at the router layer, not the middleware layer

No New Environment Variables

This feature is self-contained within the existing infrastructure. No additional environment variables or external service credentials are required.