Skip to content

docs(faq): stop troubleshooting connectors that do not exist - #1590

Merged
os-steve merged 2 commits into
mainfrom
claude/issue-1402-faq-integrations-drift
Sep 5, 2026
Merged

docs(faq): stop troubleshooting connectors that do not exist#1590
os-steve merged 2 commits into
mainfrom
claude/issue-1402-faq-integrations-drift

Conversation

@os-steve

@os-steve os-steve commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator

Fixes #1402

The FAQ's 🔌 Integrations section troubleshot two connectors that do not exist, in the imperative. Both answers are rewritten in the shape PR #1401 gave the neighbouring Stripe answer on this same page: say what actually ships, point at Integrations, and drop the troubleshooting steps for a connector that cannot be misconfigured because it is not there. Three locales.

What was wrong, re-measured on this branch's base (main @ 1486ec0, not the 021db54 the card quotes)

line claim measured
150 (all three locales) "The Gmail / Outlook connector is connected (Settings → Email)" No connector. And no Settings app: the shipped apps are HotCRM (src/apps/crm.app.ts) plus the platform's SETUP_APP / STUDIO_APP / ACCOUNT_APP, labelled Setup / Studio / Account
151–152 "a known contact (matched by email)" · "isn't on your excluded list" Both describe the unshipped inbox connector — guides/email-and-calendar.mdx files address-matched logging under How email logging works (not shipped yet) and says exclusion lists are "not shipped"
154 / 156 (all three locales) "Check the DocuSign integration log (Setup → Integrations → DocuSign → Activity)" grep -rn 'DocuSign' src/0 (reverse control: grep -rn 'crm_lead' src/198). No connector, therefore no log and no webhook to retry

Setup → Integrations itself is real — it resolves live as a Setup group label — but as this app ships it holds exactly the two platform-contributed entries, Connect an Agent and Datasources, and no vendor mounts anything under it. Ground truth re-read off content/docs/guides/integrations.mdx (the page #756 fixed) rather than taken from a summary.

What the answers say now

  • Email. Nothing logs an inbound message, by address match or otherwise, and there is no exclusion list. What ships is the outbound half — Send Email on a contact, which writes the message as a record and leaves an entry on that contact's Activity timeline, is hidden on a contact with Email Opt Out ticked (src/actions/contact.actions.ts, visible: record.email_opt_out == false), and delivers only through the mail transport a deployment configures. Links Email & Calendar and Integrations.
  • DocuSign. No integration log to open, no webhook delivery to retry. The DocuSign row on Integrations is design intent, not a switch. Until it ships, a quote's or a contract's status is a field someone sets by hand and the signed document is a file someone attaches.

Headings are untouched, so anchors and the search paths a reader arrives on are unchanged, and a reader who searches "DocuSign" still lands on the answer — which now tells them it does not exist.

What the checks establish, and what they do not

pnpm test159 files, 3380 passed, 1 skipped, exit 0. apps/docs (its own lockfile, outside the root pnpm project; docs-app.yml): pnpm install --frozen-lockfile + pnpm run types:check + pnpm run build all exit 0, 201 doc paths prerendered.

Named guards, read before committing and re-read after:

  • docs-locale-callouts — blockquote runs per locale trio: 0 / 0 / 0 at HEAD, 0 / 0 / 0 after. The trio stays balanced, and all three files stay the same length (194 lines each).
  • docs-view-rosters — the FAQ carries no ## Standard list views section in any locale, so this guard has nothing to count here. Green, and green over nothing.
  • docs-anchor-links — every new internal link is unanchored, so this guard does not judge them; the four target pages were checked to exist by hand, in each locale.
  • docs-setup-navigation-names — this one does see the new text: rule 2 parses the bold **Setup → Integrations** (en/zh-Hant) and **设置 → 集成** (zh-Hans) citations and resolves the second segment live against the shipped roster.

Reverse verification of that last claim (the ablation), because a green guard is not evidence on its own. Predicted direction: red on mutation.

before: 'Setup → Integrations**' = 1   'Integrationz' = 0
after : 'Setup → Integrations**' = 0   'Integrationz' = 1     ← mutation proven on disk
mutated run  → exit 1:  content/docs/reference/faq.mdx: 'Setup → Integrationz'
restored     → git diff HEAD empty; blob fd6bd23 == HEAD blob fd6bd23
restore leg  → exit 0, 18 passed

⚠️ No gate can confirm the sweep was complete. Neither defect fixed here was a bold **App → …** citation, so #853's navigation rule never parsed either one and #1117's widening does not reach them. Every green above is evidence about the trio's structure, the docs build, and the new bold citations — not about whether more prose on this page names machinery that does not exist. The count below is a hand sweep, and it is the only evidence for that.

The #756 sweep of the rest of reference/faq*.mdx

Swept all three locales for connector and integration claims (connector|integrat|webhook|Slack|Zapier|Stripe|Twilio|…) and for every navigation path in the file, resolving each first segment against the platform roster.

Scope

content/docs/reference/faq{,.zh-Hans,.zh-Hant}.mdx + the changeset — the dispatched surface exactly, no src/, no test/. No guard entry was added: a rule-1 ban on the retired names would live in test/docs-setup-navigation-names.test.ts, which is off-surface, and the card is explicit that the reader-facing correction is the deliverable.

🤖 Generated with Claude Code

https://claude.ai/code/session_01DuzfS5chho38Yx1jxx9DEj

The FAQ's Integrations section told a reader whose email was not logging to
check that the Gmail / Outlook connector is connected under `Settings → Email`,
and a reader whose contract had not updated to open the DocuSign integration
log under `Setup → Integrations → DocuSign → Activity`.

Neither connector ships — `src/` carries no connector metadata and no installed
platform package supplies one — so neither screen exists, and there is no
`Settings` app at all. `Setup → Integrations` is real, but as this app ships it
holds exactly the two entries the platform contributes, Connect an Agent and
Datasources.

Both answers now say what actually ships and point at
`/docs/guides/integrations`, matching the shape #1401 gave the neighbouring
Stripe answer on this page. Three locales.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DuzfS5chho38Yx1jxx9DEj
@vercel

vercel Bot commented Sep 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
hotcrm Ignored Ignored Sep 5, 2026 3:47pm UTC

Request Review

Link Check (`link-check.yml`) went red on the changeset, not on the docs
pages. The action runs `file-extension: .md` with `check-modified-files-only`,
so the three `.mdx` files are out of its scope entirely and the changeset is
the only file it opens. It has no base URL, so it fetched the two
site-absolute paths as URLs and both returned 400.

The two guide pages are now named in prose with their paths in backticks. No
markdown link syntax is left in the file, and the three `.mdx` pages are
untouched — their links are site-absolute on purpose and are never read by
this job.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DuzfS5chho38Yx1jxx9DEj
@os-steve
os-steve marked this pull request as ready for review September 5, 2026 15:50
@os-steve
os-steve added this pull request to the merge queue Sep 5, 2026
Merged via the queue into main with commit 81a79ee Sep 5, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants