Añadir campos a una lista de SharePoint con HTTP

El día de hoy vamos a ver cómo podemos añadir un campo a nuestra lista de SharePoint por medio de Power Automate, así como también añadir objetos a la lista. Para entender esto mejor vamos a ver un caso donde podremos ver una solución completa para la creación dinámica de listas de SharePoint junto con campos y valores.

La clave aquí es automatizar. Antes de ir a la parte técnica primero debemos cubrir la pregunta de por qué necesitaríamos cosas como creación dinámica de listas con campos y valores.

Imaginemos que tenemos varias apps de PowerApps, cada una con diferentes propósitos, tales como seguimiento de tiempo, reserva de recursos, revisión de metas, felicitación para miembros del equipo, notas retrospectivas de reuniones…

Cada app almacena datos en SharePoint y es especifica para el equipo, lo cual quiere decir que algunos equipos querrán tenerla mientras que otros no. También cabe destacar que los datos de la app deben estar relacionados al equipo.

Otro escenario común es cuando tenemos una app que queremos integrar fácilmente en el ambiente de trabajo del cliente. Nos interesa automatizar el proceso de creación de listas para que el usuario de la app no tenga que crearlas manualmente; esto sería mantener las cosas tan simples como se puedan.

En PowerApps existe el concepto Soluciones, pero este solo aplica a PowerApps con datos almacenados en Common Data Service (el cual se recomienda bastante), por lo que si nuestra app trabaja con SharePoint Online, las listas o bibliotecas pueden necesitar el siguiente Flujo.

AÑADIENDO CAMPOS NUEVOS A LA LISTA DE SHAREPOINT USANDO MICROSOFT FLOW

Volviendo a la parte técnica, para este caso necesitamos añadir un campo de Texto, con algunas filas a la lista.

Para crear un nuevo campo de SharePoint vamos a estar usando el API REST por medio de la acción «Send an HTTP Request to SharePoint», solo que esta vez necesitamos usar el nuevo Uri dedicado a modificación de listas. Necesitamos conocer la lista GUID para hacer la operación correctamente. El Uri tiene que ser este:

http://<site url>/_api/web/lists(guid'<your_new_list_guid')

Existe un endpoint para el API Uri más simple _api/web/lists/GetByTitle(‘<list name>’)

Una vez que tengamos el Uri de nuestra lista de SharePoint podemos usar el ejemplo de esta página de documentación y usar un tipo de valor de campo relacionado al tipo de campo esperado (todos los tipos de valores posibles en SharePoint están listados aquí).

Nuestra acción ahora deberá estar configurada de esta forma:

Cabe resaltar que para el campo he usado el tipo de campo del tipo de valor Text.

AÑADIENDO OBJETOS DE SHAREPOINT A LA LISTA DE SHAREPOINT USANDO POWER AUTOMATE

Para añadir objetos a la lista, y ver que nuestra columna se ha creado adecuadamente, vamos a enviar otra consulta HTTP con el método de crear items. El cual se ve de la siguiente forma.

Aquí encontraremos la página de documentación en donde el ejemplo Create List Item POST HTTP request es hecho. Ahora veamos la acción y código configurados y luego pasaremos a describirlos:

{
'__metadata':
{'type':'SP.Data.AttendanceListItem'},
'Status':'1'
}

Como pueden darse cuenta, hemos enviado una consulta HTTP con Power Automate para añadir un campo a una lista de Sharepoint, y una mas para agregarle valores. Las acciones son rápidas y puedes usarlas para modificar cualquier elemento de la lista.

Cualquier duda nos leemos abajo.

Añadir campos a una lista de SharePoint con HTTP
Scroll hacia arriba