Provisionner des utilisateurs et des groupes avec SCIM

Vous pouvez provisionner et gérer les utilisateurs et les groupes d'un espace de travail Notion avec la norme API SCIM (System for Cross-domain Identity Management). 🔑

Remarque : cette fonctionnalité est disponible uniquement pour les utilisateurs du forfait Entreprise.
Avec l'API SCIM de Notion, vous pouvez :
Provisionnement et gestion des utilisateurs
Créer et supprimer des membres dans votre espace de travail.
Mettre à jour les informations de profil d'un membre.
Extraire les membres de votre espace de travail.
Rechercher des membres par nom ou adresse e‑mail.
Provisionnement et gestion des groupes
Créer et supprimer des groupes dans votre espace de travail.
Ajouter et enlever des membres dans un groupe.
Extraire les groupes de votre espace de travail.
Rechercher des groupes par nom.

Remarque : pour le moment, vous ne pouvez pas gérer les invités de l'espace de travail à l'aide de l'API SCIM de Notion.
Nous prenons actuellement en charge Okta, OneLogin, Rippling et les applications SCIM personnalisées. Si vous utilisez à un autre fournisseur d'identité, dites-le nous. Voir les instructions concernant la configuration du fournisseur d'identité pour des applications spécifiques ici →
Conditions préalables à la configuration du SCIM avec Notion
Pour utiliser le SCIM avec Notion :
Votre espace de travail doit être au forfait Entreprise.
Votre fournisseur d'identité (IdP) doit prendre en charge le protocole SAML 2.0. Voir les instructions concernant la configuration du fournisseur d'identité pour des applications spécifiques ici →
Un propriétaire d'espace de travail doit configurer le SCIM pour l'espace Notion.
Si vous souhaitez utiliser SCIM pour modifier le nom ou l'adresse e-mail d'un utilisateur, vous devez avoir vérifié la propriété de son domaine de messagerie. En savoir plus sur la vérification des domaines →
Générer un jeton API SCIM
Seuls les propriétaires d'organisations disposant du forfait Enterprise peuvent générer et afficher leurs jetons API SCIM. Pour créer un jeton d'API SCIM :
Ouvrez le sélecteur d'espaces de travail et sélectionnez
Gérer l'organisation. Vous devrez peut-être d'abordconfigurer l'organisationsi ce n'est pas déjà fait. En savoir plus ici →Dans l'onglet
Généraldes paramètres d'organisation, sélectionnez>à côté deProvisionnement SCIM.

Remarque : pour chaque espace de travail que vous souhaitez gérer via SCIM, vous devez générer un jeton d'API SCIM distinct.
Révoquer un jeton
Lorsqu'un propriétaire d'espace de travail quitte cet espace ou change de rôle, son jeton est révoqué. Dans ce cas, nous envoyons automatiquement un message aux propriétaires restants pour les aviser qu'un jeton révoqué doit être remplacé.
En outre, les jetons actifs peuvent être révoqués par n'importe quel propriétaire d'espace de travail. Pour révoquer un jeton, cliquez sur 🗑 à côté du jeton.
Remplacer des jetons existants
Si un jeton est révoqué, vous devrez le remplacer dans toutes les intégrations qui l'utilisent.
Toutes les intégrations SCIM et automatisations de création d'utilisateurs basées sur le jeton révoqué seront désactivées jusqu'au remplacement avec un nouveau jeton.

