Add and manage clients
Create a client record, find it again with the filters and type lens, use the row actions, and understand exactly what deleting a client removes.
The clients directory at DeliveryClients is the list of everyone you work for. Each row shows the client, their portal state, project count, billing status, onboarding status and when it last changed. Adding a client here creates an internal record — nothing is sent, and no login exists yet.
Before you start
You need the Clients (view) permission to open the list and the crm_clients
plan feature. Individual row actions appear per permission: portal actions need
Client Portals (edit), billing entries need Billing (edit).
Add a client
Open the clients directory
Go to DeliveryClients. It opens on the All filter.
Click New client
Fill in the record
Name, company, email, phone and notes. The email matters more than it looks: it becomes the portal login later.
Set a Status
active, lead or archived.
Save
New client creates an internal record only
No portal, no invite, no auth user. The dialog says so itself. To give the client a login, use Create a client portal afterwards.
Find a client again
Two rows of filter chips sit above the grid, and both are written into the URL so you can bookmark or share a filtered view.
| Setting | What it changes | Default |
|---|---|---|
| All / With portal / Invited / Active / No portal | Which clients the grid lists. Written to the filter parameter in the URL. | All |
| All types / Leads / SEO / Backlinks / Ads / Content / Website / General | Filters by the client's derived type. Written to the type parameter in the URL. | All types |
| Search | Matches on client name or email address. | — |
| Status | The client record's own state, set on New client and Edit client rather than from the grid: active, lead or archived. | active |
Client type is worked out, never stored
The type chip is derived at render time — first from the portal kind, then from the client's entitlements, then from whether they have a project. A client with none of those signals shows no chip at all. That is normal, not a bug.
Row actions
The kebab at the right of each row holds the shortcuts you would otherwise open the client detail page for:
| Action | Notes |
|---|---|
| View client details | Opens the client page |
| Open project | Jumps to the linked project |
| Create portal | Only appears while the client has no portal yet |
| Bill this client… / Billing settings | Needs Billing (edit); hidden inside the iOS admin shell |
| Resend portal invite | Only appears while onboarding status is Invited |
| Mark onboarding complete / Reopen onboarding | An admin tracking flag |
| Delete client | Needs the delete permission |
Mark onboarding complete does not close anything
It is a tracking flag for your own reporting. You can still send forms, tasks and onboarding packs to that client afterwards.
The client detail page
Open a client and you get section pills across the top:
- Overview — portal access card, onboarding timeline, billing summary and plan-change requests. A dot appears when billing needs attention.
- Client visibility — the add-on request queue and the per-service, per-website matrix. The badge counts pending add-on requests.
- Projects, Activity, Schedule — work, interaction history and scheduling. Growth is owner-only.
- Settings — the portal settings panel, portal lifecycle and the danger zone.
The Activity pill still uses its old URL key
Bookmarks and deep links to Activity use ?section=interactions. The label
was renamed, the key was not — both point at the same place.
Deleting a client
Delete client removes the client row only. Their portals and projects survive, which means a deleted client can leave a portal behind with no client record attached to it. That portal becomes an internal portal, still reachable by its own link but no longer manageable from a client page.
You can undo that: create a client whose email matches the portal's access email, and the portal attaches to that client page like any other. The internal portal screen says as much when you open it.
Delete the portal first if you want it gone
Deleting a portal is a separate, owner-only action with its own typed confirmation. See the portal lifecycle.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| Create portal is missing from the kebab | The client already has a portal | Open the client and manage the existing portal |
| "Add a client email before creating portal access" | The record has no email; the portal login is the email | Edit the client, add the email, reopen Create portal |
| Resend portal invite is not in the menu | It only shows while onboarding status is Invited | Check the portal's status on the Overview tab |
| A client shows no type chip | Type is derived, and this client has no portal kind, entitlement or project | Nothing to fix — it fills in once they have one |
| Billing entries are missing from the kebab | You are in the iOS admin shell, or lack Billing (edit) | Use the web admin, or ask an owner for the permission |
| A deleted client left a portal behind | Delete removes the client row only | Create a client using that portal's access email to reattach it, or delete the portal itself |