Microsoft 365
Integración con Office 365
Conecta Gfacility con Office 365 para usuarios, salas y calendarios: registro de aplicación, permisos, acceso a calendarios o Exchange RBAC y sincronización.
Actualizado el 1 oct 2026
Integraciones · Autenticación · 1.2
La integración entre Gfacility y Office 365 utiliza un enfoque 2-legged con un registro de aplicación en Microsoft Entra ID (antes Azure Active Directory). Gfacility inicia sesión con la identidad propia de esa aplicación, sin ventanas emergentes ni consentimiento por usuario. Así es más estable y más seguro.
¿Cómo funciona?
La integración tiene cuatro partes. Cada una se activa por separado en Gfacility, en Integraciones e inicio de sesión → Office 365. Todas funcionan a través de un único registro de aplicación de tu organización.
Sincronización de usuarios · cada noche
Da de alta a tus empleados en Gfacility.
Sincronización de departamentos · con la de usuarios
Vincula a cada empleado con su departamento.
Sincronización de ubicaciones · cada noche
Da de alta las salas de reuniones en Gfacility, con edificio y planta.
Sincronización de calendarios · al instante
Mantiene iguales las reservas en Gfacility y en Outlook.
Sincronización de usuarios
Cada noche, Gfacility recoge a tus empleados de Microsoft.
- ¿Empleado nuevo? Se crea.
- ¿Han cambiado sus datos? Se actualizan el nombre, la dirección de correo y el número de teléfono.
- ¿Ha dejado la empresa? Quien ya no está en Microsoft pasa a inactivo en Gfacility.
¿Qué campos se copian?
| Campo en Microsoft | Campo en Gfacility |
|---|---|
Nombre de inicio de sesión (userPrincipalName) | Dirección de correo |
Nombre (givenName) | Nombre |
Apellidos (surname) | Apellidos |
Teléfono móvil (mobilePhone) | Número de teléfono |
Departamento (department) | Organización principal, solo si la sincronización de departamentos está activada |
| Licencia | Activo o inactivo |
Ten en cuenta: la dirección de correo en Gfacility es el nombre de inicio de sesión de Microsoft, no el campo Correo electrónico. Normalmente coinciden.
No se copian: el puesto, la ubicación de la oficina, el teléfono del trabajo ni la foto de perfil. Un empleado nuevo recibe la organización y la ubicación predeterminadas de tu espacio de trabajo; puedes cambiarlas después en Gfacility.
Conviene saber:
- Solo se incluyen los empleados con una licencia de Microsoft 365. Las salas y los buzones compartidos, no.
- La sincronización de usuarios no se encarga del inicio de sesión. Solo hace que Gfacility conozca a tus empleados. Para iniciar sesión, elige Iniciar sesión con Microsoft o SSO.
Sincronización de departamentos
La sincronización de departamentos es una opción adicional de la sincronización de usuarios. La activas en Integraciones e inicio de sesión → Office 365, justo debajo de la sincronización de usuarios. El interruptor solo aparece cuando la sincronización de usuarios está activada. No hace falta ningún permiso adicional: basta con User.Read.All.
En cada sincronización de usuarios, Gfacility lee el campo Departamento de cada usuario en Microsoft Entra ID y vincula al usuario con la organización que tiene ese nombre, como su organización principal.
| Situación | Qué hace Gfacility |
|---|---|
| Existe una organización con ese nombre | El usuario se vincula con esa organización. Gfacility la busca primero por nombre y después por código, sin distinguir mayúsculas de minúsculas. |
| Todavía no existe ninguna organización | Gfacility crea una organización nueva en el nivel superior, con el nombre del departamento como nombre y como código, y con el tipo de organización Departamento (o el tipo predeterminado si ese no existe). |
| El departamento está vacío en Entra | El usuario conserva su organización actual. Un usuario nuevo recibe la organización predeterminada. |
| Cambia el departamento de un usuario | En la siguiente sincronización se vincula con la nueva organización. |
Sincronización de ubicaciones (Places)
Cada noche, Gfacility recoge las salas de reuniones de Microsoft. De cada sala se actualizan el nombre, la capacidad, el edificio y la planta. Si un edificio o una planta todavía no existe, Gfacility lo crea.
¿Qué campos se copian?
| Campo en Microsoft | Campo en Gfacility |
|---|---|
Nombre para mostrar (DisplayName) | Nombre |
| Dirección de correo de la sala | Dirección de correo (el vínculo con el calendario de la sala) |
Capacidad (Capacity) | Capacidad |
Edificio (Building) | Edificio (ubicación superior) |
Número de planta (Floor) | Planta (nombre y código) |
| Id. de la sala | Código |
No se copian: el nombre de la planta (FloorLabel), la dirección y la ciudad, el equipamiento (pantalla, audio, vídeo), la accesibilidad en silla de ruedas ni las etiquetas.
Ten en cuenta: en cada sincronización, Gfacility también vuelve a marcar la sala como reservable y rellena la descripción con un texto fijo. Si cambias cualquiera de los dos en Gfacility, la siguiente sincronización lo restablece. Para que una sala no se toque, desactiva la sincronización externa de esa sala en Gfacility.
Cómo configurarlo en Microsoft se explica en Gestión de salas en Microsoft.
Sincronización de calendarios
La sincronización de calendarios funciona en ambos sentidos:
- De Gfacility a Outlook. Crea una reserva en Gfacility y aparecerá también en el calendario de Outlook del organizador, sala incluida. Si la modificas o la cancelas, eso también ocurre en Outlook.
- De Outlook a Gfacility. Si mueves, modificas o cancelas esa reunión en Outlook, Gfacility actualiza la reserva al momento.
- Calendarios de sala. Gfacility también lee los calendarios de las salas de reuniones. Así, el tablero de planificación y las pantallas de sala muestran también las reuniones que solo se reservaron en Outlook.
¿Qué se sincroniza?
| Dato | Sentido |
|---|---|
| Título | En ambos sentidos |
| Hora de inicio y fin, todo el día | En ambos sentidos |
| Descripción | En ambos sentidos (se elimina el texto de Teams) |
| Asistentes (compañeros y visitantes) | En ambos sentidos |
| Salas | En ambos sentidos. En Outlook aparecen como asistente y en Ubicación |
| Reunión de Teams y su enlace | En ambos sentidos |
| Cancelación | En ambos sentidos |
| Organizador | De Outlook a Gfacility |
| Catering y servicios | Se quedan en Gfacility. Si la hora o la sala cambian en Outlook, se marcan para revisión |
De los calendarios de sala, Gfacility lee por cada reunión: título, hora de inicio y fin, organizador, número de asistentes y si la sala la ha aceptado. Una reunión marcada como privada en Outlook aparece en Gfacility como “Privada”.
Conviene saber:
- Una reunión reservada solo en Outlook no se convierte en una reserva en Gfacility. La sala sí aparece como ocupada.
- Cada noche, Gfacility comprueba si se ha pasado por alto algún cambio y lo recupera.
¿Cómo se configura?
Son cuatro pasos:
- Crea un registro de aplicación en Microsoft.
- Asigna los permisos.
- Elige cómo puede acceder Gfacility a los calendarios.
- Introduce los datos en Gfacility.
Después activa en Gfacility las partes que quieras usar.
1. Crear un registro de aplicación en Azure Portal
Crea un registro de aplicación propio para Gfacility, separado de otras aplicaciones. Así mantienes el control y la seguridad en tus manos.
| Paso | Qué hacer |
|---|---|
| 1 | Inicia sesión en Azure Portal → Registros de aplicaciones. |
| 2 | Haz clic en + Nuevo registro e introduce un nombre. |
| 3 | Elige el tipo de cuenta adecuado (p. ej. Solo cuentas de este directorio organizativo). |
| 4 | El URI de redirección puede quedar vacío. |
| 5 | Haz clic en Registrar. Anota el Id. de aplicación (cliente) y el Id. de directorio (inquilino). |
| 6 | Ve a Certificados y secretos. |
| 7 | Haz clic en + Nuevo secreto de cliente y añade una descripción y una fecha de caducidad. |
| 8 | Haz clic en Agregar. |
2. Asignar los permisos de API
En el registro de aplicación, ve a Permisos de API → + Agregar un permiso → Microsoft Graph. Añade según el caso de uso:
Integración de usuarios
Para que Gfacility conozca a tus empleados. Para el inicio de sesión en sí, consulta Iniciar sesión con Microsoft o SSO.
- Application:
User.Read.All - Delegated:
User.Read
Places / Ubicaciones
Sincronización automática de las salas de reuniones desde Outlook.
- Application:
Place.Read.All
Calendarios (eventos de Outlook)
Para reservas, planificación, analítica y pantallas de sala. Para esto eliges una de dos vías en el paso 3, así que de momento no añadas nada aquí.
Calendarios compartidos
Acceso a buzones compartidos.
- Delegated:
Calendars.Read.Shared - Delegated:
Calendars.ReadWrite.Shared
Por último, haz clic en Conceder consentimiento de administrador para [Tenant]. Si no, los permisos se quedan pendientes.
3. Elegir cómo puede acceder Gfacility a los calendarios
Gfacility tiene que leer y escribir eventos en los calendarios de salas y usuarios. Elige una de estas dos vías:
Opción A · Todos los calendarios
Lo más sencillo. Gfacility obtiene acceso a todos los calendarios de tu tenant.
- Application:
Calendars.ReadWrite
Añádelo en Entra ID junto a los permisos del paso 2 y concede el consentimiento de administrador. Calendars.Read no hace falta: ReadWrite ya incluye la lectura.
Opción B · Restringido mediante Exchange RBAC
Gfacility solo obtiene acceso a los buzones que elijas, por ejemplo las salas y los empleados que reservan.
No añadas ningún permiso de calendario en Entra ID. El acceso se configura en Exchange Online; consulta los pasos más abajo.
Opción B paso a paso (Exchange Online PowerShell)
1. Conéctate y crea la entidad de servicio. Usa el Application ID y el Object ID de la aplicación empresarial, no los del registro de aplicación:
Connect-ExchangeOnline
New-ServicePrincipal `
-AppId "<Application ID>" `
-ObjectId "<Enterprise App Object ID>" `
-DisplayName "Gfacility Application RBAC"
2. Crea un ámbito. Basado en un dominio o en un grupo habilitado para correo (los grupos de seguridad normales no funcionan):
# Opción 1: por dominio (los usuarios nuevos entran automáticamente en el ámbito)
New-ManagementScope `
-Name "Gfacility-DomainScope" `
-RecipientRestrictionFilter "PrimarySmtpAddress -like '*@contoso.com'"
# Opción 2: por grupo habilitado para correo (control total)
$Group = Get-DistributionGroup "Gfacility Scope"
New-ManagementScope `
-Name "Gfacility-GroupScope" `
-RecipientRestrictionFilter "MemberOfGroup -eq '$($Group.DistinguishedName)'"
3. Asigna el rol. Usa Application Calendars.ReadWrite, porque Gfacility escribe las reservas en los calendarios. Con solo Application Calendars.Read, las reservas nunca llegan a Outlook.
New-ManagementRoleAssignment `
-Name "Gfacility-Calendars-Scoped" `
-Role "Application Calendars.ReadWrite" `
-App "<Application ID>" `
-CustomResourceScope "Gfacility-DomainScope"
Get-ManagementRoleAssignment -App "<Application ID>" | Format-List Name,Role,CustomResourceScope
4. Prueba con una sala y un usuario:
Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "sala1@contoso.com"
Test-ServicePrincipalAuthorization -Identity "<Application ID>" -Resource "empleado@contoso.com"
Las dos deben mostrar InScope True, con Calendars.ReadWrite.
Consulta también la guía de Microsoft sobre Application RBAC en Exchange Online.
4. Introducir los datos en Gfacility
El administrador de Gfacility introduce estos datos en Integraciones e inicio de sesión → Office 365 → Cuenta de servicio (registro de aplicación) y hace clic en Probar conexión. O compártelos con nosotros:
- Id. de aplicación (cliente)
- Id. de directorio (inquilino)
- Valor del secreto de cliente
Comparte estos datos sensibles por un canal seguro (un enlace de un gestor de contraseñas), nunca sueltos en un correo.