Important : pour éviter de casser les intégrations qui utilisent des jetons API SCIM, assurez-vous de remplacer tous les jetons associés à un compte administrateur avant de le supprimer.
Supprimer les e-mails d'invitation
Pour choisir si les utilisateurs provisionnés par SCIM recevront des e-mails les invitant à intégrer des espaces de travail et des groupes, les propriétaires d'organisations du forfait Entreprise peuvent :
Ouvrez le sélecteur d'espaces de travail et sélectionnez
Gérer l'organisation.Dans l'onglet
Général, activez l'optionSupprimer les e-mails d'invitation du provisionnement SCIMsi vous ne souhaitez pas envoyer d'e-mails aux utilisateurs.
Provisionner des membres restreint·es via SCIM
Pour approvisionner un· e membre restreint·e via SCIM, vous devez définir l'attribut « role » de SCIM sur « restricted_member » :
"urn:ietf:params:scim:schemas:extension:notion:2.0:User": { role: string // "owner" | "membership_admin" | "member" | "restricted_member" }
Pour faire passer un·e invité·e de page à un·e membre restreint·e via SCIM, vous devez utiliser POST /scim/v2/Users.
GET /ServiceProviderConfigGETRenvoie une description des caractéristiques disponibles de la spécification SCIM.
Définie dans la section 5 de la spécification du protocole SCIM.
GET /ResourceTypesGETRenvoie la liste des types de ressources SCIM disponibles.
Définie dans la section 6 de la spécification du protocole SCIM.
La table ci-dessous affiche la correspondance entre les attributs utilisateur SCIM et les champs du profil utilisateur Notion. Les propriétaires d'organisation choisissent les attributs à envoyer à Notion et peuvent mettre à jour ces attributs à tout moment. Notion traite les attributs que vous envoyez via l'API SCIM de Notion pour améliorer l'expérience de provisionnement et de gestion des utilisateurs et des groupes.
Attribut SCIM | Champ de profil utilisateur Notion |
|---|---|
userName | E-mail (ce champ est obligatoire) |
name.formatted | Nom (le champ de nom recommandé. Étant donné que Notion dispose d'un seul champ de nom, vous pouvez créer une expression dans Okta pour combiner tous les champs de nom.) |
name.familyName | Nom (peut être utilisé en combinaison avec name.givenName comme alternative à name.formatted.) |
name.givenName | Nom (peut être utilisé en combinaison avec name.familyName comme alternative à name.formatted.) |
photos | Photo de profil |
title | Titre |
entreprise.manager.value | Responsable (il doit s'agir d'une adresse e-mail.) |
enterprise.manager.displayName | Responsable |
phoneNumbers | Numéro de téléphone |
addresses | Adresse |
enterprise.division | Division |
enterprise.department | Service |
enterprise.costCenter | Centre de coûts |
enterprise.organization | Organisation |
enterprise.employeeNumber | Numéro d'employé |
roles | Rôles |
timezone | Timezone |
locale | Région |
preferredLanguage | Langue préférée |
userType | UserType |
emails | |
active | Actif |
GET /UsersGETRenvoie une liste paginée des membres de l'espace de travail.
Vous pouvez paginer avec les paramètres
startIndexetcount. Le paramètrestartIndexdémarre à 1 (1-indexed) et peut aller jusqu'à 100.Vous pouvez filtrer les résultats avec le paramètre
filter. Les attributs valides à filtrer sontemail,given_nameetfamily_name, par exempleGETImportant : les valeurs des paramètres
given_nameetfamily_namesont sensibles à la casse. L'adresse e‑mail est convertie en minuscules.
GET /Users/GETRenvoie un membre de l'espace de travail par son identifiant utilisateur Notion. L'identifiant est un UUID de 32 caractères au format suivant :
00000000-0000-0000-0000-000000000000.Notez que les paramètres
meta.createdetmeta.lastModifiedne sont pas des valeurs d'horodatage.
POST /UtilisateursPOSTSi la personne que vous ajoutez possède déjà un compte Notion avec la même adresse e‑mail, elle sera ajoutée à votre espace de travail.
Si l'utilisateur n'existe pas, l'appel de cette fonction créera un nouvel utilisateur Notion, puis l'ajoutera à votre espace de travail. Les attributs d'utilisateur seront ajoutés dans les champs correspondants du nouveau profil utilisateur Notion.
L'API SCIM lira la propriété de photo de profil lors de la création de l'utilisateur, mais pas lors des mises à jour ultérieures.
PATCH /Users/PATCHMet à jour à travers une série d'opérations et renvoie l'enregistrement utilisateur mis à jour.

Remarque : vous pouvez mettre à jour les informations de profil d'un membre uniquement si vous avez vérifié la propriété du domaine de son adresse e‑mail (il s'agit du même domaine de messagerie que vous avez configuré pour l'authentification unique SAML avec Notion). Vérifiez votre domaine en suivant les instructions ici →
PUT /Users/PUTMet à jour et renvoie l'objet utilisateur mis à jour.
DELETE /Users/DELETESupprime un utilisateur de votre espace de travail. Le compte est déconnecté de toutes les sessions actives.
Remarque : le compte utilisateur ne peut pas être supprimé avec SCIM. Vous devez supprimer un compte manuellement.
Pour supprimer un utilisateur de votre espace de travail, vous pouvez également définir l'attribut utilisateur
actifsurfalseen envoyant une requêtePATCH /Users/ou une requêtePUT /Users/.Note : le propriétaire d'espace de travail qui a créé le jeton SCIM ne peut pas être supprimé par API. Lorsqu'un propriétaire d'espace de travail est supprimé via l'API SCIM, tous les jetons qu'il ou elle a créés sont révoqués et toutes les intégrations qui utilisent ces jetons sont interrompues.

Note : vous pouvez attribuer des niveaux d'espace de travail aux utilisateurs en utilisant l'attribut rôle, qui est une extension du schéma d'utilisateur existant. Le format est :
"urn:ietf:params:scim:schemas:extension:notion:2.0:User": { role: string // "owner" | "membership_admin" | "member" }
GET /GroupsGETRenvoie une liste paginée des groupes de l'espace de travail.
Vous pouvez paginer avec les paramètres
startIndexetcount. Notez que le paramètrestartIndexdémarre à 1 (1-indexed) et peut aller jusqu'à 100. Par exempleGETSi la pagination n'est pas utilisée, la requête renverra un maximum de 100 groupes de l'espace de travail.
Vous pouvez filtrer les résultats avec le paramètre
filter. Les groupes peuvent être filtrés par l'attributdisplayName. Par exempleGET
GET /Groups/GETRenvoie un groupe de l'espace de travail par son identifiant de groupe Notion. L'identifiant est un UUID de 32 caractères au format suivant :
00000000-0000-0000-0000-000000000000.
POST /GroupsPOSTCrée un nouveau groupe dans l'espace de travail.
PATCH /Groups/PATCHMet à jour un groupe à travers une série d'opérations.
PUT /Groups/PUTMet à jour un groupe de l'espace de travail.
DELETE /Groups/DELETESupprime un groupe de l'espace de travail.

Remarque : si un groupe est l'unique entité à avoir un accès complet à une page, vous ne pourrez pas le supprimer.

En savoir plus
