Spring til indholdet

Start et flow fra en knap i en SharePoint-liste

Kolonneformatering med executeFlow viser en knap på hver række, som starter et flow på netop det element. Flowets id, miljøet, hvem der kan trykke, og knappen der forsvinder, når den er brugt.

Opdateret Power AutomateSharePoint Online 3 min. læsning

Kolonneformatering kan vise en knap, der starter et flow på elementet i samme række. Det er customRowAction med handlingen executeFlow. Knappen gør det samme som at markere elementet og vælge flowet i menuen Automate, bare med ét klik. En knap, der åbner en Power App i stedet, står i En knap i en SharePoint-kolonne, der åbner en Power App.

Flowet#

Et Instant cloud flow med SharePoint-triggeren For a selected item, sat til webstedet og listen. Triggeren giver elementets ID, og resten hentes med Get item. Knappen kan ikke sende andre værdier med. actionParams tager kun flowets id og to tekster til panelet, og en medarbejder hos Microsoft har svaret på Microsoft Q&A, at id og mappesti ikke kan sendes, og at de heller ikke behøves.

Flowets id#

Flowets id findes under Export → Get flow identifier i flowet. Microsoft beskriver det sådan og siger, at man først skal skifte til det miljø, flowet ligger i.

  • Ligger flowet i standardmiljøet, er id’et en GUID.
  • Ligger det i et andet miljø, er formen v1/<miljø-id>/<flow-id>. Det var den, jeg brugte i 2023, efter atwork.at, der beskrev den i august 2022. Microsofts side om SharePoint-connectoren siger stadig, at kun flows i standardmiljøet kan startes fra en liste, så den form er ikke dokumenteret af Microsoft.

Knappen#

Kolonnen kan være en almindelig tekstkolonne. Formateringen erstatter visningen af værdien, så der skal ikke stå noget i den. Åbn kolonnens menu, Column settings → Format this column → Advanced mode. Min knap fra 2023:

 1{
 2  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
 3  "elmType": "button",
 4  "txtContent": "Send til godkendelse",
 5  "customRowAction": {
 6    "action": "executeFlow",
 7    "actionParams": "{\"id\": \"v1/<miljø-id>/<flow-id>\"}"
 8  },
 9  "style": {
10    "background-color": "green",
11    "color": "white",
12    "visibility": "=if(([$send_til_godkendelse] == true),'hidden','visible')"
13  }
14}

actionParams er en tekst med JSON indeni, derfor de escapede anførselstegn. To felter mere er dokumenteret:

"actionParams": "{\"id\": \"<flow-id>\", \"headerText\": \"Send til godkendelse\", \"runFlowButtonText\": \"Send\"}"

headerText står øverst i panelet, og runFlowButtonText er teksten på panelets knap.

Når der trykkes#

Et panel åbner. Ifølge Microsoft kræver et flow i en løsning, at der trykkes Run flow i panelet. Et flow uden for en løsning starter med det samme.

Hvem kan trykke#

  • Brugeren skal have Rediger på listen (eller være medlem eller ejer af webstedet).
  • Flowet skal deles med brugeren som run-only. Ejeren vælger, om brugeren selv skal logge ind på connectorerne, eller om flowets egne forbindelser bruges.
  • Et manuelt startet flow kører på brugerens licens og grænser, ikke ejerens. Bruger flowet premium-connectorer, skal den, der trykker, have en premium-licens.

Knappen kun når den giver mening#

visibility tager et udtryk. En valgkolonne sammenlignes med teksten, en Ja/nej-kolonne med true:

"visibility": "=if([$Status] == 'Kladde','visible','hidden')"
"visibility": "=if([$send_til_godkendelse] == true,'hidden','visible')"

Skal knappen forsvinde, når den er brugt, er det flowet, der skal sætte Ja/nej-kolonnen, fx med Update item som noget af det første. Ellers kan der trykkes igen, mens flowet kører.

Et udtryk i teksten er også muligt, fx "txtContent": "=if([$Status] == 'Kladde','Send','Send igen')".

Det der driller#

  • disabled findes ikke. Microsoft tillader kun en fast liste af attributter (href, class, title, iconName og nogle få flere). En knap, der skal se deaktiveret ud, må skjules eller farves grå med style.
  • Kolonner i udtryk skal være med i visningen. Ellers er [$Status] tom.
  • Kun i visninger. Formateringen vises ikke i formularerne til nyt, rediger og vis.
  • Et andet flow afhængigt af status med et udtryk i actionParams godkendes af skemaet, men Microsoft beskriver det ikke. Det har jeg ikke efterprøvet. To kolonner med hver sin knap er den sikre vej.
  • Ingen værdier med. actionParams med itemId eller andet end de tre felter bliver ikke sendt til flowet. Flowet har elementet fra triggeren.

Alle noter