Skip to content

fix(docs): point the service-account guides at the real connect flow - #6277

Merged
waleedlatif1 merged 2 commits into
stagingfrom
fix/service-account-guide-connect-flow
Aug 5, 2026
Merged

fix(docs): point the service-account guides at the real connect flow#6277
waleedlatif1 merged 2 commits into
stagingfrom
fix/service-account-guide-connect-flow

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • 14 of 20 service-account guides sent admins to a workspace Settings → Integrations tab that does not exist. Integrations is a top-level workspace route (sidebar.tsx/workspace/{id}/integrations), and components/settings/navigation.ts has no integrations section at all
  • The same 14 told them to search the catalog for "<Service> Service Account" — a name no entry has. The catalog is block-derived, so entries are Airtable, Monday, Wealthbox; search matches name + description only, so those strings matched nothing
  • Both steps now match the 6 guides that were already correct (Box, Zoho Desk, Zoom, Salesforce, Pipedrive, Atlassian). All 20 now describe one flow
  • Google needed a third fix the original audit missed — see below
  • Adds invalidCredentialsHelp for Wealthbox

These were the first two things an admin hit, and they hit them before reaching anything provider-specific.

Verified against the code, not assumed

Every claim was checked against the actual UI rather than taken from the audit that raised them:

  • components/settings/navigation.ts — zero occurrences of "integration"; the workspace sections are teammates | secrets | byok | sandboxes | custom-tools | mcp | workflow-mcp-servers | api-keys | inbox | recently-deleted | forks | custom-blocks | self-host
  • lib/integrations/integrations.json — 233 entries, none containing "Service Account". The only "Service" names are Jira Service Management and ServiceNow
  • integrations.tsx search is a lowercased substring over name + description
  • The per-guide connect labels (Add API token, Add integration secret, …) were already correct — they come from connectNoun, and they are untouched

Google (3 edits)

Its final step said Click **Save**, but the modal's primary button is Add {connectNoun}, and Google falls back to 'service account' (service-account-provider-ids.ts) — so it reads Add service account, never "Save". Google also has no catalog entry of its own (CANONICAL_SERVICE_ACCOUNT_SLUGS maps google-service-accountgoogle-drive), so the search now points at Google Drive with a note that any Google integration works.

Wealthbox error copy

Its validator deliberately rejects a token that works only over Wealthbox's documented ACCESS_TOKEN header, because Sim's tools authenticate with Bearer. The distinguishing reason went to the server log; the user saw only "Double-check it in Wealthbox and try again." Now the modal names the real cause instead of leaving someone re-pasting a valid token.

Not fixed here: whether that Bearer-only limitation should change at all. Wealthbox documents ACCESS_TOKEN for personal tokens and Bearer for OAuth, but never says Bearer is rejected for personal tokens, and probing the live API with a bogus token returns an identical 401 for every header shape — inconclusive. The fix would touch 12 files with 4 silent-failure paths (notably the authStyle allowlist in app/api/auth/oauth/utils.ts, and 4 selector routes whose token helper structurally cannot carry authStyle), and those 10 call sites serve the working OAuth path too. That needs one real Wealthbox token to settle, not a speculative change to request signing.

Type of Change

  • Bug fix
  • Documentation

Testing

bun run lint, turbo run type-check (23/23), and the credentials suites (287 tests) all pass. Verified no "* Service Account" search string and no Settings → Integrations reference remains anywhere under apps/docs/content/docs/en/, and that all 20 guides now use the canonical step 1.

Not browser-verified — the claims are checked against the navigation, catalog and modal source rather than by clicking through.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

Fourteen of the twenty service-account guides sent admins to a workspace
Settings → Integrations tab that does not exist — Integrations is a top-level
workspace route, and there is no integrations section in the settings navigation
at all. The same fourteen then told them to search the catalog for
"<Service> Service Account", a name no catalog entry has: the list is derived
from blocks, so the entries are "Airtable", "Monday", "Wealthbox", and search
matches only name and description.

Both steps now match the six guides that were already correct (Box, Zoho Desk,
Zoom, Salesforce, Pipedrive, Atlassian), so all twenty describe one flow. The
per-guide connect labels were already right and are untouched.

