All Docs
FeaturesDepositClearUpdated March 15, 2026

Landlord Portal: 'Changes Requested' → Agent Task Assignment

Landlord Portal: 'Changes Requested' → Agent Task Assignment

Available from: v0.1.353

Overview

When a landlord reviews a deposit release proposal via the Landlord Portal and requests changes rather than approving outright, the platform automatically converts that decision into an actionable agent task. No manual monitoring required.

This feature is fully event-driven — it triggers on the landlord_portal.decision event and requires no manual configuration per tenancy.


How It Works

1. Trigger

The workflow activates when a landlordPortalInvites record transitions its status to changes_requested. This happens when the landlord submits their response through the portal indicating they want modifications to the proposed deductions or release terms.

2. Parsing Requested Changes

The function reads the requestedChanges JSONB array attached to the invite record. Each item in the array represents a discrete change the landlord is requesting (e.g. a revised deduction amount, a disputed line item, or an added charge).

3. Task Notification Creation

An in-app task notification is created and delivered to:

  • Property Manager role — the team member with property management responsibility for the associated deposit release.
  • Release Creator — the agent who originally created and sent the deposit release proposal.

The notification contains contextual information drawn from the linked depositReleases and depositReleaseDeductions records, giving the recipient full context without needing to navigate manually.

4. Negotiation Thread (Optional)

If the landlord has included free-text comments alongside their change requests, the system can optionally:

  1. Open a new negotiation thread linked to the deposit release.
  2. Post the landlord's comments as the first message in that thread.

This immediately establishes a documented communication record and gives agents a structured place to respond, counter-propose, or agree.


Entities Involved

EntityRole
landlordPortalInvitesSource record; holds changes_requested status and requestedChanges JSONB array
depositReleasesProvides deposit release context for the task
depositReleaseDeductionsProvides line-item deduction detail
negotiationThreadsCreated (if landlord comments are present)
negotiationMessagesLandlord's comments posted as the opening message
notificationsIn-app task notifications sent to property manager and release creator

Workflow Diagram

Landlord Portal Decision
        │
        ▼
 [landlord_portal.decision event]
        │
        ▼
  Status = changes_requested?
        │
    Yes ▼
  Parse requestedChanges JSONB
        │
        ├──────────────────────────────────┐
        ▼                                  ▼
Create task notification          Landlord comments present?
  → Property Manager                       │
  → Release Creator               Yes ─────┤
                                           ▼
                                 Open negotiation thread
                                 Post landlord comments
                                 as first message

Notes for Agents

  • Check your notifications — When a landlord requests changes, you will receive an in-app task notification. Act on it promptly to stay within any statutory response windows under the Renters' Rights Act.
  • Negotiation thread — If a thread has been opened automatically, reply directly in the thread rather than via separate communication channels to maintain a complete audit trail.
  • requestedChanges detail — The full list of requested changes is available by opening the associated deposit release record. Each item in the list corresponds to a specific landlord objection.

Related Features

  • Deposit Release Proposals
  • Negotiation Threads
  • In-App Notifications
  • Landlord Portal Invites