ZyanDocs

Common issues

The problems Zyan customers hit most, grouped by area, with the cause behind each one and the exact fix — start here before opening a ticket.

Most things that look broken in Zyan are a switch that is off, a permission that was never granted, or a save that never happened. This page collects the symptoms people actually report, in the words they see on screen, with the real cause behind each one.

Two habits that solve most of it

Read the status pill. Nearly every surface in Zyan says out loud why it is not working — a Share tab pill, a readiness chip, a Block reason column. It is almost always more specific than a guess.

Check the plan, then the permission, then the switch. In that order. The plan lives under SettingsPlan & Credits, permissions under Teamthe memberPermissions. A permission cannot unlock something your plan does not sell, and some features need Zyan to arm them for your workspace on top of both.

Settings and permissions

SymptomCauseFix
A Settings link opens the Profile page instead of the section you wantedThe URL hash is not a real section — a typo, or a retired oneNavigate from the Settings sidebar. The bad hash is stripped automatically, so re-bookmark from there
“Access Restricted — You do not have permission to manage this workspace settings section.”A non-owner deep-linked to an owner-only sectionAsk the owner to make the change, or to turn on Allow full access on your member page. Plan & Credits stays owner-only even then
A teammate's permission grid looks right but they still see nothingThe plan does not sell that feature, Allow full access is overriding the grid, or the grid was never savedCheck Settings → Plan & Credits, check the full-access switch, and press Save on the grid at least once
A teammate still sees Instagram, Facebook or WhatsApp conversations after you revoked accessThose three rows are opt-out and are not in the Team permission gridTurn them off per member in Settings → Messaging → Team access
A suspended member still seems to have accessTheir sign-in token still carries the old role until it refreshesSuspend or delete the member, have them sign out, and confirm on their next sign-in
Payday dates, digests or reminders arrive at the wrong hourThe workspace payroll schedule is still on the UTC defaultSettings → Profile → Payroll schedule: set the Timezone, save, and check the Next paydays preview

Team and seats

SymptomCauseFix
Invite team member is disabled and the banner mentions the seat limitEvery plan seat is taken. Pending invitations count against seatsRemove a member, revoke a pending invitation in Team → Invitations, or upgrade in Settings → Plan & Credits
“A pending invitation already exists for <email>.”That address was invited and has not acceptedTeam → Invitations: resend or revoke the existing one

Branding, domains and credits

SymptomCauseFix
Save on Settings → Appearance → Brand is greyed outNo text row has changed. Logo, favicon and brand colour save on their own actionsEdit one of the six text rows, or use Upload / Apply for images and colour
“Could not load the current branding — nothing was saved.”The branding record could not be re-read, so the save was refused rather than risk overwriting other valuesReload the page and save again
A logo upload is rejectedWrong format — iPhone HEIC is not accepted — or over 5 MB. Favicons must be under 512 KBConvert to JPG, PNG, WebP or SVG and compress
A custom domain sits on Pending verification forever, or reads Claim expiredThe records were not published, DNS has not propagated, or the 72-hour claim window lapsedPublish the ownership TXT plus exactly one serving record — CNAME for a subdomain, A record for an apex — then Check verification. If it expired, Remove and start over
“Your DNS host already has a record on one of the names below”A conflicting DNS record blocked automatic creationRemove or update it at your DNS host, add the records shown by hand, and re-check
A metered AI surface stops working mid-monthThe pooled credit balance hit zero. Included credits do not stack, and pack credits expire after 60 daysSettings → Plan & Credits: Refresh, then buy a credit pack or upgrade

Clients and portals

