Lead troubleshooting
Every common lead problem in one place — forms that will not publish, blank lead fields, duplicate leads, capture errors and provider hooks.
Most lead problems are one of a small number of things, and nearly all of them are visible somewhere on screen if you know which pill to read. Find your symptom below.
Read the Share tab status pill first
For anything to do with a hosted form not working, LeadsFormsyour formShare tells you exactly why in one line: Draft — not live, Archived, Published — waiting for hosted pages, No verified domain yet, or Live. That pill saves more time than any other check on this page.
The queue
| Symptom | Cause | Fix |
|---|---|---|
| A lead you know exists is not in the list | It converted, and converted leads leave the queue | Open the client record |
| Lost leads are missing | They are hidden by default | Turn on Include lost leads in the Filters drawer |
| Ticked rows disappear when you filter | Changing a filter clears the selection | Finish the bulk action, then re-filter |
| New leads are never assigned to anyone | Intake mode is Manual only, or the routing pool is empty | Check Lead settings → Intake and the Routing pool chip |
| The Attention lens holds nearly everything | The first-touch SLA is shorter than your real response time | Raise the Default first-touch SLA |
| A lead well inside its SLA is sitting in Attention | The lens also collects leads with no owner and leads with a follow-up due today or earlier | Assign it, or move the follow-up date. Nothing is wrong with the clock |
| The same tag appears twice in different cases | Tags are case-sensitive and are never lower-cased | Pick one casing, re-tag, and delete the other |
| An export stopped partway | A page of the export failed | Use Retry export, or Start a new export |
| A CSV import updated leads instead of adding them | Rows are matched by email | Expected. Change the email if you truly want a second record |
Forms: building and mapping
| Symptom | Cause | Fix |
|---|---|---|
| Form answers arrive but the lead's Email or Phone is blank | The field was never mapped, so the answer stayed on the submission record | Set Maps to lead field on the Build tab, then save and publish |
| A Maps to lead field pill is missing from a field | Another field already claimed that lead column | Clear it on the other field first — a column can only be claimed once |
| Submissions create duplicate leads for the same person | Merge returning visitors is off, or no field maps to Email or Phone | Turn it on in After submit and map a matching field |
| Save is refused | A field has no label, or a choice field has no options | Complete the field the editor names |
| A long form will not save | You are over the 60-field cap | Split it into two forms |
| A hidden field submits nothing | The editor has no input for a hidden field's value | Do not depend on hidden fields |
Forms: publishing and the link
| Symptom | Cause | Fix |
|---|---|---|
| A published form's link shows a neutral not available page | Hosted pages are not switched on for the workspace yet, the form is Draft or Archived, or there is no verified domain | Read the Share tab pill. Published — waiting for hosted pages means the platform switch is still off — contact Zyan |
| Publish is greyed out or refuses | One of the publish checks failed | Fix whichever is named: a valid slug; at least one field; every field complete; an Email or Phone field |
| Edits to a live form do not show for visitors | The hosted page serves the last published version, not your saved draft | Save changes, then Publish. The version number goes up |
| “A form with that link already exists — pick another slug.” | Another form in the workspace holds that slug | Change the Link slug on the Details card |
| A link you shared earlier stopped working | The slug was changed | Change it back, or reshare the new link |
| No link or snippet is offered at all | There is no verified domain | Add one under Settings → Domains |
| The embed's last field is cut off | An iframe cannot grow to fit its contents | Raise min-height past the form's tallest state, or use the script loader |
The capture API
| Symptom | Cause | Fix |
|---|---|---|
| Every request returns Not found | No token has been generated, the token is wrong, it was rotated, or the endpoint was disabled | Open Lead settings → Integration. If the pill reads Not configured, click Generate token. The endpoint deliberately never says which of these it is |
| Requests are rejected before the token is even checked | The publishable key headers are missing | Send the workspace publishable key as both the apikey header and Authorization: Bearer, exactly as the copied Request snippet shows |
A 400 on every request | A required field is missing | name, email, subject and message are all required |
| Too many requests | You hit a rate cap — 100 leads an hour on the capture endpoint, or a hosted form's per-IP or per-workspace cap | Wait for the hour to roll over. When testing from one machine, the per-IP cap bites first |
| A large request is rejected | The body is over 32 KB | Trim the payload |
A 400 on a request that looks complete | The message tripped the spam keyword filter | Reword the message, or capture that page through a hosted form instead |
| You lost the capture token | It is shown exactly once, right after generating or rotating | Click Rotate token, copy the new one immediately, and update your form |
| Requests stopped working the moment you rotated | Rotating kills the old token instantly | Paste the new token into every caller |
External form providers
| Symptom | Cause | Fix |
|---|---|---|
| An external form will not turn on | No field maps to Email or Phone | Map one before enabling |
| The mapping cannot be edited | The form is enabled | Pause it first, then edit the mapping or refresh its fields |
| The card reads Not receiving although the connection looks fine | The matching form in Lead Manager is not published | Open Leads → Forms and check it is not Draft or Archived |
| The card reads Reconnect required | The provider account connection lapsed | Reconnect the account on the provider card |
| A form disappeared from Zyan's editor controls | External form fields are owned by the provider and read-only here | Change them at the provider, then pause, refresh and re-map |
Website visitors and LeadPost
| Symptom | Cause | Fix |
|---|---|---|
| LeadPost's Test Webhook reports nothing stored | The site is still Pending install, and Zyan refuses deliveries until it is activated | Click I've installed it / Activate in Zyan first, then Test Webhook, then Enable |
| The webhook URL is gone | It is revealed exactly once | Re-mint webhook, copy the new URL, and update LeadPost |
| Deliveries stopped after a re-mint | The previous URL was invalidated immediately | Paste the new URL into LeadPost |
| The Visitors page shows No BYO visitor-ID sites yet | No LeadPost site is connected | Add a site on the LeadPost card |
| A visitor row cannot be discarded or restored | It already became a lead | Work it in Lead Manager |
| A bulk triage run only handled some rows | Bulk triage is capped per run | Read the summary and run the rest |
Prospecting
| Symptom | Cause | Fix |
|---|---|---|
| The Contact & company filters are locked | No contact-data provider is connected to the workspace | An owner connects Apollo or People Data Labs in Settings → Integrations; the badge flips from Provider needed to the provider's name |
| A search stopped partway | A budget stopped the turn | Click the Continue searching chip |
| Fewer leads were created than rows selected | Contacts with no reachable email or phone are skipped | Expected |
| Results you have seen before | They came from an earlier search | Look for the Found earlier badge, or turn on Exclude previously found businesses |
| An SMS campaign will not send | Arming a prospecting SMS campaign is owner-only, and needs an OpenPhone campaign number | Ask an owner |
Automations
| Symptom | Cause | Fix |
|---|---|---|
| A form-scoped automation never fires although leads are arriving | Those leads came from the raw capture endpoint, which carries no form id | Use an unscoped lead created trigger, or move that form onto a hosted Zyan form |
| The automation card on the Share tab is disabled | The form has unsaved changes | Save the form first |
| An automation fires twice | Every hosted-form submission also fires the general lead created trigger | Scope one of the two, or use only the general trigger |