ZyanDocs

Control what a client sees

Set the portal kind and section switches, pick a portal profile, grant services per project, manage the portal account, roles and seats, retire a portal, and preview the result.

Most of what a client can see is decided on their portal. This page covers the three places that decide it — Client visibility (sections and services), the portal's Account tab and the portal lifecycle — and how to check the result without logging in as them. Three things live on the project instead of the portal: SEO reporting and Map Pack results (switched per project on Client visibility, or in the SEO Command Center's Settings), and the GA4 property (the project's Analytics & SEO setup card).

Before you start

Editing sections, the portal's status, role, seats and notification preferences, and every lifecycle action need an owner or admin. Team members with Client Portals (edit) open the Sections sheet read-only and see the login email and photo on the Account tab, beside Billing. Changing services under Client visibility needs Billing (edit); without it the page reads "You don't have billing permission to change services."

Portal kind

Full portal, Leads, SEO, Backlinks or Ads — presets every toggle

Section toggles

The eleven portal areas, ticked one at a time

Add-on entitlements

Purchased or granted services, per project

Notification preferences

Which emails reach this client at all

What this client actually sees

Four controls across two screens. Client visibility is the one that shows the result.

Portal kind

Open the client and go to Client visibilitySectionsEdit sections. The Sections card lists one row per portal, reading All sections on or Off: followed by what is hidden; Edit sections opens that portal's Sections sheet on the right, with Save and Cancel. Without an owner or admin role the sheet is read-only and closes with Close.

Portal kind is a row of pills: Full portal, Leads, SEO, Backlinks or Ads. Minimal kinds land the client on their product surface and hide the agency-workflow navigation around it.

Pick the kind first, then hand-adjust

Picking a different kind rewrites every section switch from that kind's preset and discards your hand edits. Re-picking the same kind does nothing. Choose the kind, then adjust the switches, then Save.

Under the Leads, SEO, Backlinks and Ads kinds, Account & Billing and Services always stay on regardless of what you tick.

Section toggles

SettingWhat it changesDefault
MessagesShows or hides the portal Messages area.On
FilesShows or hides the Files tab and the two-way file lane.On
AnalyticsShows or hides the Analytics page.On
AdvertisingShows or hides the Advertising page.On
MeetingsShows or hides Meetings and client booking.On
TrainingShows or hides the Training hub.On
Account & BillingShows or hides Plan & Billing and invoice detail.On
LeadsShows or hides the Visitor ID lead surfaces.On
AuthorityShows or hides the SEO add-on (authority and backlink) panels.On
ServicesShows or hides the add-on catalog page where a client buys more services.On
AnnouncementsShows or hides Announcements.On

Every section is on until you turn it off, so a brand new portal shows everything until you narrow it. The switches sit under the portal's own navigation groups — Workspace, Collaboration, Growth and Account — and Announcements stays on under every kind and outside the preview. To check the result, save, then use Preview as client at the top of Client visibility.

Hiding a section hides the surface, not the producers

The records behind a hidden section are still created. Files still arrive, notification emails still send, and the new-files dot on Projects still lights up — only the project's Files tab honours the Files switch. If you want a category to go quiet, turn the matching notification toggle off on the portal's Account tab as well. Account & Billing is the exception that reaches the database: with it off, the portal cannot read your Stripe plan cards or invoices (add-on offers stay readable), and composing a Stripe subscription turns it back on.

The sheet has no SEO switch. SEO reporting, blog posts and Map Pack are switched per project under SEO, per project on the same Client visibility page — one switch each, described under Services, per project below. Where the portal panel still carries a Sections tab (a project's portal dialog and the internal portals workspace), its SEO reporting card switches nothing and points back here.

Account: status, role, seats and notifications

Open SettingsAccount, picking the portal under Project scope first if the client has more than one. The Account card shows the login email and the client photo; for an owner or admin it also holds the portal's Status and Portal role pills, Resend onboarding email, the client's notification preferences and extra Seats.

SettingWhat it changesDefault
StatusActive, Pending, Archived, Revoked or Legacy. Anything other than Active stops the login working.The portal's current status
Portal roleClient or Admin.Client
Resend onboarding emailSends the invite again. Use it when the client never set a password.—
Email notifications enabledThe master switch for this client's notification emails. With it off, the individual categories below do nothing.—
Messages & tasksEmails when an approval or task needs the client.—
Files & deliverablesEmails about new files and deliverables.—
Meeting updatesEmails about meeting changes.—
Content Center updatesEmails about the content calendar.—
SEO reportsEmails when an SEO report is shared.—
Stripe billing updatesEmails about subscriptions and invoices.—
Request status + commentsEmails when you change a request's status or comment on it.—
New leads (ad campaigns)Emails when an ad campaign produces a lead.—

Seats

A seat is an extra client login on the same portal. Add them under Seats and press the invite action on each one.

  • Capped at five members beside the primary login.
  • A seat's chip reads Not invited → Invite sent → Active. It only reaches Active once that person sets a password. Disabled turns the seat off.
  • You cannot add the portal's own primary login email as a seat.
  • Payment methods, personal notifications and account settings stay per-login. Billing and meetings are visible to everyone on the portal.

Services, per project

Client visibility is the one screen that answers "what does this client actually see", service by service and project by project.

Open the client and click Client visibility

Work the add-on queue at the top

Pending add-on requests offer Activate or Decline.

Switch SEO per project

SEO, per project has one column per project and three switches: SEO reporting (their SEO tab, reports and Map Pack results — the SEO Reporting & Technical SEO service included in their plan), Blog posts (the autoblog schedule's posts on their content calendar, with Blog content included) and Map Pack results (the Local tab, shown inside SEO reporting). SEO reporting is on when the service is included; off cancels it. Switched off, the client can see the offer to buy it when your catalog sells it, unless you press the eye-slash button beside the switch; reports you've already attached stay on their SEO tab. The eye beside Map Pack results is the same control: Map Pack shows inside SEO reporting, so hiding that offer hides Map Pack with it. A paused service stays on with Resume beside it. Turning Blog posts on notifies the client of this month's scheduled posts, so it asks first. A switch never writes to a portal another project owns, and never stops a Stripe charge — when something it can't reach keeps the client seeing it, the switch stays on and says why. Blog posts and Map Pack need the project enrolled in the SEO Command Center.

Read the add-ons grid

Add-ons, per project has one row per add-on and one column per project, plus an Account portal column when the client has a portal with no project of its own. Each cell has a switch that is on when that project has the add-on, and an eye-slash button that hides the offer from that project. A project without a portal of its own is switched on its own too, on the portal it signs in through. An add-on switched on in the Account portal column is account-wide: every project that reaches that portal reads it on, locked, and it is switched off there.

Flip a switch or hide an offer

Switching a service on opens the grant dialog (included in the plan, or billed through Stripe); switching it off asks you to confirm. The eye-slash button hides or restores the upsell offer; it only appears while the service is off. A paused service stays on with Resume beside it, and a service the client requested is activated from the add-on queue so the request resolves.

Website Visitor ID is the one add-on whose switch opens a setup dialog instead of the grant dialog: an owner or admin on a plan with Website Visitor ID enters the site URL, confirms the privacy-policy disclosure and clicks Add site — the site rides your own LeadPost account, so no platform credits are used. The dialog then shows the webhook URL once with the LeadPost steps; paste it there, come back and click I've installed it. Until you do, the cell reads on with the word Pending install (the site is still activated under GrowthLead Automations). For everyone else the switch stays locked and the add-on still turns on from the client's request in the queue above.

Or pick a Portal profile

Portal profile applies a preset — All areas open, Website only, SEO reporting, SEO reporting + blog, Google Ads or **SEO reporting

  • Google Ads** — through the switches below it: the Advertising section, the services it includes as part of the plan, and SEO reporting. SEO reporting + blog also turns Blog posts on for every project that has an autoblog schedule; a project without one is listed under what cannot change ("No autoblog schedule yet"), and no profile ever turns posts off. A confirm list names what will change and what cannot before anything is written. It never touches Map Pack, Billing, enrollment or a service the client already has, and the picker reads Custom when the stored switches match no preset.

A service shows for the projects it is on. Every project is switched on its own: a project that has no portal of its own signs in through the client's first portal and holds its own services there, so switching it never changes another project. A service marked included in the plan is part of what the client already pays for — the client sees "Included in your plan" with no price.

The Account portal column is account-wide

A service switched on in the Account portal column (a portal with no project of its own) reaches every project that signs in through that portal. Those projects read it on, locked — switch it off in the Account portal column.

Removing access is not cancelling the charge

Taking a Stripe-billed add-on away from a portal does not cancel the Stripe subscription. Cancel the recurring charge through the client's billing door first, then remove the access.

Add-on changes are not realtime on the client's side. Their portal refreshes entitlements on focus, or within roughly 15 seconds of navigating, so a recent change can take a moment to appear.

Preview a client's portal

Use Client visibilityPreview as client for a read-only snapshot: projects, open requests, tasks, approvals, message threads, files, reports, meetings, notifications, billing and onboarding. Every read runs under the client's own permissions, and each preview writes one portal event.

Use Open on platform address (or Open on your domain, which appears once your custom domain is live) when you need the real, interactive thing. The preview is a snapshot, not a login.

Portal lifecycle

At the bottom of SettingsPortal lifecycle sit the owner-or-admin actions that retire a portal.

ActionWhat it does
Cancel invitationOnly on invited portals. Permanently deletes the portal — this is not a soft undo
DeactivateRevokes access. Status becomes revoked and the auth user is disabled. The data stays
DeleteWipes the portal and its data. Requires you to type the portal's access email
Mark discovery complete / Reopen discoveryFlips the discovery status, and resets progress on reopen. A tracking flag only

What Delete destroys

Messages and thread history, requests with their comments, tasks, uploaded files, discovery answers, portal notifications and the client's login. Preserved: the client record, and the project itself — it is reassigned to you with its checkpoints, notes, deliverables and campaigns intact.

If you only want to stop the client getting in, use Deactivate.

Troubleshooting

SymptomCauseFix
Section toggles reset after you edited themYou clicked a different Portal kind pill, which rewrites every togglePick the kind first, then hand-adjust, then Save
A section is off but the client still gets emailsSection flags hide the surface, not the producers behind itTurn the matching category off on the portal's Account tab (Settings → Account) as well
The Sections sheet has no SEO switchSEO reporting, blog posts and Map Pack are switched per project on Client visibilityClose the sheet and use the SEO, per project switches on the same page
SEO reporting is greyed out on Client visibilityThe project is not enrolled in the SEO Command Center — hover the greyed switch for the exact reasonClick Enroll in SEO Command Center under the project's column, then return. If the enrollment check failed, click Couldn't check SEO Command Center enrollment — retry
The Portal profile reads CustomThe stored switches match no preset — usually one service or one project differsPick the profile you want and read the confirm list; it names what will change and what it cannot
A service shows on one project but not anotherEntitlements live on a portal; a project with no portal inherits the first portal's servicesGrant the service on the shared portal, or hide its offer there. A second per-project portal is not created from the admin yet
The Sections sheet is read-only, or the Account tab has no Status or Portal roleEditing sections, status, role, seats and notification preferences needs an owner or adminAsk a workspace owner or admin to make the change
Cancelling an add-on did not stop the Stripe chargeAccess and subscription are separateCancel the subscription in billing, then remove access
A change has not appeared in the client's portalEntitlement reads are not realtimeWait about 15 seconds, or have them reload the page
Deleting a portal lost history you wantedDelete wipes messages, requests, tasks, files and discovery answersUse Deactivate next time — it revokes access and keeps the data