Google needed a third fix: its final step said Click **Save**, but the modal's
primary button is `Add {connectNoun}`, which for Google falls back to
"Add service account". It also has no catalog entry of its own, so the search
now points at Google Drive with a note that any Google integration works.

Also adds `invalidCredentialsHelp` for Wealthbox. Its validator rejects a token
that works only over Wealthbox's documented ACCESS_TOKEN header, because Sim's
tools authenticate with Bearer — a deliberate, documented limitation whose
reason reached the server log and never the user, who saw only "Double-check it".
@vercel

vercel Bot commented Aug 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 (UTC)
docs Skipped Skipped Aug 5, 2026 3:00am

Request Review

@cursor

cursor Bot commented Aug 5, 2026

Copy link
Copy Markdown

PR Summary

Cursor Bugbot is generating a summary for commit 3180179. Configure here.

@greptile-apps

greptile-apps Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

The PR corrects service-account documentation so administrators use the actual workspace Integrations route and searchable catalog names.

  • Updates 14 guides to use the canonical integration connection flow.
  • Corrects the Google guide’s catalog target and submit-button label.
  • Adds Wealthbox-specific credential rejection guidance that covers invalid tokens, expired trials, and conditional header incompatibility.

Confidence Score: 5/5

The PR appears safe to merge.

No blocking failure remains.

Important Files Changed

Filename Overview
apps/sim/lib/credentials/token-service-accounts/descriptors.ts Adds revised Wealthbox invalid-credential guidance that safely addresses every validator path covered by the prior thread.
apps/docs/content/docs/en/integrations/google-service-account.mdx Directs users through Google Drive’s shared service-account option and uses the modal’s actual submission label.
apps/docs/content/docs/en/integrations/wealthbox-service-account.mdx Replaces the nonexistent settings tab and catalog entry with the canonical workspace integration flow.
apps/docs/content/docs/en/integrations/airtable-service-account.mdx Representative guide update now points to the sidebar Integrations route and searchable provider name.
apps/docs/content/docs/en/integrations/asana-service-account.mdx Updates the connection steps while retaining the provider-specific token action.
apps/docs/content/docs/en/integrations/attio-service-account.mdx Updates the connection steps while retaining the provider-specific API-key action.
apps/docs/content/docs/en/integrations/calcom-service-account.mdx Updates the connection steps while retaining the provider-specific API-key action.
apps/docs/content/docs/en/integrations/clickup-service-account.mdx Updates the connection steps while retaining the provider-specific API-token action.
apps/docs/content/docs/en/integrations/hubspot-service-account.mdx Updates the connection steps while retaining the provider-specific private-app-token action.
apps/docs/content/docs/en/integrations/linear-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.
apps/docs/content/docs/en/integrations/monday-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.
apps/docs/content/docs/en/integrations/notion-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.
apps/docs/content/docs/en/integrations/shopify-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.
apps/docs/content/docs/en/integrations/trello-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.
apps/docs/content/docs/en/integrations/webflow-service-account.mdx Updates the guide to use the real integration route and searchable provider entry.

Reviews (2): Last reviewed commit: "fix(docs): make the Wealthbox rejection ..." | Re-trigger Greptile

Comment thread apps/sim/lib/credentials/token-service-accounts/descriptors.ts Outdated
`invalidCredentialsHelp` replaces the generic message for every
`invalid_credentials` rejection, and the Wealthbox validator raises that code on
three paths: a 402 expired trial, a 401/403 where both header styles fail, and a
401/403 where Bearer fails but the ACCESS_TOKEN probe succeeds. The copy
described only the third, so two of the three told the user their token was
valid and pointed at remediation that could not help.

Now leads with what is checkable in all three cases and makes the Bearer note
conditional on the one signal that distinguishes it — the token working
elsewhere.
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 1e3ae6f. Configure here.

@waleedlatif1
waleedlatif1 merged commit a3a887a into staging Aug 5, 2026
30 checks passed
@waleedlatif1
waleedlatif1 deleted the fix/service-account-guide-connect-flow branch August 5, 2026 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant