This article will walk you through configuring your Skillcast application to allow automated user provisioning via an external connection with Salesforce. See the below sections:
Before you start
Speak to your CSM and RM about your options and the costs around user provisioning. You can also discuss details, such as what domains you want to use auto-provisioning on and what attributes or dates you need to capture.
If your Customer Success Manager (CSM) will manage the Skillcast set-up part of the integration, please provide all the necessary information to your CSM.
Preparing the Salesforce instance
The Skillcast LMS communicates with Salesforce using the built-in Salesforce REST API. In order to use this API certain steps have to be taken on Salesforce.
At its core the requirements for the User provisioning part of the integration are to allow the Skillcast LMS access to the Salesforce API using a dedicated user account. In order to achieve this the following has to be completed:
- Create a dedicated user account for the Skillcast LMS (Preparing a user)
- Create a dedicated Salesforce Connected App for the Skillcast LMS (Preparing the Application)
Preparing the User
A user will have to be created on the Salesforce platform for the Skillcast LMS – this user must be in a security group with access to manipulate the custom objects created in this guide and have enough permissions to view all users available in Salesforce.
The Skillcast LMS will require 3 attributes for this user: the Username, Password and Security Token
Generating a security token
Once the user has been created, please perform the following steps to obtain a security token:
- Log-in to the Salesforce account
The Salesforce user must be an organisation member or have admin access to the repository where Skillcast users and training will be stored.
- Click the profile avatar and choose ‘Settings’
- Select My Personal Information > Reset My Security Token
- Check your email for the security token
Preparing the Application
The following steps will have to be followed in order to create an access for the Skillcast LMS.
Creating the Connected app
- Log in to Salesforce as an Administrator
- Go to Setup
- Navigate to PLATFORM TOOLS select App Manager
- Create a New Connected App
- Basic Information
We recommend using clear naming conventions to ensure transparency going forward and to ensure any questions or issues raised use should the Skillcast support email inbox by using firstname.lastname@example.org as the contact email
- API (Enable OAuth Settings)
The Skillcast LMS will connect using OAuth, please ensure this is enabled as depicted below
- Custom Connected App Handler
The Skillcast LMS will perform actions as the user created in Preparing the User (see 1.2 Preparing the user), please select that user as the “Run As” option for this Connected App
- Save the Connected App
Retrieving the Client Id and Client Secret for the Connected App
- Navigate to PLATFORM TOOLS and select App Manager
- Find the Connected App and choose to View
- API (Enable OAuth Settings) and select Choose to Manage Consumer Details
- At this point Salesforce will ask you to Verify your Identity, please do so
- From here you can copy both the Consumer Key (Client ID) and Consumer Secret (Client Secret)
Adding Salesforce connection to Skillcast
First, you will need to use the Salesforce details to add a new External connection
Go to Management Console select Configuration then External connections
Ensure the connection type is 'Add new connection', and from the Type drop-down, choose 'Salesforce - Connected App' This will reveal fields to be completed using Saleforce's detail
- Name - Give your connection a name
- Domain - choose the user domain you will provision users into
- Features - Tick 'User Provisioning'
- Username and Password - The LMS will require the username and password of the user prepared in Skillcast System User ( Preparing the User ).
- Client ID and Secret - The LMS will require the Client ID and Client Secret belonging to the Salesforce Connected App, described in Retrieving the Client ID and Client Secret for the Connected App (Retrieving the Client ID and Client Secret for the Connect App)
- Security Token - The LMS will require a security token unique to the prepared user, described in Generating a security token (Generating a security token)
Set up user provisioning on the domain and test
First, you need to ensure that the user attributes have been mapped correctly, you can then add the connection to the domain you need to provision users into. You should test and preview changes before processing or scheduling the feed to run.
Limitations and Considerations
1. Please make sure that if you are testing or setting up this integration, you make sure you are included in the provisioning or have a test account set up in another domain. Failing to do so will disable your access by archiving your account.
2. You must enable user provisioning to return training records to Salesforce. Check out this article on how to enable the option for training records.