Gfacility

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 MicrosoftCampo 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
LicenciaActivo 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ónQué hace Gfacility
Existe una organización con ese nombreEl 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ónGfacility 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 EntraEl usuario conserva su organización actual. Un usuario nuevo recibe la organización predeterminada.
Cambia el departamento de un usuarioEn 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 MicrosoftCampo en Gfacility
Nombre para mostrar (DisplayName)Nombre
Dirección de correo de la salaDirecció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 salaCó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?

DatoSentido
TítuloEn ambos sentidos
Hora de inicio y fin, todo el díaEn ambos sentidos
DescripciónEn ambos sentidos (se elimina el texto de Teams)
Asistentes (compañeros y visitantes)En ambos sentidos
SalasEn ambos sentidos. En Outlook aparecen como asistente y en Ubicación
Reunión de Teams y su enlaceEn ambos sentidos
CancelaciónEn ambos sentidos
OrganizadorDe Outlook a Gfacility
Catering y serviciosSe 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:

  1. Crea un registro de aplicación en Microsoft.
  2. Asigna los permisos.
  3. Elige cómo puede acceder Gfacility a los calendarios.
  4. 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.

PasoQué hacer
1Inicia sesión en Azure Portal → Registros de aplicaciones.
2Haz clic en + Nuevo registro e introduce un nombre.
3Elige el tipo de cuenta adecuado (p. ej. Solo cuentas de este directorio organizativo).
4El URI de redirección puede quedar vacío.
5Haz clic en Registrar. Anota el Id. de aplicación (cliente) y el Id. de directorio (inquilino).
6Ve a Certificados y secretos.
7Haz clic en + Nuevo secreto de cliente y añade una descripción y una fecha de caducidad.
8Haz 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.