Skip to main content

Screen: Clients

web/clients.html (script web/clients-surface.js) — "Clients" in the Admin menu, admins only since 17 Oct 2026. From the 15 Oct meeting with Lindsey (project pages are the main workspace) and Kirk's rule: the client page edits only what is specific to the client's account.

What is on it​

One row per client: name, type (Client or Internal), HubSpot company (a link when mapped), and the number of current projects. The count links to that client in Projects. Search matches client and project names.

  • + New client creates a client with no project yet.
  • Edit changes the name, type or HubSpot mapping. It uses the same dialog and the same conflict-protected POST /api/portfolio-actions (update_client) as before, so a stale version is refused with a reload prompt.
  • /clients.html?edit=<client id> opens that client's editor (used by Projects and by All projects' account-identity conflicts).

The data comes from GET /api/account-directory?as=all.

What is not on it​

Project status, project managers, team, proposals, source conflicts and classification are on Projects: By client or All projects. The client owner (clients.owner_person_id) is not shown anywhere in SABLE, the customer portal included; the field stays in the database.

Access​

Clients is in the Admin menu, which only admins see, and a non-admin who opens the page is pointed to Projects. Server side, update_client is admin only; create_client also allows leads, who can still create a client through Add project.