Problem
Property managers juggle dozens of responsibilities simultaneously (vendor assignments, lease renewal outreach, compliance deadlines, unit turnover coordination), all from fragmented systems. Searching for the right contractor, checking which leases are expiring, and monitoring for overdue compliance items each requires navigating separate tools manually. The result is reactive operations, missed deadlines, and hours burned on coordination that should be automated.
Solution
An AI co-pilot inside Salesforce for property managers. Already authenticated, no identity step required. Managers ask in plain language. Dispatch a vendor, pull up expiring leases, check compliance deadlines, or kick off a unit turnover. The agent handles the lookup, the routing, and the task creation, surfacing the right information and taking action without the manager leaving Salesforce.
Demo
Results
- Built and deployed in a single session
Four Agent Script topics with a priority-ordered hybrid routing architecture combining deterministic keyword-based intent classification with LLM conversational flexibility. First-match-wins routing prevents misroutes between overlapping topics. (1) Vendor Dispatch: the LLM maps natural language ('plumber', 'leak', 'pipe') to standardized picklist values. Selection algorithm: Rating__c DESC, then Last_Used_Date__c ASC NULLS FIRST for fair rotation among equally-rated vendors. (2) Lease Renewal Pipeline queries active leases expiring within a configurable window (60-day default). Duplicate-aware task creation: queries existing Tasks and scans descriptions before creating, which prevents duplicate outreach per lease. (3) Compliance Monitoring: dynamic SOQL optionally filters by building name if specified, returns all buildings otherwise. Overdue detection flags any item past due date as CRITICAL. (4) Unit Turnover Workflow: LLM parses natural language dates to yyyy-MM-dd. Creates 5 standardized Tasks with staggered offsets across a 10-14 day timeline. Critical discovery: the setVariables → guard → action sequence is unreliable for InternalCopilot. Engineered the direct with param=... pass-through pattern as the reliable alternative. Task.WhatId doesn't support custom object IDs → linked to building Account with context in Description. LongTextArea fields can't be filtered in SOQL WHERE → query-then-filter-in-Apex. All actions follow the proven InternalCopilot pattern: String inputs/outputs, flow:// targets (never apex://), clear descriptions for LLM parameter discovery.
Tech Stack
- Salesforce Agentforce
- Agent Script DSL
- Apex
- Autolaunched Flows
- SOQL
- InternalCopilot
- AgentforceEmployeeAgent
- Custom Objects