In Power Automate ci sono varie azioni per modificare e/o inserire dei valori in un item SharePoint Online, come:
  • Create Item
  • Update Item
solo che richiedono sempre l'inserimento di tutti valori, soprattutto quelli obbligatori.
Update con campi obbligatori
Update con campi obbligatori
Altre volte si vuole semplicemente valorizzare solo alcuni campi, magari evitando quelli obbligatori, che dovrà poi valorizzare l'utente.

Send an HTTP request to SharePoint

In questo caso torna utile l'azione Send an HTTP request to SharePoint.
Con questa azione, componendo il body con il JSON corretto, si possono aggiornare solo i campi che interessano, senza che intervenga la validazione se non vengono passati i campi obbligatori.
Update campo di testo
Update campo di testo

Campo Testo (Text)

Nell'immagine sopra si vede un esempio di aggiornamento del valore di un campo di testo

I campi dell'azione Send an HTTP request to SharePoint vanno valorizzati in questo modo:
  • Site Address: l'indirizzo della site collection dove si trova la lista
  • Method: in caso di aggiornamento deve essere PATCH
  • Uri: è l'indirizzo della API di aggiornamento di un item
  • Headers: deve contenere questi tre valori: Accept, Content-Type e IF-MATCH
  • Body: un testo in formato JSON

Nel dettaglio la Uri deve avere questo formato:

Text: Indirizzo API di update (PATCH)

_api/web/lists/getbytitle('<Titolo della lista>')/items(<Id dell'item>)
gli headers questi valori:

Text: Headers

Accept: application/json;odata=nometadata
Content-Type: application/json
IF-MATCH: *
Per informazioni sull'header IF-MATCH vedi Usare l'intestazione HTTP If-Match nelle operazioni PUT e PATCH.
Infine il body in formato JSON per aggiornare un campo di testo è questo:

JSON: Text

{
  "MyFieldText": "Ciao"
}
MyFieldText è il nome interno (InternalName) del campo che si vuole aggiornare.

Campo Numerico (Number)

L'aggiornamento di un campo Numerico è identico al precedente solo che va passato un numero anziché una stringa:

JSON: Number

{
  "MyFieldNumber": 12
}

Campo Data e Ora (DateTime)

L'aggiornamento di un campo Data e Ora richiede il passaggio di una stringa in formato yyyy-MM-ddTHH:mm:ssZ, ovvero con la time zone settata a UTC:

JSON: DateTime

{
  "MyFieldDateTime": "2026-01-29T16:33:31.8492792Z"

Campo Scelta (Choice)

L'aggiornamento di un campo di tipo Scelta è identico al campo testo:

JSON: Choice

{
  "MyFieldChoice": "Choice 2"
}

Campo Si / No (Boolean)

L'aggiornamento di un campo di tipo Si / No può essere fatto passando i valori true (Si) o false (No) senza virgolette doppie:

JSON: Boolean

{
  "MyFieldBoolean": true
}

Campo Ricerca (Lookup)

In questo caso si tratta di un campo che punta ad un altra lista.
Per impostare il valore va passato l'Id (numero) dell'elemento referenziato:

JSON: Lookup

{
   "MyFieldLookupId": 10
}
Attenzione: in questo caso il nome interno del campo è MyFieldLookup, ma per passare il valore numerico, il nome del campo diventa MyFieldLookupId, ovvero si aggiunge il suffisso Id.

Campo Utente (User o Person)

Questo caso è simile al campo di tipo Lookup, va passato l'Id dell'utente all'interno della site collection:

JSON: User

{
   "MyFieldUserId": 3
}
Anche in questo caso si aggiunge il suffisso Id al nome interno del campo.

Campo Testo Multilinea (MultiLineText)

Questo caso Testo Multilinea, è identico al campo testo:

JSON: MultiLineText

{
   "MyFieldTextMultiLine": "Riga1\r\nRiga2"
}
Da notare che si possono usare le sequenze di escape come \r\n (CR+LF = ritorno a capo).

Campo Scelta Multipla (MultiChoice)

L'aggiornamento del campo Scelta Multipla differisce dal campo a scelta singola.
Il dato che va passato in questo caso è un array di stringhe:

JSON: MultiLineText

{
  "MyFieldChoiceMulti": ["Choice 2", "Choice 3"]
}

Campo Lookup Multipla (MultiLookup)

Anche nel caso di una lookup a scelta multipla, il valore da passare è un array ma di numeri:

JSON: MultiLookup

{
  "MyFieldLookupMultiId": [10, 11, 12]
}
I numeri rappresentano l'id dell'item della lista referenziata.

Campo Utente Multiplo (MultiUser)

Identico al caso lookup a scelta multipla, solo che gli id passati sono riferiti agli utenti nella site collection:

JSON: MultiUser

{
  "MyFieldUserMultiId": [3,4,5,6]
}

Aggiornare più campi

Ovviamente è possibile aggiornare più campi in una sola volta, separandoli con una virgola:

JSON: Update multiplo

{
  "MyFieldText": "Ciao",
  "MyFieldNumber": 12,
  "MyFieldDateTime": "@{utcNow()}",
  "MyFieldChoice": "Choice 2",
  "MyFieldBoolean": true,
  "MyFieldLookupId": 10,
  "MyFieldUserId": 3,
  "MyFieldTextMultiLine": "Riga1\r\nRiga2",
  "MyFieldChoiceMulti": ["Choice 2", "Choice 3"],
  "MyFieldLookupMultiId": [10, 11, 12],
  "MyFieldUserMultiId": [3,4,5,6]
}
Il risultato dell'update è simile al seguente:
Update multiplo
Update multiplo

Inserimento

Nel caso di inserimento / creazione di un nuovo item, si può usare sempre l'azione Send an HTTP request to SharePoint.

In questo caso il metodo divneta POST e la Uri cambia, non deve avere il riferimento ad un id specifico:

Text: Indirizzo API di update

_api/web/lists/getbytitle('<Titolo della lista>')/items
Insert
Insert
Tags:
Power Automate33 SharePoint Online85 SharePoint507
Potrebbe interessarti anche: