Course 3.8 · Curriculum 2026.1
Gemini Enterprise and Salesforce: the per-user identity bridge
Connect an external agent platform to Salesforce so every tool call runs as the asking user. The platform enforces the permissions, so we never reimplement them.
- Estimated effort
- 8 hr
- Lessons
- 66
- Modules
- 10
- Material
- 8 hr
Estimated effort is the sum of the lesson and lab times in this version of the course. It is not video runtime, which is lower.
Canadian dollars. One learner, lifetime access to this course version. Tax extra.
1 lesson free to preview
This course does not issue a certificate on its own. It counts toward the paths listed below, and those do.
01What you will learn
8 capabilities, stated as things you can do
Each one is what you should be able to do at the end, not what the course covers. If an outcome is not testable, it is not an outcome.
- Design a tool-calling bridge where every call carries the calling user’s own token.
- Explain why a shared service account is a cross-user data leak waiting to happen.
- Never source a token from application-scoped state, and say precisely what goes wrong if you do.
- Fail closed when identity cannot be established, and show the user a true error.
- Map an external identity to a Salesforce user without building a second permission model.
- Expose a tool surface that cannot return more than the caller may see.
- Trace one request end to end, across two platforms, under one identity.
- Operate the bridge: token refresh, revocation, and what happens when a user is deactivated.
02Curriculum
10 modules, 66 lessons
Every lesson shows its length and its type. A SCORM lesson looks like any other lesson, which is the point of ingesting packages rather than linking out to them.
10 modules · 66 lessons · 8 hr of material
One sentence: the platform enforces the permissions, so we never reimplement them. Everything else in this course follows from it.
- VideoThe platform enforces the permissionsSalesforce already knows what this user may read. A second copy of that logic will drift, and drift means a leak.Preview6 min
- VideoWhat a tool call is, and what it must carry6 min
- VideoThe architecture, drawn end to end6 min
- ReadingWhere this fits against tiers one and two5 min
- VideoWhy reimplementing permissions always drifts eventually6 min
- VideoThe one sentence that decides every design choice in this course5 min
The worked example the rest of the course keeps returning to: a real agent, 21 tools, one identity per call.
- VideoTalk to Salesforce: what 21 tools actually do6 min
- VideoReads run without confirmation. Every write does not.6 min
- VideoA sub-agent with search grounding for contact enrichment6 min
- ReadingThe tool list, grouped by what each one is allowed to touch5 min
- VideoWhy 21 tools and not one enormous one6 min
- LabLab: sketch a tool list for your own use case14 min
The mechanism the bridge is built on. Enough OAuth to be dangerous, aimed at exactly the flow this architecture uses.
- VideoConnected apps, scopes, and the consent screen6 min
- VideoAuthorization code flow, in the shape this bridge actually uses6 min
- VideoScopes: asking for exactly what a tool needs and no more6 min
- VideoRefresh tokens against access tokens, and where each lives6 min
- ReadingOAuth vocabulary this course assumes5 min
- VideoOne authorisation binds to exactly one agent5 min
- LabLab: register a connected app and complete one authorization14 min
An identity map is not a permission model. It only says who someone is. The platform still says what they may do.
- VideoMapping an external identity to a Salesforce user6 min
- VideoWhy the mapping table is not a permission model of its own6 min
- VideoWhat happens when the mapping is missing or ambiguous6 min
- ReadingA mapping schema that survives an audit5 min
- VideoLocal development fallback, gated behind a flag never available in the cloud6 min
- LabLab: map three external identities to three Salesforce users14 min
The injected key name varies. The code probes known shapes, then scans, then raises a plain-English error instead of guessing.
- VideoThe injected key name varies, so the code has to look6 min
- VideoProbing known shapes, then scanning, then giving up honestly6 min
- VideoRaising a plain-English permission error instead of a stack trace6 min
- VideoFailing closed, and the error the user actually sees6 min
- ReadingWhat “fails closed” means, precisely, in this architecture5 min
- LabLab: build the token resolver, probe then scan then raise14 min
- VideoTesting the resolver against every shape you know, and one you invented5 min
The rule enforced in three separate agents, because the failure mode is the same every time: one person’s conversation running as another.
- VideoNever source a token from application-scoped stateAn application-scoped key is shared by every user of the agent. A token stored there runs one user’s conversation as another.6 min
- VideoAn application-scoped key is shared by every user of the agent6 min
- VideoHow a token stored there runs one user’s conversation as another6 min
- VideoThe rule enforced in three separate agents, and why it recurs6 min
- ReadingWhere application-scoped state is fine, and where it is a leak5 min
- LabLab: find the application-scoped token in a sample codebase14 min
- VideoThe code review question that catches this every time5 min
A user’s inbox is only ever reached with that user’s own token, and calendar events are created as the calling user so they own them.
- VideoNo domain-wide delegation, and what that costs you in convenience6 min
- VideoA user’s inbox reached only with that user’s own token6 min
- VideoCalendar events created as the calling user, so they own them6 min
- ReadingThe alternative: what domain-wide delegation would have let a bug do5 min
- LabLab: create a calendar event as the calling user, not the app14 min
- VideoThe trade-off, stated honestly, for a non-technical sponsor5 min
Tools that cannot over-return, described so the model can pick correctly, and shaped so a wrong pick is harmless.
- VideoDesigning a tool that cannot return more than the caller may see6 min
- VideoTool descriptions, and the model choosing the wrong one6 min
- VideoWrites: confirmation, validation and the audit record6 min
- VideoField-level security enforced by the platform, not re-checked by the tool6 min
- ReadingA tool contract: what it promises, and what it refuses to promise5 min
- LabLab: expose three read tools and one write tool20 min
- VideoWhy over-returning is a leak even when nobody asked for the extra field5 min
Refresh, revocation, deactivation and tracing. The half that decides whether this is still working in six months.
- VideoToken refresh and revocation6 min
- VideoWhat happens when a user is deactivated mid-conversation6 min
- VideoRevoking access without breaking every other user’s session6 min
- VideoMonitoring token failures as a leading indicator, not a support ticket6 min
- ReadingA runbook for “the bridge stopped working for one person”5 min
- LabLab: revoke a token and prove the next call fails closed14 min
- VideoWhat changes when the external platform rotates its own credentials5 min
One correlation id, carried from the agent turn into the Apex log. Without it a cross-platform failure is unfalsifiable.
- VideoTracing one request across two platformsOne correlation id, carried from the agent turn into the Apex log.6 min
- VideoA cross-platform failure is unfalsifiable without a correlation id6 min
- LabLab: trace a failing call to its cause20 min
- VideoThe 21-tool agent, traced: one real request end to end6 min
- ReadingWhat to log, and what never to log, on the way through5 min
- VideoReviewing the whole bridge against the thesis one more time5 min
- QuizCheck: the identity bridge24 min
03Before you start
What you need first
Assumed knowledge and setup
- Courses 3.4 and 1.2. This is a permission-model course as much as an AI course.
- A Salesforce org you can create a connected app in, and access to an external agent platform.
- Comfort with OAuth 2.0. Course 2.5 carries the primer.
Courses that come first
- 3.4 · Calling a model from Apex safely8 hr · Advanced
- 1.2 · Users, profiles, permission sets and sharing5 hr · Beginner
Part of these paths
- The Full StackShareCo Certified Platform Engineer
04Who teaches it
Elliot Saha
Co-founder, Chief Technology Officer
Platform architecture, custom Apex and Lightning Web Components, AI systems, and the Academy platform itself.
05Reviews
No learner reviews yet
This course has not been taken by enough people to publish an honest rating, and we will not print invented quotes on a page that sells verification discipline. Here is what we can evidence instead.
- Assessment
- Lesson checks onlyThis course carries lesson checks. The certificate is issued by the path assessment, not by this course.
- Curriculum version
- 2026.1You enrol into a version. Content changes do not move you mid-course, and your required-lesson count is snapshotted at enrollment.
- Refunds
- 14 daysFull refund within 14 days if you have completed under a quarter of the required lessons. Stated here rather than in a footer.
Start 3.8
Enrol as an individual, or buy seats and assign this course to your team. Progress is reported per lesson, per module and per path.
- 8 hr estimated effort, labs included
- Lifetime access to the version you enrol in
- A ShareCo certificate is not a Salesforce certification