Docebo + Salesforce integration for SME sales teams
For a European SME running Salesforce as the CRM and Docebo as the learning platform, the integration between them moves sales enablement from a separate destination into the flow of work. Reps see their required training inside the Salesforce interface they already live in, user records stay synchronised between systems, and training completion can be tied back to opportunity stages for closed-loop reporting. Docebo Connect for Salesforce makes that wiring practical without a custom development project.
This guide covers the integration shape we deploy for SMEs: the user sync, the embedded learning surface, the field mapping that holds up in production, and the GDPR considerations that apply.
What the integration actually delivers
At steady state, three capabilities that matter for an SME sales org:
- Embedded learning. Docebo courses render inside Salesforce — record pages, homepages, or a dedicated app tab. Reps do not context-switch to take a product-training module.
- Bidirectional user sync. Salesforce users are provisioned in Docebo and kept in step with role, department, and activation changes.
- Completion-to-opportunity tracking. Training completions become Salesforce records, enabling reports like “what percentage of reps who closed >€50K deals completed the advanced pricing module.”
The third item is the one that justifies the integration commercially — it converts training from a cost line into a reporting line.
Prerequisites for a clean deployment
Five items we confirm in week 1:
- A Docebo Learn instance with administrator access.
- A Salesforce org (any edition that supports the Lightning platform — Professional and above for most SMEs) with administrator access.
- A Salesforce Connected App configured for Docebo, with OAuth scopes for
api,refresh_token, andoffline_access. - A service user in Salesforce that the integration runs as — not a person’s account borrowed for the purpose.
- A Salesforce sandbox for validation. Developer Edition works for testing the recipes before touching production.
The authoritative Docebo-side reference sits on help.docebo.com; the product overview is at docebo.com.
Field mapping for the Salesforce-to-Docebo user sync
The mapping we start from for a typical SME sales org:
| Salesforce field | SF API path | Docebo field | Docebo API path | Transform |
|---|---|---|---|---|
User.Email | user.email | TRIM, LOWER | ||
| FirstName | User.FirstName | firstname | user.firstname | TRIM |
| LastName | User.LastName | lastname | user.lastname | TRIM |
| UserRole | User.UserRole.Name | branch_id | user.branch_id | LOOKUP(role_to_branch) |
| Title | User.Title | additional_field_1 | user.additional_fields[0] | Direct |
| Department | User.Department | additional_field_2 | user.additional_fields[1] | Direct |
| Manager | User.Manager.Email | manager_id | user.manager | LOOKUP(email_to_userid) |
| IsActive | User.IsActive | status | user.status | MAP(true=0, false=1) |
UserRole → branch is the most load-bearing mapping — it drives which training assignments a rep inherits automatically. Make sure the Salesforce role hierarchy is clean before the first recipe runs, because the integration will faithfully reflect whatever is there.
Sample API calls for validating the connection
Before the scheduled sync runs in production, we confirm the Salesforce API returns the expected shape and Docebo accepts the user-create payload:
# Query active Salesforce users for the Docebo sync
curl "https://INSTANCE.salesforce.com/services/data/v59.0/query/\
?q=SELECT+Id,Email,FirstName,LastName,Department,Title,\
Manager.Email+FROM+User+WHERE+IsActive=true" \
-H "Authorization: Bearer SF_ACCESS_TOKEN" \
-H "Content-Type: application/json"
# Create a Docebo user from a Salesforce contact
curl -X POST "https://COMPANY.docebosaas.com/manage/v1/user" \
-H "Authorization: Bearer DOCEBO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"userid": "jane.doe@company.com",
"email": "jane.doe@company.com",
"firstname": "Jane",
"lastname": "Doe",
"password": "TempP@ss2026!",
"send_notification": true
}'
A 401 from Salesforce usually means the Connected App OAuth flow is misconfigured or the refresh token has expired. A 400 from Docebo usually means the payload is missing a required field for the SME’s Docebo tenant — check the tenant’s field-required settings in sandbox.
Embedded learning: how it actually renders
With the Salesforce package installed, Docebo surfaces as a Lightning component that admins drop onto any record page. The rep sees their enrolled courses, required training deadlines, and recent completions inline with the Salesforce record they are viewing. Under the hood this is a signed-iframe call to Docebo with the Salesforce session identity — no second login, no second password.
For product training tied to a specific Salesforce object, the package supports conditional rendering: show the “Enterprise Pricing Playbook” course only on Opportunity records where the amount exceeds a threshold, for example. This is where the integration stops being plumbing and starts being a sales-enablement lever.
GDPR considerations for a Salesforce-Docebo flow
Data about Salesforce users flowing into Docebo is a processing activity. The SME’s Article 30 Record of Processing has to name the purpose (sales enablement and training), the data categories (contact identifiers, role, manager), and the retention. Two items that matter:
- Minimum data. Do not map fields that do not serve the purpose. Home address, personal phone, and sensitive HR fields have no role in a CRM-LMS bridge.
- Leaver handling. When
IsActiveflips to false in Salesforce, Docebo should deactivate within one sync cycle. Docebo completion records follow the SME’s retention policy after that.
For Spanish SMEs under the Esquema Nacional de Seguridad, the sync audit trail plus the Connected App OAuth log are both useful evidence for access-control controls.
A realistic SME deployment timeline
The Salesforce-Docebo integration lands in 2–3 weeks of calendar time for a typical SME: week 1 for Connected App setup and field-mapping sign-off, week 2 for sandbox validation and embedded-learning configuration, week 3 for production cutover. For eligible Spanish SMEs, the Kit Digital scheme covers up to €12,000 for digitalisation projects and the work fits inside a broader Docebo deployment comfortably.
Ready to get started?
Working on this yourself? J4SGON S.L. delivers Docebo Connect, HRIS, SSO and migration work for European organisations — see what a scoped engagement covers or describe your project and we will reply with a written scope.
Tell us what you are integrating or migrating
Send the platform, the systems involved and where you are stuck. You get a written scope back — phases, deliverables and what is out of scope — before anything is billed.