Skip to content

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 : resource vaut site

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 : resource vaut library

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 : resource vaut file

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 : resource vaut folder

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 : resource vaut list

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 : resource vaut listItem

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 : resource ne vaut pas site ou siteOperation ne vaut pas site.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 : resource vaut file ou resource vaut folder

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 : (resource vaut file et fileOperation vaut l’une de file.list, file.search, file.upload) ou resource vaut folder

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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut folder et folderOperation vaut l’une de folder.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 : (resource vaut folder et folderOperation vaut l’une de folder.create, folder.from_template) ou (resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 avec image/*.
    • byName — Par nom de fichier : Par motif sur le nom : *.pdf, facture-*.
  • Affiché quand : (resource vaut file et fileOperation vaut l’une de file.upload) et source vaut attachment

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 : (resource vaut file et fileOperation vaut l’une de file.upload) et source vaut attachment et selection vaut byMime
  • 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 : (resource vaut file et fileOperation vaut l’une de file.upload) et source vaut attachment et selection vaut byName
  • 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 : (resource vaut file et fileOperation vaut l’une de file.upload) et source vaut text
  • 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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : (resource vaut list et listOperation vaut l’une de list.columns) ou resource vaut listItem

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 : (resource vaut file et fileOperation vaut l’une de file.metadata_set) ou (resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut file et fileOperation vaut l’une de file.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 : resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut listItem et rowOperation vaut l’une de row.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 : (resource vaut site et siteOperation vaut l’une de site.search) ou (resource vaut file et fileOperation vaut l’une de file.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 : resource vaut file et fileOperation vaut l’une de file.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 : (resource vaut site et siteOperation vaut l’une de site.search, site.subsites) ou (resource vaut file et fileOperation vaut l’une de file.list, file.search) ou (resource vaut listItem et rowOperation vaut l’une de row.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 : resource vaut file et fileOperation vaut l’une de file.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. id est 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. id est l’identifiant de la bibliothèque (utilisable dans « Bibliothèque de documents », mode identifiant) ; driveType vaut documentLibrary pour 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. id est l’identifiant à passer dans « Identifiant du document » d’une étape suivante, parentId l’identifiant du dossier parent (vide pour la racine de la bibliothèque), driveId l’identifiant de la bibliothèque, mime vaut inode/directory pour 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 : true quand text a été coupé. row.list : true quand 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é (voir skippedReason).
  • {{ data.<step>.deduplicated }} — boolean. file.download : présent avec attachmentPosition ; true quand 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 ») ou not_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 : email ou added).
  • {{ data.<step>.deleted }} — boolean. file.delete, row.delete : true quand l’élément a été retiré par cette étape, false quand 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 : false quand SharePoint a rendu un lien existant. folder.create, folder.from_template : false quand un dossier de ce nom existait déjà. row.create : toujours true ; row.update : toujours false ; row.upsert : true quand la ligne a été créée, false quand 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é. Son id va 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. id est l’identifiant composite {siteId}|{listId} qu’attend le champ « Liste » ; template vaut genericList, documentLibrary, events…
  • {{ data.<step>.columns }} — array of { name, displayName, type, readOnly, required }. list.columns : les colonnes de la liste. name est le nom interne à utiliser dans « Colonnes à écrire », « Colonne de rapprochement » et « Filtre » ; displayName est le libellé que voient les utilisateurs.
  • {{ data.<step>.rows }} — array of { id, webUrl, fields, createdAt?, updatedAt? }. row.list : les lignes. fields porte 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, fields porte les valeurs que SharePoint rend et webUrl peut ê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. true quand 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. Toujours false pour une lecture.

Sites et bibliothèques ​

Choisissez resource: site et renseignez siteOperation, ou resource: library et renseignez libraryOperation.

ValeurChamps utilisésDonnées produites
site.searchquery, limitsites, count
site.getsitesite
site.subsitessite, limitsites, count
library.listsitelibraries, count
  • site.search cherche 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 avec microsoft.rejected plutôt que de viser en silence le site racine.
  • library.list masque les bibliothèques système. Tout site neuf a une bibliothèque nommée Documents.

Fichiers ​

Choisissez resource: file et renseignez fileOperation. Toute action sur un fichier exige la Bibliothèque de documents (library), choisie après le site.

ValeurChamps utilisésDonnées produites
file.listfolder, foldersOnly, limititems, count, names
file.searchfolder, query, limititems, count
file.getitemitem
file.downloaditem, maxDownloadMbitem, downloadUrl, text, truncated, attachmentPosition, deduplicated, skippedReason
file.uploadfolder, source, selection / mime / namePattern ou text, fileName, onConflictitems, count, reused, skipped, sanitized, attachments
file.moveitem, targetFolder, nameitem
file.copyitem, targetFolder, nameitem
file.deleteitemdeleted
file.shareitem, linkType, linkScope, linkExpiresAturl, created
file.metadata_getitem, columnNamesfields
file.metadata_setitem, columnsfields
  • 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_param sinon).
  • 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.list rend le contenu direct du dossier ; « Les dossiers seulement » ne garde que les sous-dossiers. file.search cherche dans les noms, les métadonnées et le contenu ; avec une recherche vide, il liste le dossier.
  • file.download ajoute le fichier aux pièces jointes de l’exécution, pour qu’une étape Rédiger suivante puisse le joindre par attachmentPosition. Les fichiers plus gros que « Taille maximale » (1 à 25 Mo, 10 par défaut) ne sont pas ajoutés (skippedReason: too_large), mais downloadUrl est tout de même rendu. Les fichiers de type texte de 4 Mo au plus reviennent aussi sous forme de text.
  • file.upload prend 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.move dé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 avec microsoft.rejected.
  • file.copy copie un document et attend la fin de la copie. Une copie ne conserve ni les colonnes ni les permissions de l’original.
  • file.delete met le document à la corbeille du site ; rien n’est détruit définitivement.
  • file.share cré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_get lit 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).

ValeurChamps utilisésDonnées produites
folder.createfolder, namefolder, created
folder.from_templatetemplate, folder, namefolder, created
  • folder.create crée le dossier, sauf si un dossier de ce nom existe déjà dans le parent : il le rend alors avec created: false.
  • folder.from_template copie 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 avec created: 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_param sinon).

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.

ValeurChamps utilisésDonnées produites
list.listsitelists, count
list.columnslistcolumns, count
row.listlist, filter, allowUnindexed, limitrows, count, truncated
row.getlist, rowIdrow
row.createlist, columnsrow, created
row.updatelist, rowId, columnsrow, created
row.upsertlist, keyColumn, keyValue, columns, allowUnindexedrow, created
row.deletelist, rowIddeleted
  • 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 fois list.columns pour les lire (columns[].name). Seuls les types simples sont garantis : texte, nombre, oui/non, date, choix, monnaie.
  • list.list masque les listes cachées de SharePoint, et list.columns ses colonnes cachées.
  • row.list accepte un « Filtre » OData sur une colonne : fields/NumeroDossier eq '2026-0412', avec les opérateurs eq ne lt gt le ge startswith. SharePoint ne filtre que sur une colonne indexée à la fois.
  • row.upsert cherche 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.update et file.metadata_set fusionnent : les colonnes non citées gardent leur valeur.
  • row.delete retire une ligne ; deleted vaut false si 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: replace

Ses 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: Ouvert

La 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.create et folder.from_template (correspondance par le nom), file.upload avec « Remplacer » ou « Ne rien faire » (correspondance par le nom) et avec « Garder les deux » (une marque invisible retrouve le fichier, compté dans reused ; 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.delete et row.delete (deleted: false quand l’élément n’existe déjà plus), row.update et row.upsert. row.create et file.copy ne le sont pas : une nouvelle tentative crée une seconde ligne ou une seconde copie. Préférez row.upsert pour 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 dans sanitized. Un nom vide une fois corrigé échoue avec microsoft.rejected.
  • Colonnes non indexées. SharePoint refuse un filtre sur une colonne non indexée. L’étape échoue alors avec microsoft.rejected et 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 avec node_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 par simulated: et un webUrl vide, file.share rend une url vide, les lignes reviennent avec l’identifiant simulated:row, et row.upsert annonce toujours created: 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.locked et microsoft.unavailable sont retentés automatiquement. Voir Gestion des erreurs.