Français
SharePoint
Range, qualifie et partage des documents dans un site SharePoint, et tient ses listes à jour.
Le nœud SharePoint travaille sur les sites d’équipe d’une organisation Microsoft 365 : il range, retrouve, déplace, partage et qualifie des documents dans une bibliothèque de documents, crée des dossiers (y compris des arborescences entières copiées depuis un dossier gabarit), et tient à jour des listes SharePoint. C’est un seul nœud avec une ressource (resource) et, pour chaque ressource, une action ; les champs affichés dépendent de ce choix.
Il exige l’accès SharePoint d’un compte Microsoft, affiché comme la capacité SharePoint dans Connexions. Voir Microsoft. Cet accès demande en général qu’un administrateur Microsoft 365 donne son consentement une fois pour toute l’organisation ; d’ici là, les membres voient un écran « Approbation d’un administrateur requise » en se connectant. Le nœud agit avec les droits du membre qui exécute le workflow, sur les sites auxquels ce membre a déjà accès.
Pour le OneDrive personnel du membre, utilisez Déposer dans OneDrive et les nœuds voisins. Pour un classeur Excel rangé dans une bibliothèque, utilisez le nœud Excel.
En bref
- Type :
sharepoint.api· version 1 - Catégorie : Actions
- Nature : Étape — s’exécute pendant une exécution
- Effet : Écrit à l’extérieur (
external_write) — écrit hors de Mankomail ; décrit au lieu d’être fait pendant un essai - Exige un mail porteur : Non
- Connexion : Microsoft (capacité
sharepoint) - Entrées :
main - Sorties :
main
Connexion
Ce nœud exige une connexion Microsoft avec la capacité sharepoint accordée.
Paramètres
credential
Compte Microsoft — Le compte dont on emprunte les droits SharePoint. Connectez-le depuis Connexions — cette autorisation demande souvent l’accord d’un administrateur Microsoft 365, une fois pour toute l’organisation.
- Type : Connexion (
credential) - Requis : Non
- Défaut :
""(vide)
resource
Sur quoi on agit
- Type : Un choix (
options) - Requis : Oui
- Défaut :
file - Options :
site— Site : Trouver un site d’équipe, ou lister ses sous-sites.library— Bibliothèque : Les bibliothèques de documents d’un site.file— Fichier : Déposer, chercher, ranger, partager, qualifier un document.folder— Dossier : Créer un dossier — ou toute une arborescence, en copiant un dossier modèle.list— Liste : Les listes d’un site et leurs colonnes.listItem— Élément de liste : Les lignes d’une liste : un registre d’échéances, de dossiers, de parties.
siteOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
site.search - Options :
site.search— Chercher un site : Cherche par nom. C’est la seule découverte possible : Microsoft n’autorise pas un compte à lister tous les sites.site.get— Obtenir un site : Par son identifiant, ou par une URL collée depuis le navigateur.site.subsites— Lister les sous-sites : Les sites enfants d’un site.
- Affiché quand :
resourcevautsite
libraryOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
library.list - Options :
library.list— Lister les bibliothèques : Les bibliothèques de documents du site. Les bibliothèques système sont masquées.
- Affiché quand :
resourcevautlibrary
fileOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
file.upload - Options :
file.list— Lister un dossier : Le contenu d’un dossier — le contrôle de complétude d’un dossier client.file.search— Chercher : Cherche dans le nom, les métadonnées et le contenu des documents.file.get— Obtenir un document : Les informations d’un document désigné par son identifiant.file.download— Récupérer le contenu : Le fichier est déposé dans les pièces jointes de l’exécution (un « Composer un mail » peut le joindre par sa position), avec un lien valable une heure et le texte quand il est lisible.file.upload— Déposer une pièce jointe : Les pièces jointes (du mail ou ajoutées par une étape) — ou un texte — dans un dossier de la bibliothèque, sous le nom de votre choix.file.move— Déplacer ou renommer : Dans la même bibliothèque : Microsoft ne déplace pas d’une bibliothèque à l’autre.file.copy— Copier : Copie un document. Attention : la copie ne conserve ni les colonnes ni les permissions.file.delete— Mettre à la corbeille : Rien n’est supprimé définitivement : le document part à la corbeille du site.file.share— Créer un lien de partage : Un lien révocable, à coller dans un mail — plutôt que d’envoyer 200 Mo de pièces jointes.file.metadata_get— Lire les colonnes : Les colonnes SharePoint du document : « Client », « N° de dossier », « Type d’acte ».file.metadata_set— Écrire les colonnes : Renseigne les colonnes du document. Les colonnes non citées ne bougent pas.
- Affiché quand :
resourcevautfile
folderOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
folder.create - Options :
folder.create— Créer un dossier : Crée le dossier s’il n’existe pas déjà — une nouvelle tentative ne crée pas de doublon.folder.from_template— Créer depuis un dossier modèle : Copie un dossier modèle, sous-dossiers compris, et attend la fin de la copie avant de rendre la main.
- Affiché quand :
resourcevautfolder
listOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
list.list - Options :
list.list— Lister les listes : Les listes du site, sans la plomberie SharePoint.list.columns— Lister les colonnes : Les colonnes d’une liste, avec leur nom interne — celui qu’il faut écrire.
- Affiché quand :
resourcevautlist
rowOperation
Action
- Type : Un choix (
options) - Requis : Oui
- Défaut :
row.upsert - Options :
row.list— Lister les lignes : Les lignes d’une liste, filtrées si besoin.row.get— Obtenir une ligne : Une ligne par son identifiant.row.create— Créer une ligne : Ajoute une ligne. Sans colonne clé, une nouvelle tentative de l’étape en créerait une seconde : préférez « Créer ou mettre à jour ».row.update— Mettre à jour une ligne : Modifie les colonnes citées d’une ligne connue par son identifiant.row.upsert— Créer ou mettre à jour : Rapproche par la valeur d’une colonne clé : un rappel met à jour la ligne au lieu d’en créer une deuxième.row.delete— Supprimer une ligne : Retire une ligne de la liste.
- Affiché quand :
resourcevautlistItem
site
Site — Choisissez dans la liste (vos sites suivis), collez l’URL d’un site, ou son identifiant. Laissé vide : le site racine de l’organisation.
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant, coller une URL (
sharepoint.site) - Listé avec la connexion de :
credential - Affiché quand :
resourcene vaut passiteousiteOperationne vaut passite.search
library
Bibliothèque de documents — La bibliothèque du site où vivent les documents. « Documents » est celle de tout site neuf.
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.library) - Listé à l’intérieur de :
site - Listé avec la connexion de :
credential - Affiché quand :
resourcevautfileouresourcevautfolder
folder
Dossier — Laissé vide : la racine de la bibliothèque. Pour un sous-dossier profond, collez son identifiant — par exemple celui rendu par une étape « Créer un dossier ».
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.folder) - Listé à l’intérieur de :
library - Listé avec la connexion de :
credential - Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.list,file.search,file.upload) ouresourcevautfolder
item
Identifiant du document — L’identifiant rendu par une étape précédente : {{ data.api_1.items.0.id }}.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 512 caractères au plus
- Exemple :
{{ data.api_1.items.0.id }} - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.get,file.download,file.move,file.copy,file.delete,file.share,file.metadata_get,file.metadata_set - Expressions :
{{ }}accepté
targetFolder
Dossier de destination — Où poser le document. Laissé vide sur un renommage : le document ne bouge pas.
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.folder) - Listé à l’intérieur de :
library - Listé avec la connexion de :
credential - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.move,file.copy
template
Dossier modèle — Le dossier modèle à copier, sous-dossiers compris. ⚠️ Une copie ne conserve ni les colonnes ni les permissions : le dossier créé hérite de celles de sa destination.
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.folder) - Listé à l’intérieur de :
library - Listé avec la connexion de :
credential - Affiché quand :
resourcevautfolderetfolderOperationvaut l’une defolder.from_template
name
Nom — Accepte des expressions {{ }}. Les caractères que SharePoint refuse (: / \ * ? " < > |) sont remplacés par un tiret, et l’étape le dit.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 255 caractères au plus
- Exemple :
{{ data.extract_1.vendeur }} – {{ data.extract_1.residence }} - Affiché quand : (
resourcevautfolderetfolderOperationvaut l’une defolder.create,folder.from_template) ou (resourcevautfileetfileOperationvaut l’une defile.move,file.copy) - Expressions :
{{ }}accepté
source
Ce qu’on dépose
- Type : Un choix (
options) - Requis : Oui
- Défaut :
attachment - Options :
attachment— Les pièces jointes : Celles du mail et les fichiers ajoutés par une étape précédente, déposés tels quels — le cas « classe l’acte ».text— Un texte : Un contenu que vous écrivez : un compte rendu, un résumé, un CSV.
- Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.upload
selection
Pièces jointes retenues
- Type : Un choix (
options) - Requis : Oui
- Défaut :
all - Options :
all— Toutes les pièces jointes : Celles du mail déclencheur, puis les fichiers ajoutés par les étapes précédentes (un acte rapatrié, un PDF signé), dans cet ordre.first— La première seulement : La première PJ, quand on sait qu’il n’y en a qu’une qui compte.byMime— Par type de fichier : Par type MIME :application/pdf, ou toute une famille avecimage/*.byName— Par nom de fichier : Par motif sur le nom :*.pdf,facture-*.
- Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.upload) etsourcevautattachment
mime
Type de fichier — Type MIME exact (application/pdf) ou famille entière (image/*). Laissé vide, aucune PJ n’est retenue.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
application/pdf - Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.upload) etsourcevautattachmentetselectionvautbyMime - Expressions :
{{ }}accepté
namePattern
Nom du fichier — Motif simple : * remplace n’importe quoi, ? un caractère (*.pdf, facture-*). La casse est ignorée.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 200 caractères au plus
- Exemple :
*.pdf - Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.upload) etsourcevautattachmentetselectionvautbyName - Expressions :
{{ }}accepté
text
Contenu — Le texte du fichier. Accepte des expressions {{ }} : {{ data.summarize_1.summary }}, {{ email.subject }}.
- Type : Texte long (
text) - Requis : Non
- Défaut :
""(vide) - 200000 caractères au plus
- Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.upload) etsourcevauttext - Expressions :
{{ }}accepté
fileName
Nom du fichier déposé — Extension comprise. Laissé vide avec des pièces jointes, chacune garde son nom ; rempli, il ne s’applique que si une seule PJ est retenue. C’est ici que vit le patron « NOM – RÉSIDENCE – PARTENAIRE.pdf ».
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 255 caractères au plus
- Exemple :
{{ data.extract_1.nom }} – {{ data.extract_1.residence }} – {{ data.extract_1.partenaire }}.pdf - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.upload - Expressions :
{{ }}accepté
onConflict
Si le nom existe déjà
- Type : Un choix (
options) - Requis : Oui
- Défaut :
rename - Options :
rename— Garder les deux : SharePoint numérote le nouveau (acte 1.pdf). Rien n’est perdu.skip— Ne rien faire : Le fichier déjà en place est rendu tel quel, sans être réécrit.replace— Remplacer : Le contenu écrase l’existant — son historique de versions le garde.
- Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.upload
linkType
Ce que le lien permet
- Type : Un choix (
options) - Requis : Oui
- Défaut :
view - Options :
view— Consulter : Lecture seule.edit— Modifier : Lecture et écriture. À réserver aux destinataires internes.
- Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.share
linkScope
Qui peut l’ouvrir
- Type : Un choix (
options) - Requis : Oui
- Défaut :
organization - Options :
organization— Les membres de l’organisation : Le défaut, et le seul que la plupart des organisations autorisent.users— Les personnes déjà autorisées : N’élargit rien : le lien ne marche que pour qui avait déjà le droit.anonymous— Toute personne ayant le lien : ⚠️ Presque toujours interdit par la politique de partage d’une organisation.
- Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.share
linkExpiresAt
Expire le — Date ISO 8601 (2026-12-31T23:59:59Z). Laissé vide : le lien n’expire pas, sauf politique de l’organisation.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 64 caractères au plus
- Exemple :
2026-12-31T23:59:59Z - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.share - Expressions :
{{ }}accepté
list
Liste — Le registre visé : « Échéances », « Parties », « Dossiers ».
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.list) - Listé à l’intérieur de :
site - Listé avec la connexion de :
credential - Affiché quand : (
resourcevautlistetlistOperationvaut l’une delist.columns) ouresourcevautlistItem
columns
Colonnes à écrire — 🔴 La clé est le nom interne de la colonne, pas son libellé : « Date de relance » s’appelle Date_x0020_de_x0020_relance. L’action « Lister les colonnes » vous le donne. Seuls les types simples sont garantis : texte, nombre, oui/non, date, choix, monnaie.
- Type : Paires clé / valeur (
keyValue) - Requis : Non
- Défaut :
[] - Affiché quand : (
resourcevautfileetfileOperationvaut l’une defile.metadata_set) ou (resourcevautlistItemetrowOperationvaut l’une derow.create,row.update,row.upsert) - Expressions :
{{ }}accepté
columnNames
Colonnes à lire — Noms internes séparés par des virgules. Laissé vide : toutes celles que SharePoint rend.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 1000 caractères au plus
- Exemple :
Client,NumeroDossier - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.metadata_get - Expressions :
{{ }}accepté
rowId
Identifiant de la ligne — Celui rendu par une étape précédente : {{ data.item.id }}.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 128 caractères au plus
- Exemple :
{{ data.item.id }} - Affiché quand :
resourcevautlistItemetrowOperationvaut l’une derow.get,row.update,row.delete - Expressions :
{{ }}accepté
keyColumn
Colonne de rapprochement — La colonne qui identifie la ligne — « N° de dossier ». ⚠️ SharePoint ne sait filtrer que sur une colonne à la fois, et elle doit être indexée dans les paramètres de la liste.
- Type : Ressource distante (
resourceLocator) - Requis : Non
- Défaut :
{"mode":"id","value":""} - Façons de choisir : dans une liste, saisir un identifiant (
sharepoint.column) - Listé à l’intérieur de :
list - Listé avec la connexion de :
credential - Affiché quand :
resourcevautlistItemetrowOperationvaut l’une derow.upsert
keyValue
Valeur recherchée — Accepte des expressions {{ }} : {{ data.extract_1.dossier }}. C’est elle qui décide entre créer et mettre à jour.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 500 caractères au plus
- Exemple :
{{ data.extract_1.dossier }} - Affiché quand :
resourcevautlistItemetrowOperationvaut l’une derow.upsert - Expressions :
{{ }}accepté
filter
Filtre — Un filtre OData sur une colonne : fields/NumeroDossier eq '2026-0412'. Opérateurs acceptés : eq ne lt gt le ge startswith. ⚠️ Une seule colonne à la fois, et elle doit être indexée.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 500 caractères au plus
- Exemple :
fields/NumeroDossier eq '{{ data.extract_1.dossier }}' - Affiché quand :
resourcevautlistItemetrowOperationvaut l’une derow.list - Expressions :
{{ }}accepté
allowUnindexed
Autoriser les colonnes non indexées — Décoché par défaut, et c’est volontaire : Microsoft nomme lui-même cette option « peut échouer aléatoirement ». Une étape qui échoue une fois sur cinq est pire qu’une étape qui échoue toujours. La bonne réponse est d’indexer la colonne dans SharePoint.
- Type : Oui / non (
boolean) - Requis : Non
- Défaut :
false - Affiché quand :
resourcevautlistItemetrowOperationvaut l’une derow.list,row.upsert
query
Recherche — Le texte cherché. Sur les documents, il porte aussi sur le contenu, pas seulement sur le nom.
- Type : Texte (
string) - Requis : Non
- Défaut :
""(vide) - 500 caractères au plus
- Exemple :
compromis 2026 - Affiché quand : (
resourcevautsiteetsiteOperationvaut l’une desite.search) ou (resourcevautfileetfileOperationvaut l’une defile.search) - Expressions :
{{ }}accepté
foldersOnly
Les dossiers seulement — Utile pour parcourir une arborescence plutôt que de lister des documents.
- Type : Oui / non (
boolean) - Requis : Non
- Défaut :
false - Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.list
limit
Nombre maximum de résultats — Une étape ne doit pas charger un registre entier : au-delà, filtre en amont.
- Type : Nombre (
number) - Requis : Non
- Défaut :
50 - Nombre entier, de 1 à 500
- Affiché quand : (
resourcevautsiteetsiteOperationvaut l’une desite.search,site.subsites) ou (resourcevautfileetfileOperationvaut l’une defile.list,file.search) ou (resourcevautlistItemetrowOperationvaut l’une derow.list)
maxDownloadMb
Taille maximale (Mo) — Au-delà, le fichier n’est pas déposé dans les pièces jointes — le lien reste rendu.
- Type : Nombre (
number) - Requis : Non
- Défaut :
10 - Nombre entier, de 1 à 25
- Affiché quand :
resourcevautfileetfileOperationvaut l’une defile.download
Sorties
main
Données produites
Ce que ce nœud ajoute aux données de l’exécution, et comment le lire dans une expression. <step> désigne la clé de l’étape : le nom du nœud ramené à un identifiant (voir Données et expressions).
{{ data.<step>.sites }}—array of { id, name, displayName, webUrl, description? }. site.search, site.subsites : les sites trouvés.idest l’identifiant de site en trois parties ({hostname},{guid},{guid}), utilisable dans le champ « Site » (mode identifiant).{{ data.<step>.site }}—object { id, name, displayName, webUrl, description? }. site.get : le site.{{ data.<step>.libraries }}—array of { id, name, webUrl, driveType }. library.list : les bibliothèques de documents du site.idest l’identifiant de la bibliothèque (utilisable dans « Bibliothèque de documents », mode identifiant) ;driveTypevautdocumentLibrarypour une bibliothèque SharePoint.{{ data.<step>.items }}—array of { id, name, mime, size, webUrl, isFolder, parentId, driveId, lastModifiedAt? }. file.list, file.search, file.upload : les documents et dossiers.idest l’identifiant à passer dans « Identifiant du document » d’une étape suivante,parentIdl’identifiant du dossier parent (vide pour la racine de la bibliothèque),driveIdl’identifiant de la bibliothèque,mimevautinode/directorypour un dossier.{{ data.<step>.items.0.id }}—string. L’identifiant du premier élément, la valeur habituelle d’« Identifiant du document » dans l’étape SharePoint suivante.{{ data.<step>.names }}—array of string. file.list : les noms des éléments listés, pratiques pour un contrôle de complétude.{{ data.<step>.item }}—object { id, name, mime, size, webUrl, isFolder, parentId, driveId, lastModifiedAt? }. file.get, file.download, file.move, file.copy : le document (après déplacement, ou la nouvelle copie).{{ data.<step>.downloadUrl }}—string. file.download : une URL de téléchargement pré-autorisée, valable environ une heure, qui ne demande aucune connexion. Ce n’est pas un lien de partage.{{ data.<step>.text }}—string. file.download : le texte du fichier, pour les fichiers de type texte (texte, JSON, XML, CSV) de 4 Mo au plus, coupé à 20 000 caractères. Absent sinon.{{ data.<step>.truncated }}—boolean. file.download :truequandtexta été coupé. row.list :truequand la limite a été atteinte et qu’il restait des lignes.{{ data.<step>.attachmentPosition }}—number. file.download : la position du fichier ajouté aux pièces jointes de l’exécution, pour le joindre dans une étape Rédiger. Absente quand le fichier n’a pas été ajouté (voirskippedReason).{{ data.<step>.deduplicated }}—boolean. file.download : présent avecattachmentPosition;truequand le même fichier figurait déjà parmi les pièces jointes de l’exécution et n’a pas été ajouté deux fois.{{ data.<step>.skippedReason }}—string. file.download : pourquoi le fichier n’a pas été ajouté aux pièces jointes :too_large(au-delà de « Taille maximale ») ounot_writable(l’exécution ne peut pas recevoir de fichier).{{ data.<step>.reused }}—array of string. file.upload : les noms des fichiers qu’une nouvelle tentative a retrouvés, déjà déposés par une tentative précédente — la même forme que OneDrive.{{ data.<step>.skipped }}—array of string. file.upload : les noms des fichiers laissés en place parce que le nom était pris et que « Si le nom existe déjà » vaut « Ne rien faire ».{{ data.<step>.sanitized }}—array of string. file.upload : les noms finaux des fichiers dont le nom demandé contenait des caractères refusés par SharePoint et a été corrigé.{{ data.<step>.attachments }}—array of { position, filename, mime, size, origin, addedByNodeId?, integration? }. file.upload avec les pièces jointes comme source : la provenance de chaque pièce déposée (origin:emailouadded).{{ data.<step>.deleted }}—boolean. file.delete, row.delete :truequand l’élément a été retiré par cette étape,falsequand il n’existait déjà plus (une nouvelle tentative, pas une erreur).{{ data.<step>.url }}—string. file.share : le lien de partage, à coller dans un mail. Vide en essai.{{ data.<step>.created }}—boolean. file.share :falsequand SharePoint a rendu un lien existant. folder.create, folder.from_template :falsequand un dossier de ce nom existait déjà. row.create : toujourstrue; row.update : toujoursfalse; row.upsert :truequand la ligne a été créée,falsequand elle a été mise à jour.{{ data.<step>.fields }}—object. file.metadata_get, file.metadata_set : les valeurs des colonnes du document, par nom interne de colonne (pour metadata_set, telles que SharePoint les rend après l’écriture).{{ data.<step>.folder }}—object { id, name, mime, size, webUrl, isFolder, parentId, driveId, lastModifiedAt? }. folder.create, folder.from_template : le dossier créé ou retrouvé. Sonidva dans le champ « Dossier » de l’étape suivante (mode identifiant).{{ data.<step>.lists }}—array of { id, listId, name, displayName, template, webUrl }. list.list : les listes du site.idest l’identifiant composite{siteId}|{listId}qu’attend le champ « Liste » ;templatevautgenericList,documentLibrary,events…{{ data.<step>.columns }}—array of { name, displayName, type, readOnly, required }. list.columns : les colonnes de la liste.nameest le nom interne à utiliser dans « Colonnes à écrire », « Colonne de rapprochement » et « Filtre » ;displayNameest le libellé que voient les utilisateurs.{{ data.<step>.rows }}—array of { id, webUrl, fields, createdAt?, updatedAt? }. row.list : les lignes.fieldsporte les valeurs par nom interne de colonne.{{ data.<step>.row }}—object { id, webUrl, fields, createdAt?, updatedAt? }. row.get, row.create, row.update, row.upsert : la ligne. Après une mise à jour,fieldsporte les valeurs que SharePoint rend etwebUrlpeut être vide.{{ data.<step>.count }}—number. Opérations qui rendent une liste : le nombre d’entrées.{{ data.<step>.summary }}—string. Une phrase lisible qui décrit ce que l’étape a fait.{{ data.<step>.simulated }}—boolean.truequand l’étape s’est jouée en essai et que l’écriture n’a été que décrite — le même champ que sur les nœuds Google et Outlook. Toujoursfalsepour une lecture.
Sites et bibliothèques
Choisissez resource: site et renseignez siteOperation, ou resource: library et renseignez libraryOperation.
| Valeur | Champs utilisés | Données produites |
|---|---|---|
site.search | query, limit | sites, count |
site.get | site | site |
site.subsites | site, limit | sites, count |
library.list | site | libraries, count |
site.searchcherche des sites par nom. Avec une recherche vide, il rend les sites que le membre suit, plus le site racine de l’organisation : Microsoft ne laisse pas un compte lister tous les sites.- Le champ Site accepte un site choisi dans la liste, un identifiant de site, ou une URL collée comme
https://contoso.sharepoint.com/sites/Contentieux(ou/teams/<nom>). Laissé vide, il désigne le site racine de l’organisation. Une URL OneDrive (/personal/<compte>) désigne ce OneDrive. Une autre URL d’un hôte valide (une bibliothèque du site racine, un lien de partage) est lue comme le site racine de son hôte ; une URL dont l’hôte est illisible échoue avecmicrosoft.rejectedplutôt que de viser en silence le site racine. library.listmasque les bibliothèques système. Tout site neuf a une bibliothèque nomméeDocuments.
Fichiers
Choisissez resource: file et renseignez fileOperation. Toute action sur un fichier exige la Bibliothèque de documents (library), choisie après le site.
| Valeur | Champs utilisés | Données produites |
|---|---|---|
file.list | folder, foldersOnly, limit | items, count, names |
file.search | folder, query, limit | items, count |
file.get | item | item |
file.download | item, maxDownloadMb | item, downloadUrl, text, truncated, attachmentPosition, deduplicated, skippedReason |
file.upload | folder, source, selection / mime / namePattern ou text, fileName, onConflict | items, count, reused, skipped, sanitized, attachments |
file.move | item, targetFolder, name | item |
file.copy | item, targetFolder, name | item |
file.delete | item | deleted |
file.share | item, linkType, linkScope, linkExpiresAt | url, created |
file.metadata_get | item, columnNames | fields |
file.metadata_set | item, columns | fields |
- Identifiant du document (
item) est l’identifiant rendu par une étape précédente, typiquement{{ data.<step>.items.0.id }}. Il est obligatoire pour toute action qui vise un document existant (node_invalid_paramsinon). - Dossier (
folder) est le dossier à lister, à fouiller ou où déposer ; laissé vide, la racine de la bibliothèque. Choisissez-le dans la liste ou collez un identifiant de dossier, par exemple celui rendu par une action « Dossier ». file.listrend le contenu direct du dossier ; « Les dossiers seulement » ne garde que les sous-dossiers.file.searchcherche dans les noms, les métadonnées et le contenu ; avec une recherche vide, il liste le dossier.file.downloadajoute le fichier aux pièces jointes de l’exécution, pour qu’une étape Rédiger suivante puisse le joindre parattachmentPosition. Les fichiers plus gros que « Taille maximale » (1 à 25 Mo, 10 par défaut) ne sont pas ajoutés (skippedReason: too_large), maisdownloadUrlest tout de même rendu. Les fichiers de type texte de 4 Mo au plus reviennent aussi sous forme detext.file.uploadprend les pièces jointes de l’exécution (celles du mail et celles ajoutées par des étapes précédentes, 20 au plus) ou un texte que vous écrivez. « Nom du fichier déposé » ne s’applique que si une seule pièce jointe est retenue ; avec « Un texte », il est obligatoire et le type du fichier suit son extension. « Si le nom existe déjà » : « Garder les deux » (rename, SharePoint numérote le nouveau fichier), « Ne rien faire » (skip, le fichier existant est rendu intact) ou « Remplacer » (replace, l’historique des versions garde l’ancien contenu). 100 Mo par fichier au plus.file.movedéplace et/ou renomme dans la même bibliothèque : laissez « Dossier de destination » vide pour seulement renommer, ou « Nom » vide pour seulement déplacer. Avec les deux vides, l’étape échoue avecmicrosoft.rejected.file.copycopie un document et attend la fin de la copie. Une copie ne conserve ni les colonnes ni les permissions de l’original.file.deletemet le document à la corbeille du site ; rien n’est détruit définitivement.file.sharecrée un lien révocable. « Ce que le lien permet » : « Consulter » (view, défaut) ou « Modifier » (edit). « Qui peut l’ouvrir » : « Les membres de l’organisation » (organization, défaut), « Les personnes déjà autorisées » (users) ou « Toute personne ayant le lien » (anonymous, presque toujours interdit par la politique de partage de l’organisation). « Expire le » prend une date ISO 8601 ; laissé vide, le lien n’expire pas, sauf politique de l’organisation.file.metadata_getlit les colonnes SharePoint du document ; « Colonnes à lire » prend des noms internes séparés par des virgules (vide : toutes).file.metadata_setécrit les colonnes de « Colonnes à écrire » et laisse les autres intactes.
Dossiers
Choisissez resource: folder et renseignez folderOperation. Les deux actions exigent la bibliothèque de documents ; « Dossier » est le parent (vide : la racine de la bibliothèque).
| Valeur | Champs utilisés | Données produites |
|---|---|---|
folder.create | folder, name | folder, created |
folder.from_template | template, folder, name | folder, created |
folder.createcrée le dossier, sauf si un dossier de ce nom existe déjà dans le parent : il le rend alors aveccreated: false.folder.from_templatecopie un dossier gabarit, sous-dossiers compris, sous le nom donné, et attend la fin de la copie (jusqu’à une minute) avant que le workflow continue : l’étape suivante peut donc y déposer un fichier. Si un dossier de ce nom existe déjà dans le parent, rien n’est copié et il est rendu aveccreated: false. La copie ne conserve ni les colonnes ni les permissions : le nouveau dossier hérite de celles de sa destination. « Dossier gabarit » est obligatoire (node_invalid_paramsinon).
Listes et lignes
Choisissez resource: list et renseignez listOperation, ou resource: listItem et renseignez rowOperation. Le champ Liste (list) se choisit après le site ; son identifiant est le composite {siteId}|{listId} (l’id rendu par list.list). Un identifiant de liste seul est refusé avec microsoft.rejected.
| Valeur | Champs utilisés | Données produites |
|---|---|---|
list.list | site | lists, count |
list.columns | list | columns, count |
row.list | list, filter, allowUnindexed, limit | rows, count, truncated |
row.get | list, rowId | row |
row.create | list, columns | row, created |
row.update | list, rowId, columns | row, created |
row.upsert | list, keyColumn, keyValue, columns, allowUnindexed | row, created |
row.delete | list, rowId | deleted |
- Noms internes de colonnes. Dans « Colonnes à écrire », la clé est le nom interne de la colonne, pas son libellé : une colonne créée sous le nom « Date de relance » s’appelle
Date_x0020_de_x0020_relance, et garde ce nom même si elle est renommée ensuite. Lancez une foislist.columnspour les lire (columns[].name). Seuls les types simples sont garantis : texte, nombre, oui/non, date, choix, monnaie. list.listmasque les listes cachées de SharePoint, etlist.columnsses colonnes cachées.row.listaccepte un « Filtre » OData sur une colonne :fields/NumeroDossier eq '2026-0412', avec les opérateurseq ne lt gt le ge startswith. SharePoint ne filtre que sur une colonne indexée à la fois.row.upsertcherche une ligne dont la « Colonne de rapprochement » vaut la « Valeur recherchée » : trouvée, il met à jour les colonnes données ; introuvable, il crée la ligne avec ces colonnes, plus la colonne de rapprochement renseignée avec la valeur. La colonne de rapprochement doit être indexée dans les paramètres de la liste.row.updateetfile.metadata_setfusionnent : les colonnes non citées gardent leur valeur.row.deleteretire une ligne ;deletedvautfalsesi elle n’existait déjà plus.
Exemple
Une nouvelle vente arrive par mail. Le workflow crée le dossier client depuis le gabarit du cabinet, y classe l’acte, le partage et inscrit le dossier dans la liste Dossiers. Une étape Extraire nommée Extraire lit vendeur, residence et dossier.
Étape Dossier vente :
resource: folder
folderOperation: folder.from_template
site: (mode URL) https://contoso.sharepoint.com/sites/Ventes
library: (mode liste) Documents
template: (mode liste) _Gabarit dossier
folder: (mode liste) Dossiers 2026
name: {{ data.extraire.vendeur }} – {{ data.extraire.residence }}Étape Classer l’acte :
resource: file
fileOperation: file.upload
library: (mode liste) Documents
folder: (mode identifiant) {{ data.dossier_vente.folder.id }}
source: attachment
selection: byMime
mime: application/pdf
fileName: Acte – {{ data.extraire.vendeur }}.pdf
onConflict: replaceSes données :
json
{
"items": [
{
"id": "01ABCD…",
"name": "Acte – Martin.pdf",
"mime": "application/pdf",
"size": 391022,
"webUrl": "https://contoso.sharepoint.com/sites/Ventes/Documents/Dossiers%202026/…",
"isFolder": false,
"parentId": "01FOLD…",
"driveId": "b!Xy…"
}
],
"count": 1,
"reused": [],
"skipped": [],
"sanitized": [],
"attachments": [
{ "position": 1, "filename": "scan_0412.pdf", "mime": "application/pdf", "size": 391022, "origin": "email" }
]
}Étape Partager l’acte : resource: file, fileOperation: file.share, item: {{ data.classer_l_acte.items.0.id }}, linkType: view, linkScope: organization. Une étape Rédiger cite ensuite {{ data.partager_l_acte.url }}.
Étape Inscrire le dossier :
resource: listItem
rowOperation: row.upsert
list: (mode liste) Dossiers
keyColumn: (mode liste) NumeroDossier
keyValue: {{ data.extraire.dossier }}
columns:
Title: {{ data.extraire.vendeur }} – {{ data.extraire.residence }}
Statut: OuvertLa première fois, created vaut true ; un mail ultérieur sur le même dossier met à jour la même ligne avec created: false.
Conseils
- Nouvelles tentatives. Les lectures et ces écritures peuvent être retentées sans dégât :
folder.createetfolder.from_template(correspondance par le nom),file.uploadavec « Remplacer » ou « Ne rien faire » (correspondance par le nom) et avec « Garder les deux » (une marque invisible retrouve le fichier, compté dansreused; certains tenants refusent la marque, et chez eux une nouvelle tentative en mode « Garder les deux » peut ajouter une copie numérotée),file.move,file.metadata_set,file.share(SharePoint rend le lien existant),file.deleteetrow.delete(deleted: falsequand l’élément n’existe déjà plus),row.updateetrow.upsert.row.createetfile.copyne le sont pas : une nouvelle tentative crée une seconde ligne ou une seconde copie. Préférezrow.upsertpour un registre. - Noms. Dans « Nom » et « Nom du fichier déposé », les caractères que SharePoint refuse (
: / \ * ? " < > |) sont remplacés par un tiret, et les espaces de bord et les points finaux sont retirés. Pour un dépôt, les noms corrigés sont listés danssanitized. Un nom vide une fois corrigé échoue avecmicrosoft.rejected. - Colonnes non indexées. SharePoint refuse un filtre sur une colonne non indexée. L’étape échoue alors avec
microsoft.rejectedet un message qui demande d’indexer la colonne dans les paramètres de la liste. « Autoriser les colonnes non indexées » envoie à la place l’en-tête « peut échouer aléatoirement » de Microsoft ; l’option est décochée par défaut, car une étape qui échoue une fois sur cinq est pire qu’une étape qui échoue toujours. - Fichiers verrouillés. Un document ouvert en édition par quelqu’un d’autre donne
microsoft.locked, retenté automatiquement jusqu’à sa libération. - Délai de copie d’un gabarit. Si la copie d’un gabarit n’est pas terminée au bout d’une minute, l’étape échoue avec
microsoft.rejected. Rejouez-la une fois la copie achevée côté SharePoint : le contrôle par le nom retrouve le dossier. - Champs manquants. Sans bibliothèque de documents, l’étape échoue avec
microsoft.rejected(« a SharePoint document library is required »). Une action à laquelle manque son identifiant de document, sa liste, son identifiant de ligne ou ses colonnes à écrire échoue avecnode_invalid_param, qui nomme le champ. - Essais. En essai, toutes les lectures s’exécutent réellement (sites, bibliothèques, listes, lignes, contenu de dossier, recherche, métadonnées et
file.download). Les écritures sont seulement décrites : éléments et dossiers reviennent avec un identifiant qui commence parsimulated:et unwebUrlvide,file.sharerend uneurlvide, les lignes reviennent avec l’identifiantsimulated:row, etrow.upsertannonce toujourscreated: true. - Erreurs.
credential.capability_missing: SharePoint n’est pas connecté pour le membre qui exécute le workflow.microsoft.access_denied: le membre n’a pas les droits sur le site, ou le consentement a été retiré.microsoft.not_found: le site, la bibliothèque, le dossier, le document ou la liste n’existe pas.microsoft.storage_full: le site est plein (définitif).microsoft.conflict: l’élément a changé depuis sa lecture.microsoft.lockedetmicrosoft.unavailablesont retentés automatiquement. Voir Gestion des erreurs.