docs(salesforce): correct the setup steps that would strand an admin - #6526
Conversation
Verified the guide against Salesforce's current UI and docs. Most of it holds; these do not: - The Client Credentials step told admins to check "Enable Client Credentials Flow" under OAuth Policies. On an External Client App that checkbox is under Edit Settings → OAuth Settings; the Policies page holds only the Run As picker, so anyone following it literally hunts for a control that is not on the screen. The FAQ answer inherited the same conflation. - Pre-authorizing the app must go through the profile or a SECOND permission set. A permission set backed by the Salesforce API Integration license cannot hold an Assigned Connected Apps section at all, so the app can never be assigned from the same permission set that grants object access — which produces exactly the "user hasn't approved this consumer" failure that step exists to prevent. This is the likeliest way a JWT setup fails. - Salesforce requires an RSA key of at least 2048 bits; an ECDSA key is silently rejected, and the certificate must stay under 4 KB. - The JWT toggle does not appear until Enable OAuth is on, and the control is "Upload Files". Also scopes the capability promise for the API-only license: SOQL and CRUD on standard objects are supported, reports and dashboards are genuinely unverified in either direction, and Apex Class Access is a permission this license cannot hold, so Tooling API calls touching ApexClass will fail.
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
PR SummaryLow Risk Overview Client credentials: Step 2 now points to Edit Settings → API (Enable OAuth Settings) for Enable OAuth. Step 3 clarifies that Enable Client Credentials Flow lives in OAuth Settings (step 2), while Policies only sets Run As—fixing instructions that sent people hunting for a checkbox on the wrong screen. JWT bearer: Adds warnings for RSA ≥2048 keys and 4 KB cert limit; notes Enable OAuth must be on before the JWT toggle and to use Upload Files for My Domain: Corrects Developer Edition host to API-only license: New callout limits the promise—SOQL/CRUD on standard objects OK; reports/dashboards unverified; Apex Class Access blocked on Tooling API Reviewed by Cursor Bugbot for commit fcf8167. Configure here. |
Greptile SummaryThe documentation now corrects Salesforce External Client App setup instructions and clarifies JWT, permission-set, API-only license, and My Domain requirements.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| apps/docs/content/docs/en/integrations/salesforce-service-account.mdx | Updates the Salesforce service-account guide, including a complete fix for the previously conflicting Developer Edition hostname instructions. |
Reviews (2): Last reviewed commit: "docs(salesforce): align the Developer Ed..." | Re-trigger Greptile
…e setup section The setup section was corrected to make the `-dev-ed` suffix conditional, but the FAQ still presented it as mandatory — so an admin whose Developer Edition domain lacks the generated suffix would read two contradictory formats on the same page and validate against a host that does not exist.
|
@cursor review |
There was a problem hiding this comment.
✅ 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 fcf8167. Configure here.
Summary
Follow-up to #6508. Verified the Salesforce integration-user guide against Salesforce's current UI and first-party docs before we point a customer at it. Most of it holds; four things do not, and one of them is the likeliest way a JWT setup fails.
user hasn't approved this consumerfailure that step exists to prevent.Also scopes the capability promise for the API-only license, so we don't advertise something untested:
ApexClasswill fail. Custom field/object management is unaffected.Verified as accurate and left alone: External Client App is the right object, Connected App creation is disabled org-wide since Spring '26, the
opensslcommand and a 10-year self-signed cert are fine, the My Domain formats are current post-Enhanced-Domains, and "Admin approved users are pre-authorized" is the verbatim current label.Type of Change
Testing
fumadocs-mdx+tsc --noEmitclean, biome clean, MDX component nesting balanced and the FAQ block still parses.Checklist