SymptomCauseFix
“This client already has an unassigned portal.”A client may hold only one portal with no projectLink the new portal to a project, or manage the existing unassigned one
“Add a client email before creating portal access.”The portal login is the email, and the client record has noneEdit the client, add an email, reopen Create portal
Choose pack and Create pack are greyed outPacks are applied as part of the invite, and no delivery method is selectedTick Send onboarding invite now and pick a channel first
Section toggles reset after you hand-edited themClicking a different Portal kind pill rewrites every toggle from that kind's presetPick the kind first, then adjust the checkboxes, then save
You turned a section off but the client still gets emails about itSection flags hide the surface, not the producers behind itAlso turn the matching category off under Settings → Access → client notification preferences
Active SEO program is greyed outThe website is not enrolled in the SEO Command Center, or the portal has no projectEnrol the website, then come back. Use Retry if the check errored
A service shows on one client website but not anotherEntitlements live on a portal. A website without its own portal inherits the client's first portal's servicesFrom Client visibility, create a portal for that website so it can hold its own services
Request Approval stays disabledApprovals are project-scoped and the portal has no linked projectLink a project to the portal first
You cannot set a request to CancelledCancellation is a client-side action onlyUse Rejected, or archive the request from the Requests Inbox
An Unread client conversation marker will not clearRead markers are per personOpen and read the thread yourself
The client never received their inviteDelivery failed, or it went from the platform address and was filteredResend Invite on the Portal setup card, and verify your sending domain under Settings → Email Identity
Discovery still shows not started after the client filled the formDiscovery is stamped on both the portal and the project rowUse Mark discovery complete under Settings → Portal lifecycle, which writes both
The storefront page is blank or not foundThe storefront switch is off, Stripe is not connected, no products are on, or plans are not syncedSettings → Storefront: enable the storefront, confirm Stripe, and switch on at least one synced, priced, active plan
Cancelling an add-on did not stop the Stripe chargeRemoving portal access and cancelling a subscription are separate actsCancel the recurring charge from Manage billing, then remove access
Deleting a portal lost history you wantedDelete wipes messages, requests, tasks, files, discovery answers and the loginUse Deactivate instead — it revokes access and keeps the data

Projects and work

SymptomCauseFix
A project is in the wrong bucketBucketing reads keywords in the free-text status. A blank status counts as ActiveSet the Quick status to one of the preset stage values
A project shows 0% or “—” completion although work is doneCompletion is checkpoint-driven, and the project has no checkpointsAdd checkpoints on the project's Timeline and complete them as work lands
A quick status change reverts with “Status update failed”The write was refused by permissions, and the page read the row back rather than show a false successUse an owner account, or ask for projects edit
Dragging a project on the Work board does nothingDragging needs projects edit, and team members only see assigned projectsGrant the permission, or move the project from its detail page
A board column will not deleteDefault columns cannot be removed while cards sit in themMove those projects out first. At least one column must always stay visible
The Team tab shows nothingTeam is owner-only, and members are served only their own rowsView it as the owner. Members use My Work

Timesheets, files and notes

SymptomCauseFix
Timesheet totals do not match what someone workedA per-day override is in place — the violet adjusted chip — or the person is hidden from your viewOpen the member drill-in and Remove override, and check the eye icon beside the period
“Enter hours like 7:30, 7h 30m, or 7.5”The hours field accepts only those three formatsRe-enter in one of them
A file will not uploadFiles are capped at 100 MB and limited to an allow-list of types. Unrecognised types are refusedCompress or convert, or check the storage meter
A bulk download only saved some filesBulk download opens one browser tab per file, and pop-up blockers refuse someAllow pop-ups for the admin domain, or select fewer files
Notes in a folder are unreadableThe folder is password-protected and its notes are encryptedUnlock the folder with its password. There is no recovery if the password is lost

Scheduling and booking pages

SymptomCauseFix
A booking page link shows a neutral not available pageThe page is draft or archived, there is no verified domain, or hosted pages are not switched on for the workspaceRead the Share tab status pill — it names which of the three
No slots show on a booking pageClient booking is off, weekly hours are closed, minimum notice or the booking window excludes the range, buffers and meetings consume the day, or the calendar connection needs attentionCheck every one of those in Work → Meetings → Settings, then re-save
Zoom cannot be chosen as the locationZoom bookings are not activated for the platform, or no healthy shared Zoom host is connectedConnect Zoom in Settings → Integrations. The dropdown label says which
Scheduling edits vanish after leaving the pageSettings sit in a draft until saved — the floating bar reads Unsaved scheduling changesPress Save changes before navigating away

Leads and forms

The full set lives on Lead troubleshooting. The four people hit most:

SymptomCauseFix
A published form's link shows a neutral pageThe form is draft or archived, there is no verified domain, or hosted pages are not armed yetRead the Share tab status pill
Form answers arrive but the lead's Email or Phone is blankThe field was never mapped to a lead columnSet Maps to lead field, save, publish
The capture endpoint returns Not foundNo token, a wrong token, a rotated token, or the endpoint is disabledCheck Lead settings → Integration. The endpoint never says which on purpose
LeadPost's Test Webhook reports nothing storedThe site is still Pending installActivate the site in Zyan first, then test

SEO research and strategy

SymptomCauseFix
Start research is greyed out with a draft conflictThe website already has an open draft strategyActivate, discard or finish the draft from the Living strategy hero
Start research is disabled: “Set the niche and primary services on the Research brief first…”The brief has neither, so research could only seed from brand searchesFill Niche and Primary services in Strategy → Research → Brief, or click Draft from the website
“The Research brief looks auto-filled — review it before spending.”A brief field reads like prose rather than a search termEdit the flagged fields. This is a warning, not a block
The run shows Needs you with a Cap reached chipIt hit its cost cap mid-pipeline and parked for a decisionRaise the cap and Resume, or Cancel and keep the evidence already captured
The run parked saying entries read as a sentence, or only brand searches were foundThe seeds could not be groundedFix the brief so the terms are search terms, confirm Search Console is connected and has data, then Resume
Every paid button is greyed out: “Owner only: running this spends the DataForSEO budget.”You are a member, not an owner or adminAsk an owner. Free actions — crawl, track positions, cached reads, cancel — still work
Paid controls are blocked and readiness mentions a budgetThe monthly SEO budget is blank, and blank means paused everywhereSettings → Automation & budget: enter a positive monthly budget
Buttons read Run anywayThe monthly budget is reachedWait, raise the budget, or — as an owner — click through and record an acknowledged overrun
A research tab offers to research the host instead of showing dataThe website has no research target yetCreate the research target. If it mentions a non-country location code, set a Country in Settings → Content & page rules first
Strategy, Content, Page, Technical, Results and Settings are disabled in the railYou are on an unlinked research target, which only supports research surfacesLink the target to a Builder project, or switch back to the website
Readiness says the Search Console property does not match the hostThe selected property is a different host, often www against non-wwwPick the matching property. This is a warning, not a block
“Google is connected, but Search Console write access needs attention.”The connection predates the sitemap-submission scopeReconnect Google on that row and re-consent
Site knowledge is amberThe crawl was truncated, or the site is a client-rendered shellUse Retry site crawl. A client-rendered shell needs server-side rendering or knowledge sources added by hand
Keyword Gap shows nothing, or “Add a competitor to compare”No competitors are selected and none could be defaultedType up to four competitor domains and Compare. Pin competitors under Strategy → Research → Evidence so defaults work next time
Use with Claude is disabled, or Send failsMore than 25 keywords are selected, nothing is selected, there is no linked project, or the terminal is not configuredReduce to 25 or fewer, link a project, or use Copy prompt

Autoblog, publishing and reporting

SymptomCauseFix
A scheduled post never starts and the card says the draft is waitingThe desktop runner is preferred and no bound, current desktop app is openOpen the desktop app, sign in, bind the project folder, and use Check again. Or enable cloud fallback, which uses API credits
The post shows as published but the page 404sThe commit landed and the site repository's own deploy failedFollow Open the failed run, fix the repository and push. The post goes live with the next successful deploy
Deploy status reads unavailable with no failed run linkedThe GitHub App installation lacks Actions: Read on the repositoryGrant it, then wait for the next re-check
Posts stop at a pull requestThe schedule's publish mode is Review PR, or approval mode is Review requiredSet publish mode to auto-merge or direct push, and approval mode to trusted auto-publish
Nothing publishes and the error mentions GitHubThere is no valid GitHub App credential for the workspaceThe account owner installs or repairs the GitHub App on the GitHub tile in Settings → Integrations
Topics are generic and the card reads Limited SEO evidenceNo cached SEO opportunities exist for the site, so it fell backRun SEO setup and research, then use Preview topic ideas
“Ban list is full (50 topics).”The per-schedule banned-topics cap is 50Remove a phrase in Edit autopilot before adding another
The monthly report never generatesReporting is off, the Reports lane is paused, or the scheduler parked it after three failed runsSet a reporting mode, resume the Reports lane, and use the month card's run button
The report day of month will not saveThe value is blank or outside 1–28Enter 1 to 28
The report's public link does not existThe report was never attached, was detached, or the link was opened on another workspace's hostAttach it from Results → Reports, and share the link on your own client-portal domain
Delivery QA shows QA blocked on an unattached reportThe public route check cannot pass before the first attachApprove and deliver; the attach-only checks resolve afterwards

Builder

SymptomCauseFix
Terminal, live preview or git buttons are inertThe Builder terminal service is not configured for this deployment, so those surfaces are deliberately dormantUse the storage-mode editor and GitHub-side workflows. Ask Zyan about the terminal service
A fix stays queued and never runsNo bound desktop currently advertises the local fix capabilityOpen the desktop app with the project bound and up to date. The desktop never pushes directly
A Builder Automation shows Waiting for desktopLocal schedules run only in the desktop app with the folder boundLeave the desktop app open and signed in through the scheduled time

Content Center

SymptomCauseFix
The AI ideas button is greyed outThe workspace AI generation switch is offCreate and edit posts manually. Ask Zyan to enable AI writing — there is no self-serve toggle
A whole tab is missingEach tab has its own permission key, and the workspace content switch also has to be onAsk the owner for the matching Content Center permission
An amber banner says an account needs reconnectingA connected Facebook Page, Instagram account, LinkedIn profile or Google Business Profile lost its tokenLog in again from Settings → Integrations. Dismissing only hides it for this browser session
Approve and Reject are disabled and the row reads Content changedThe post was edited after approval was raised, so the client approved a different versionRe-send it for approval
Publishing readiness shows a missing step although the account is connectedPublishing needs three things: the Meta permission, the workspace publishing switch, and a default accountRead the three chips on Accounts → Posting → Publishing

Outbound

SymptomCauseFix
“Physical mailing address required.”Anti-spam law requires a postal address and none is savedOutbound → Settings → Automation controls → Sends, save, and retry
A campaign reports completed but nothing was sentEvery recipient is unsubscribed or suppressedCheck the list for unsubscribed contacts and pick a different audience
Open and click rates sit at 0%The campaign sent from a Gmail or Microsoft mailbox, where opens are not reportedOnly unsubscribes are meaningful for mailbox sends. Use the marketing domain sender for tracking
A sequence will not activateIt needs at least one step, at least one attached audience, and a saved mailing addressAdd all three
Sequence emails stay queuedMaster pause is on, the dispatcher stage is off, no mailbox has outreach sending on, the send window is closed, or the daily cap is spentCheck Outbound → Settings → Status first, then the dispatcher, then the mailbox
A mailbox shows Deliverability holdFive or more bounces, or two or more spam complaints, in seven daysInvestigate on the mailbox sheet, then Mark investigated
A mailbox sends far fewer than its daily capIt is on a warmup ramp, so the effective cap is lowerThe row shows sent against effective cap. Use Warmup → Advance, or Boost daily cap for 24 hours
Client replies do not appear in RepliesReplies lists outreach threads onlyUse the general inbox. Nothing is broken
Smartlead keeps sending after the master pauseThe master pause covers the Zyan outreach plane onlyPause the campaign in Outbound → Smartlead, or in Smartlead. Stop is irreversible

Messaging and announcements

SymptomCauseFix
An announcement reports far fewer recipients than expectedPer-channel skips: no phone number, no portal user, marketing opt-out, an opted-out conversation, blocked, a deactivated SMS line, exhausted email credits, no email on file, or muted in the recipient's own settingsRead the skip breakdown in the confirm modal before sending, and on the announcement afterwards

Finance and bookkeeping

SymptomCauseFix
“Connect QuickBooks to enable Bookkeeping.”There is no QuickBooks connection, or a member is viewing it — only the owner can connectThe owner connects it in Settings → Integrations → QuickBooks
“The last QuickBooks sync did not finish.”Intuit raised an error — an expired token, a revoked app, or a transient faultFix in settings, then Test, then reconnect if the token was rejected, then retry the sync
The status chip reads Paused and Sync is greyed outThe QuickBooks integration switch is off, so neither manual nor hourly syncs runTurn the integration back on, then sync
Numbers only go back a few weeksBalance snapshots are built sync by sync. History before your first sync does not existNothing to fix. Coverage grows as auto-sync runs
A member sees “Bookkeeping access required”They lack the bookkeeping permissionThe owner grants it on their team profile

Payroll

SymptomCauseFix
Run payroll is disabled or creates nothingEvery eligible member already has a statement for the period, so the missing count is zeroCheck the period navigator, and the Excluded from payroll section
A member is missing and their pay page is emptyThey are marked excluded from payrollExpand Excluded from payroll and Include them
Clock times look wrong, or “Payroll timezone not set”The payroll timezone was never set, so everything falls back to UTCSet it in Settings, or use Work timezone on the individual's payroll detail
“Approve with unsynced hour changes?”Timesheet hours changed after the statement's pay items were builtRe-sync hours from the member's Hours tab before approving

Billing and Stripe

SymptomCauseFix
A catalog plan reads Needs sync, or reconcile reports driftThe plan was edited in Zyan or in Stripe and the two copies disagreeRun Stripe reconcile to see the differences, then use the plan's sync action
Bill this client cannot be started, or the Billing tabs are emptyNo Stripe account is connected, you lack billing edit, or you are in the iOS admin shell where the wizard is hiddenConnect Stripe as the owner, grant the permission, and run the wizard from a browser or the desktop app

Analytics

SymptomCauseFix
“No Google Analytics properties selected yet” although Google is connectedThe connection exists but no GA4 properties were tickedSettings → Integrations → Google Analytics: load properties, tick them, choose a Search Console site, save
A member cannot open Analytics at allThe Analytics page is owner-only and redirects everyone elseShare reports another way — client-facing analytics lives in the client portal, and the dashboard widget covers a quick trend

Zyan AI

SymptomCauseFix
The Zyan AI nav entry or the dock icon is missingA missing plan feature, a missing permission, or the per-workspace rollout flag is offThe owner enables it for the plan and the role. If both are right, the workspace flag still has to be switched on by Zyan
Attaching a photo fails, or the paperclip is missingThe image is over roughly 3.5 MB, more than eight files were added, or you lack the Files create and view permissionsShrink the image, keep to eight files per message, and ask the owner for the Files permissions

Voice agents

SymptomCauseFix
“The organization emergency stop is active.”Someone activated the workspace emergency stop, which blocks every launchClear it in Settings → Voice & Telephony → Emergency stop, then re-run preflight
“The selected agent version is not published.”The campaign points at a draftOpen the agent, save and Publish, then re-select it on the campaign
“No AI disclosure text is configured.”The agent version's Honest disclosure wording is emptyFill it in and publish a new version
“No recording policy is configured for the organization.”The workspace recording policy was never chosenSet it in Settings → Voice & Telephony
“Transfer is enabled but no destination number is configured.”Allow human transfer is on with an empty destinationFill in the destination, or turn transfer off
“Cold consumer AI telemarketing is denied by default policy.”The audience is classified as consumer cold, which is default-deny with no in-app overrideUse consent-backed leads, internal test numbers, or a counsel-approved B2B classification
Approve is greyed out: “Run a passing preflight first.”No passing preflight result exists yetRun preflight, resolve every error-level check, then approve
The Approve dialog will not submit although nothing is failingWarnings require an exact typed acknowledgmentType the phrase exactly as shown. It is matched character for character
Leads sit at pending and are never dialedThe lead's local time is outside the calling window, the retry cooldown has not elapsed, or the daily cap is reachedRead the Block reason column, then widen the window, lower the cooldown, or raise the cap
Leads show blocked as suppressed or opted outThe number is in the opt-out registry, or the lead is do-not-contactSuppressed leads are never dialed. Remove them, or restore opt-in if it was a mistake
Preflight blocks saying live calling is disabledThe platform voice gates are in their safe default postureLive dialing is armed at the platform level, not from the admin UI. Contact Zyan. Meanwhile use simulation or Voice Lab

Ads

SymptomCauseFix
A budget change is excluded from Apply as exceeding a money guardThe new daily budget is above the cap, or too large a multiple of the current one, or a CPC bid is above the ceilingLower it, or step it up over several smaller edits. Forcing the row will not work — the server rejects it too
The Google Ads tab shows Connect a Google Ads accountThere is no OAuth connection, or it needs reconnecting or a manager account chosenComplete the owner OAuth in Settings → Integrations → Google Ads. The card's pill says which

Automations and webhooks

SymptomCauseFix
An automation is saved but never firesIt is still a draft, or a step's integration is not connected so publishing was blockedCheck the top bar for Draft differs from live and the blocker tooltip on Enable, connect the flagged integration, then enable
A webhook sender gets a 401 or 404The token is wrong — an unknown endpoint and a wrong token look identical — or someone rotated the address, which invalidates the old one immediatelyRe-copy the address from Settings → Integrations → Webhooks, rotating again if the value was lost, and paste it into the sending tool
A form-scoped automation never firesThose leads came from the raw capture endpoint, which carries no form idUse an unscoped lead created trigger

Still stuck?

If your symptom is not here, check what Zyan does not do yet before anything else — a good number of “it is broken” reports are a feature that needs an owner to arm it, or one that is not built.

Then contact support.

In this section