Client onboarding ("Setting up")
Setting up is the guided setup a client walks through in the portal, so you have what you need to run their compliance from day one. The first time a client signs in, the portal opens on it instead of Home; I'll do this later takes them into the portal and it stops opening there. It stays in the sidebar under Overview with how far along they are, and Home shows a Finish setting up banner until they send their answers.
The rule is deduce, don't ask. Whatever the city's records already say is shown as Found in city records, with the evidence, for the client to confirm (That's right) or correct (Not right). Only what no record answers is asked outright, one question per screen.
The ten steps
- Your company: legal name, what kind of client they are (owner, property manager, co-op or condo board, owner monitoring only), main contact, who gets invoices, mailing address, and whether the buildings on file are all of theirs.
- Your buildings: each building on their account with what the city has on file (year built, apartments, stories, BIN, BBL, HPD registration and its expiry, owner of record, managing agent, head officer). They confirm it, correct it, or say it isn't theirs. Then Is any building missing?, asked a question at a time: which building (the city's register first, NYC's address search next, typing the address last), how they're connected to it, the super and anyone else on site, its apartments, then a summary to send (the Buildings page's Add a building asks the same questions). Sending makes an ordinary building request for you to approve under Buildings → ⋯ → Client requests; buildings already on the account or already requested can't be picked again, and they can add as many as they need.
- Building details: the facts that decide which laws apply, per building: heating and boilers, gas, elevators, stories (and whether it's over six stories, asked only when the story count isn't known), landmark status, fire systems, water tank, cooling tower, parking structure, retaining wall, floor area, rent regulation, ownership, lead paint.
- Super and site contacts: super, how inspectors get in, emergency contact, managing agent, per building, with Same as … to copy another building's answers.
- Residents: per apartment, occupied or vacant, and for occupied ones the occupant, a child under 6, contact details, move-in date and whether this year's annual notice came back.
- Paperwork: first, for information only, what the city shows open on their buildings (HPD lead orders, other HPD violations, DOB violations, summonses, tax liens), as totals and a folded list per building. Clients aren't asked about each item: they rarely know a violation by its code, and tracking them is your job. They can mark an item Already fixed? and send the proof (a certificate of correction, a dismissal), which is optional and doesn't count toward their progress. Then the questions: which kinds of paperwork they hold.
- Vendors: thirteen trades, each kept, handed to you, none, or not sure.
- Insurance: four policies with carrier and expiry, additional-insured, and expiry reminders.
- Team and alerts: people to invite, and who should get which alert.
- Review and send.
Every step can be put off (I'll do this later) or handed to you (Not sure, let … handle it). Nothing is required and answers save as the client goes, so they can stop and come back on any device. Send needs them to confirm the answers are accurate; changing an answer afterwards reopens it, and the review step becomes Send your changes? with Send again.
What sending changes
The client's own details take their place straight away:
- Company: legal name, what they are, main contact (name, email, phone), who gets invoices, and the mailing address, on the client record. The client's display name doesn't change.
- Site contacts: the super's name and contact on each of the client's own buildings.
- Residents: a child under 6 and the move-in date, per apartment the city lists (matched by the standard apartment key). A client's "yes" to a child under 6 always applies; their "no" only fills an apartment nobody has answered, so it never erases a child you recorded. A move-in date fills an empty one or replaces an older one. These drive the lead-paint obligations.
A blank answer never clears a value. What needs checking still waits for you: building corrections, new buildings, people to invite, and claims that a city item is fixed.
The portal's Your company page shows what the client last sent: company details, insurance, vendors and team, each with Edit (back into Setting up). While they have edits they haven't sent, it says so and offers Review and send; the page itself keeps showing the last sent version.
What is pre-filled, and from where
| Answer | From |
|---|---|
| Legal name, mailing address | The client's record |
| Main contact name, email, phone | The signed-in portal login, else the client's record |
| Super | The building's contacts in Complied, else HPD's registered site manager |
| Managing agent | HPD's registration contacts |
| Heating, boiler count, boiler fuel | DOB's boiler register, DEP boiler permits, boiler violations |
| Elevators and how many | DOB's elevator register and inspections, elevator violations |
| Sprinklers, standpipe | FDNY's building summary (sprinkler and standpipe connections, a 2019 snapshot), else a DOB sprinkler violation |
| Gas service, parking structure, retaining wall | DOB periodic-program violations (LL152, LL126, LL37): fined buildings only |
| Stories, façade | HPD's legal stories, DOB façade (FISP) filings and violations, else City Planning's floor count (PLUTO) for a lot with one building |
| Landmark | City Planning (PLUTO): an individual landmark, or the historic district the lot is in |
| Ownership | City Planning's building class (PLUTO): R classes are condos, C6/C8/D0/D4 co-ops, other C and D apartment classes rentals |
| Water tank, cooling tower | Health Department registrations |
| Over 25,000 sq ft | LL84 energy benchmarking, else City Planning's floor area (PLUTO): under 25,000 on the lot is a "no"; over it is a "yes" only for a lot with one building |
| Lead paint | Year built: before 1960 is presumed lead, 1978 or later is not; 1960–1977 is asked |
Records only ever prove presence: no boiler on file does not mean the building has none, so a missing record never becomes a "no". Gas service, parking structures and retaining walls pre-fill only for buildings DOB has fined under those programs: DOB publishes no filings for them, so a building that files on time is asked. FDNY's list predates 2019 and has no fire alarms, so a building it doesn't list is still asked. A lot PLUTO doesn't list as a landmark or in a historic district is still asked too. Rent regulation and lead exemptions have no public dataset and are always asked.
Uploads and rent rolls
- Rent roll. On the residents step a client can download a CSV template (one row per apartment on file) or upload the export from their management software. They check how the columns were read before anything is merged; values that can't be read are listed by line and left blank, never guessed, and a blank cell never erases an answer.
- Papers. Where a client says they hold records, and for each insurance policy, they can upload copies (PDF or photos, up to 25 MB). Uploads land in Documents as a Record from the client or a Certificate of insurance, on the building or the client. They are not shared back to the portal; the client sees only the file name.
Laws that apply
The building details screens carry a Laws that apply panel that updates as the client
answers: lead paint, LL31 testing, façade (FISP), boilers, elevators, gas piping (LL152), energy
(LL84/97), water tanks, cooling towers, parking structures (LL126), retaining walls (LL37) and
rent registration. It is a guide, not legal advice, and every rule names its source. Only lead
paint is checked against docs/hpd/; the others cite the NYC law and are marked not yet
reviewed in the staff view (domain/src/portal/onboardingLaws.ts).
Reading and acting on the answers
The Setting up tab on the Clients page (needs view-clients) lists every client that has
started: Answers to review first, then In progress with their percentage, and which steps
they handed to you as "not sure". The tab's count is the answers waiting for review, marked when
there are any. A row opens the client's page. The "answers sent" email and notification still
link to the old /onboarding address, which opens the client's Portal access tab.
On the client's page, Portal access tab, Setting up shows the status and five tabs, each with its count: Answers (opens first; each step folded, with Mark verified), Hand-off, People to invite, Papers and City items. City items stay out of sight until you open that tab, then show grouped by building, each building folded until clicked.
Hand-off turns what the client told us into obligation records, one click each. Nothing in it applies on its own: a returned notice is a record HPD audits, and running a notice cycle is a duty, so a person confirms. Each action is marked done with your name, and the client's Calendar update from it.
- Returned annual notices, per building: the occupied apartments whose notice the client says came back this year. Record N returned notices (needs manage-obligations) marks each delivered and answered for the year, on the response date you pick, with the client's child-under-6 answer; a child under 6 opens the annual investigation. Apartments already recorded are never overwritten, and ones not on file are listed so you can add them first. Ask for copies sends the client a document request for the signed notices.
- Their annual-notice cycle: shown when the client handed their lead inspections to you. Run their notice cycle turns on the client's notice-cycle flag, which puts every apartment's notice on your worklist by default.
- Paperwork they hold: LL31 testing records, exemption certificates, returned notices, the affidavit of mailing, past XRF, clearance and abatement records. The answers are building-wide and the facts are per apartment, so Ask for copies and record them from the documents.
- Vacant apartments: listed for information only; nothing acts on a vacancy yet.
City items:
- Open city items, classed Needs proof (the client marked it fixed), To check (the client said nothing about it, the usual case), Matched, and Unknown (from answers given before the items became information only). Per item: Verified, Ask for proof (sends the client a document request), and Open violation. Projects aren't started from here: open the violation (or the building) and start one there, where its existing projects show and several violations can go into one job. Nothing here closes a city item.
- People to invite: each person the client listed, with Invite (needs manage-portal-access), which sends the usual portal invitation. Every portal login sees the same data today; the role the client picked is noted for you.
- Papers requested: Ask for a document puts a request on the client's portal Home with an upload button; it closes itself when they upload.
- All answers, step by step, each with Mark verified.
- Edit for the client (needs manage-clients) opens the same flow in the staff app, to fill it in from a call or paperwork. Sending from there records that staff sent it for the client.
When a client sends their answers, everyone with manage-clients gets an in-app notification, and an email when Settings → Client portal → staff emails is on.
Nothing a client says changes the city's records. Beyond the details listed under What sending changes, check what they told you and act on it yourself. Your marks, notes and actions are visible to staff only.