Llamar a Power Automate desde un script del sitio
Los diseños de sitio son un mecanismo de extensibilidad eficaz para personalizar y estandarizar la apariencia de las colecciones de sitios. Una de las acciones de script, triggerFlow, puede usarse para llamar a soluciones personalizadas para aplicar configuraciones que no se admiten de forma nativa. Power Automate también puede usarse para la automatización de negocios: en este caso, se usa con diseños de sitio para realizar un seguimiento de la creación de sitios.
Este artículo describe cómo crear un directorio de sitios sencillo con un diseño de sitio y Power Automate. Cuando se crea un sitio con este diseño del sitio, los detalles del sitio se capturan y se escriben en una lista de SharePoint.
En los pasos de este artículo se muestran los componentes siguientes:
- Una lista de SharePoint
- Un diseño de sitio y un script de sitio
- Power Automate
Primero debe crear la lista de SharePoint y, después, se hará referencia a dicha lista en el flujo de Power Automate, que se activará mediante el diseño de sitio que se aplica después de crear el sitio.
Crear una lista de directorio de sitios
Primero, debe configurar la lista que se usará para registrar todos los sitios creados con este diseño de sitio.
Seleccione una colección de sitios para hospedar la lista.
Cree una nueva lista denominada "Directorio de sitios"
Configure los siguientes campos:
- webUrl (hipervínculo o imagen)
- webDescription (línea única de texto)
- CreatorName (línea única de texto)
- CreatorEmail (línea única de texto)
- CreatedTimeUTC (línea única de texto)
Creación del flujo
Para capturar el evento de creación de sitios y crear el elemento de lista correspondiente, deberá crear un flujo, al que puede hacerse referencia en el script del sitio del diseño del sitio:
Vaya al sitio de Power Automate, inicie sesión y seleccione* + Automatizado desde cero en la parte superior de la página.
Haga clic en Omitir en la siguiente pantalla
Seleccione Buscar conectores y desencadenadores para elegir el desencadenador
Busque Solicitud y seleccione Solicitud: cuando se recibe una solicitud HTTP [PREMIUM]. TENGA EN CUENTA QUE: el desencadenador de Solicitud ahora es PREMIUM y, por lo tanto, requiere licencias adicionales.
Escriba el siguiente código JSON como el cuerpo de la solicitud:
{ "type": "object", "properties": { "webUrl": { "type": "string" }, "parameters": { "type": "object", "properties": { "event": { "type": "string" }, "product": { "type": "string" } } }, "webDescription": { "type": "string" }, "creatorName": { "type": "string" }, "creatorEmail": { "type": ["string", "null"] }, "createdTimeUTC": { "type": "string" } } }
Seleccione + Nuevo paso.
Busque Crear elemento y seleccione SharePoint: crear elemento.
Escriba la dirección del sitio donde se creó la lista anterior.
Seleccione la lista de "Directorio de sitios" que creó en el paso anterior.
Escriba un valor en el campo Título, que será el mismo valor para cada elemento de lista. Por ejemplo, "Viaje de Contoso: nuevo sitio de proyecto creado".
Para cada campo del formulario de la lista, agregue el elemento correspondiente el selector de contenido dinámico. Cuando esté listo, su acción debe tener un aspecto similar a este:
Seleccione Guardar. Se genera la dirección URL de publicación de HTTP que debe copiar para la acción
triggerFlow
del script de sitio.Seleccione el primer paso del flujo ("Cuando se recibe una solicitud HTTP") y copie la dirección URL.
Guarde el flujo.
Crear el diseño de sitio
Abra PowerShell y asegúrese de que la versión más reciente de Shell de administración de SharePoint Online esté instalada.
Conéctese al espacio empresarial con Connect-SPOService.
Connect-SPOService -Url https://[yourtenant]-admin.sharepoint.com
Ahora puede obtener los diseños de sitio existentes.
Get-SPOSiteDesign
Para crear un diseño de sitio, primero debe crear un script de sitio. Un diseño de sitio es un contenedor que hace referencia a uno o más scripts de sitios.
Copie el siguiente código JSON en el Portapapeles y modifíquelo. Establezca la propiedad url en el valor que copió al crear el flujo. La dirección URL tendrá un aspecto similar al siguiente:
https://prod-27.westus.logic.azure.com:443/workflows/ef7434cf0d704dd48ef5fb6...oke?api-version=2016-06-01&sp=%2Ftriggers%2Fmanual%2Frun
{ "$schema": "schema.json", "actions": [ { "verb": "triggerFlow", "url": "[paste the workflow trigger URL here]", "name": "Record site creation event", "parameters": { "event": "site creation", "product": "SharePoint Online" } } ] }
Vuelva a seleccionar el JSON y cópielo de nuevo en el Portapapeles.
Abra PowerShell y escriba lo siguiente para copiar el script en una variable y crear el script de sitio:
$script = Get-Clipboard -Raw Add-SPOSiteScript -Title "Site Script to record site creation event" -Content $script Get-SPOSiteScript
Verá una lista de uno o más scripts de sitio, incluido el script de sitio que acaba de crear. Seleccione el identificador del script de sitio que ha creado y cópielo en el Portapapeles.
Use el comando siguiente para crear el diseño de sitio:
Add-SPOSiteDesign -Title "Record site creation" -Description "The creation of this site will be recorded in the site directory list" -SiteScripts [Paste the ID of the Site Script here] -WebTemplate "64"
Nota:
El cmdlet Add-SPOSiteDesign asocia el diseño de sitio al sitio de grupo. Para asociar el diseño con un sitio de comunicación, use -WebTemplate "68"
.
Comprobación de los resultados
Para probar los resultados, cree un nuevo sitio. En el espacio empresarial de SharePoint, seleccione SharePoint>Crear sitio>Sitio de grupo. (Si ha deshabilitado la creación de sitios de autoservicio, deberá crear el sitio desde el Centro de administración de SharePoint).
El nuevo diseño de sitio debería mostrarse como una opción de diseño. Tenga en cuenta que el diseño de sitio se aplica una vez que se ha creado el sitio. Si lo ha configurado correctamente, el flujo se desencadenará. Puede comprobar el historial de ejecución del flujo para asegurarse de que se haya ejecutado correctamente.