Select a Client Account
Open Work Orders
Select a client account first.
Inspections
Calendar
Filter by customer or event type.
Customer Search
The list filters as you type. Name search matches the start of the last name. Only active tenants are shown unless you include inactive records.
Customer Summary
Status & Actions
Family & authorized contacts
Household members and authorized representatives (name/nickname, phone, email). When they call or email, lookup finds this tenant so they can open work orders on the householdβs behalf.
Interaction
Tickets & Cases
Tickets & Cases
Ticket Details
Update Status
Task Queue
Task Details
Resolve Task
π Phone Lookup
Search for a customer across all accounts by primary or secondary phone number (digits only).
π§ Work Order Lookup
Search for a work order across all accounts by order ID or work order number.
β Setup
Admin: users & agents, client accounts, Housing Authority / PHA-Web, customers, driver tasks, gateway.
π’ What's New β change log
Users & Agents
Portal login and eAPI tokens. Select a user to edit, set password, rotate token, or grant client access.
π’ Create Client Account
Add a client (e.g. Housing Authority). HA clients get a default PHAWeb/eAPI integration in csa_only mode.
π Housing Authority / CSA eAPI
Configure CSA as system of record and optional PHA-Web sync. Gateway: /api/e/ha/:clientKey with a CSA API token.
Connection & mode
csa_only: no PHA-Web credentials, sync, or import. Agent tools use CSA data only.
Switch to csa_with_phaweb_sync to configure PHA-Web pull/push.
Website login uses PHAWEB_WEB_<CLIENT>_*; API uses PHAWEB_API_<CLIENT>_* (e.g. ssagent_api).
Credentials (env on server)
Select a client to see required env vars.
Sync options & schedule
Select a client to see last sync time and inventory stats.
Production: Google Cloud Scheduler POSTs to
/api/cron/phaweb-sync/:clientKey only during the hours below (no in-container cron).
Local: in-process ticker may run the same windows.
Weekends / after-hours = set day to Off.
Not scheduled. When enabled, each eAPI create/update/close writes to CSA and then to PHA-Web in the same request (before the agent gets a success). Cron/sync only pulls from PHA-Web into CSA.
Sync log
Recent PHA-Web pulls for this client β Setup, scheduled jobs, and Sync with PHA on a customer. Newest first.
Select a client that syncs with PHA-Web to see activity.
Work order create defaults
Used when agents create work orders via eAPI. Stored per client only. Click Save create defaults after changes.
PHA-Web treats these as different people:
requested_by_id = who asked for the work (use 1762 Tenant for resident calls β not the agent id);
created_by_employee_id = staff who entered it (e.g. Lincoln 30564);
assigned_employee_ids = maintenance tech(s) (e.g. 29543). Wrong requestor β requestedById could not be found.
Work order email notifications
When enabled, CSA emails assigned employees (from employee mapping emails)
on create, update, and close. Templates live in
templates/work-order/ (same {{variable}} style as gateway voicemail templates).
Server requires SMTP (EMAIL_SMTP_* or CSA_SMTP_*).
When set, recipients who hit Reply go here instead of the From address (e.g. use a monitored inbox while From stays no-reply). Comma-separated allowed.
π€ Employee / requestor ID β name mapping
Mappings are unique per client account (this client only). They label Requested by / Created by / Assigned / Completed on work orders.
π₯ Import from PHA-Web
Families = API. Open WOs = refresh families then website scrape. Set PHAWEB_WEB_* for scrape.
Import PHA by order number
When a work order or family is missing from CSA, look it up in PHA-Web by work order number, import the family, that work order, and all of the tenantβs work orders.
β Add Customer
Create a customer. Demo clients may auto-seed industry data; real HA clients should use Pull Families instead.
π Add Driver Task
Queue a task for the SimplyDriver extension.
π Semantic Gateway
Session Sync shows live gateway sessions on customer profiles.
Session Sync
Outbound Call
When enabled, a call action appears next to the customer phone on the profile if a number is present. Payload: toNumber, flowId, fromNumber, customer_id.
Outbound Email
When enabled, an email action appears next to the customer email if present. Triggers a Gateway webhook flow with email_address, from_email, customer_id.
Staff portal chat
When this client is open, staff get a My Account-style chat button. It starts a Gateway session on the project and flow below, signed in as the staff user.
π SimplyDriver Extension Setup
Step 1 β Download the Extension
Download the SimplyDriver Chrome extension package:
Save the ZIP file and extract it to a folder on your computer. This is the same SimplyDriver used with Semantic Gateway (presets, PHA-Web live sync, and CSA task queue).
Step 2 β Open Chrome Extensions
- Open Google Chrome
- Copy and paste this URL into your address bar:
chrome://extensions/ - Enable Developer mode using the toggle in the top-right corner
Step 3 β Load the Extension
- Click Load unpacked
- Select the extracted
SimplyDriverfolder - The SimplyDriver icon will appear in your Chrome toolbar
Step 4 β Verify Installation
- Refresh this portal page
- The extension notification will no longer appear
- Click the SimplyDriver icon in the toolbar to control automation