Disclaimer: This integration will be deprecated on April 21, 2025. If you have cloned this integration in Docebo Connect, you can continue to use your recipes after this date but note that Docebo will no longer issue updates or offer support.
Introduction
Docebo Connect is a Docebo module acting as a connector between your platform and third-party SaaS systems, helping you to integrate your platform with more than 400 third-party external systems, reducing the integration effort.
Docebo Connect offers a large catalog of connectors for the most popular SaaS systems, to manage automated workflows (called recipes) shared among systems in order to exchange and share data on the basis of triggers.
Please note that Docebo Connect takes advantage of the APIs and business logic already existing in the integrating systems and does not create new ones. In addition, Docebo Connect does not manage SSO flows with Identity Providers (such as SAML, OpenID Connect, etc), JavaScript integrations (such as Google Analytics or Google Tag Manager) or iframe integrations (such as Docebo OEM or Salesforce Canvas).
This article describes the process of using Docebo Connect recipes to facilitate the provisioning or mapping of users via Slack. This set of recipes is designed to be run in conjunction with the Docebo for Slack integration.
For more information on the definition of terms and concepts used throughout this article, please read Docebo Connect Glossary of Terms.
Activating Docebo Connect
To activate Docebo Connect on your platform or sandbox, please reach out to your Docebo account manager. Please note that depending on the integration requirements, there may be associated costs.
Before you start
All the recipes for this integration can be found in the project's folder. This folder should be considered a “special folder” as all the recipes contained within are subject to automatic updates. As such, any customizations you make to recipes located within the folder can be overwritten by Docebo. In order to prevent such an occurrence, it is strongly advised to create a new project folder for any recipes you wish to use in production and copy or clone the recipes from the project's folder inside.
Prior to configuring and using the integration, you need to make clones of all the recipes used in this integration. For more information on how to clone and edit a cloned recipe, please see Docebo Connect Usage: Copying Recipes. The list of recipes that need to be cloned can be found in the Recipes chapter of this article. All recipes that call a sub-recipe will require editing, the called sub-recipes can be found in a list inside the recipe description.
Please note: This set of recipes requires the Docebo for Slack integration to be configured with Synchronization frequency set to manual, but not run before continuing. To do so, press only the Add to Slack button in the native integration using the same Slack account that you are using for the Docebo Connect for Slack recipes. Using a different account will result in the integration returning an error and not working.
Configuring the integration
Configuring the lookup table
Click on the gear icon and locate Docebo Connect, then click on Manage. Next, click on the Lookup Table tab and then click on the integration-settings table.
Please make sure that the table in the platform matches the table presented here, if any of the following rows are missing, please add them by typing the values in the relevant text boxes and then pressing the check mark icon to save the row.
Add the following rows if they do not already exist:
Integration | Key | Value |
---|---|---|
SLACK |
NOTIFICATION_MAIL_ID |
The email value that should be used by the recipes of this integration for error notification purposes. |
SLACK |
PROVISION_SLACK_USER_DATA |
When set to true , Slack users will get created as a new user in Docebo Learn, if not present. If the provisioned user is already present in Docebo Learn then the user details will get updated.If this value is not set to true , user provisioning will not be performed |
SLACK |
MAP_SLACK_USER_DATA |
When set to true , the Slack user details (slack_id , slack_name and slack_team ) will be mapped with the respective Docebo Learn user_id in the Slack table. If this value is not set to true , user details mapping will not be performed. |
The populated table will look as follows:
Configuring the Docebo for Slack app
Click on the gear icon to access the Admin menu, locate Slack and press Manage. There, click Add to Slack, provide the workspace to be configured and connect to the workspace.
You will be redirected to Slack to sign in. Next, select the channel the integration should post to and then press the Allow button.
Configure the Slack event subscription
Press the gear icon to access the Admin menu, locate Docebo Connect and press Manage.
Next, locate the recipe called Slack Real-Time Sync.
Inside the recipe click on the first item in the recipe to reveal a slide-out window where you can find a Request URL.
Copy the request URL to your clipboard, then login to your Slack admin workspace using the URL:
<workspace>.slack.com/admin
Where <workspace>
is the name of your workspace in Slack.
Next, navigate to https://api.slack.com/apps (opens in a new tab) in order to create a new app.
There, press Create New App. Choose a name for your Slack app and select your workspace to create your app.
Once the app the created, go to Event Subscriptions and Enable the events.
Paste the URL copied from the recipe into the Request URL field.
In the Subscribe to events on behalf of users section, press Add Workspace event. In the resulting drop-down menu, select the user_profile_changed
event then press Save Changes.
Next, navigate to the Install App tab and press the Install to workspace button. In the resulting window, press the Allow button.
Please note: If a configuration is changed or updated in the app build, the app must be reinstalled in Slack. To do so, navigate to the Install App tab and press the Reinstall to Workspace button. In the resulting permissions window, press the Allow button.
The Slack workspace used for the connection of the slack recipes in Docebo Connect must be the same as that of the Slack workspace configured to the Slack integration in the Docebo platform.
Recipes
Workflow recipes
Please note: In order for this integration to work properly, the following recipes need to be started first:For more information about starting recipes, please see Docebo Connect usage: common recipe actions.
- Slack Real-Time Sync
- Validate Connection
- Recursion - Retrieve User Details
- Retrieve User details
- Process user details
- Map user details to Slack table
Slack Real-Time Sync
This recipe needs to be started.
The recipe is responsible for real-time synchronization, which gets triggered when a user joins the workspace or the user profile details get changed in Slack.
- Trigger
- New events in slack (real time)
- Calls to other recipes
Validate Connection
The recipe validates the connection (slack workspace) used for slack recipes in the Docebo Connect app against the connection (slack workspace) used for the Slack integration app in Docebo.
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Recursion - Retrieve User Details
The recipe is responsible for performing recursive calls to retrieve user details from Slack workspace.
- Trigger
- Triggered via function call
- Calls to other recipes
Retrieve User details
The recipe is responsible for retrieving the user details from Slack through pagination.
- Trigger
- Triggered via function call
- Calls to other recipes
Process user details
This recipe is responsible for performing upsert operations to create or update user details in Docebo.
- Trigger
- Triggered via function call
- Calls to other recipes
Map user details to Slack table
The recipe is responsible to map the LMS user with the slack user in the slack_user
table
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Utility recipes
Please note: Utility recipes are recipes designed to be run manually to perform initial or maintenance tasks. These recipes should not be started like regular workflow recipes.
Reset Slack user mappings
The recipe resets the mappings created in the slack_user
table in Docebo.
Tip: This recipe requires the Delete Mappings utility recipe to be started before being run. Once this recipe has been run, you can safely stop the Delete Mappings recipe again.
- Trigger
- Manual run
- Calls to other recipes
Delete Mappings
The recipe deletes all the mappings from the slack_user
table in Docebo when called.
- Trigger
- Triggered via function call
- Calls to other recipes
-
- None
Bulk User Import - Slack to Docebo
This recipe needs to be started manually once.
The recipe is responsible for performing the initial batch sync.
Tip: This recipe requires the Workflow recipes, except for Slack Real-Time Sync, to be started before it is run.
- Trigger
- This recipe should not be started, it should be run only once via "test recipe" in the recipe editor, otherwise it will reset all user mappings every five minutes
- Calls to other recipes