Integración del calendario: detalles del método de la cuenta de servicio de M365
- Empezando
-
Procesos diarios
Bandeja de entrada del candidato Perfil del candidato Prácticas de programación manuales y comunes Mi calendario/calendarios Extensión del navegador Mis trabajos Motor de aprobaciones Procesos del Formulario I-9 Solución de problemas Creador de resúmenes de candidatos Formularios y ofertas Panel de reclutamiento Asistencia Paradox
- Compromiso de candidatos y usuarios
-
Herramientas de gestión
Programación Sistema de gestión de contenido ( CMS ) Seguridad Viajes Gestión de trabajos Múltiples marcas de empresa Flujos de trabajo Usuarios, roles y permisos Gestión de la ubicación Mensajería del asistente Información de la compañía Fuentes de datos Configuración del cliente Implementación de Workday
- AI contextual
- Eventos conversacionales y campus
-
Notas de la versión
Febrero de 2025 Enero de 2025 Abril de 2025 Marzo de 2025 Junio de 2025 Julio de 2025 Agosto de 2025 Septiembre de 2025 Octubre de 2025 Noviembre de 2025 Diciembre 2025 enero de 2026 Febrero de 2026 Marzo de 2026 Abril de 2026 Mayo de 2026 Junio 2026 Julio 2026 Agosto de 2026 Septiembre de 2026 Octubre de 2026
- Descripciones de las funciones de Workday
- Comunicaciones de los empleados
Table of Contents
Nota: Este documento detalla el método de cuenta de servicio para la integración del calendario de M365. Haga clic aquí para ver una descripción general de todos los métodos de integración del calendario y aquí para saber cómo configurar la integración del calendario de M365 en la cuenta Paradox CEM .
El método de integración de la cuenta de servicio de M365 utiliza una única cuenta (por ejemplo, olivia@clientname.com ) en su inquilino de Azure para conectarse con la aplicación. Esta cuenta es la cuenta de servicio. Mediante la cuenta de servicio, Paradox obtiene la disponibilidad del calendario del usuario y, opcionalmente, puede crear y enviar invitaciones a entrevistas a través de la dirección de correo electrónico asociada a dicha cuenta.
Este método de integración es el más común que utiliza Paradox para integrarse con entornos de O365 o Exchange Online. La aplicación Olivia Scheduling, al estar limitada a una sola cuenta, ofrece importantes ventajas de seguridad, restringiendo la exposición de datos a un único buzón. Además, una cuenta de servicio permite que todas las comunicaciones de programación provengan de un dominio específico.
Una vez que un inquilino está conectado (es decir, Paradox está conectado a nivel global), todos los usuarios se conectarán automáticamente según su dirección de correo electrónico (todos los usuarios que existan con el mismo dominio de correo electrónico en el Directorio Activo de Entra ID, en un inquilino al que la cuenta de servicio tenga acceso). La "conexión" Paradox con estos correos electrónicos consiste simplemente en que la cuenta de servicio puede verlos (es decir, los usuarios no se han autenticado individualmente en sus correos electrónicos en Paradox ), lo que significa que si el usuario está conectado en Paradox , estamos comprobando activamente su disponibilidad.
- No es necesario realizar ninguna acción individual; el correo electrónico vinculado se rellenará automáticamente en páginas como Roles y permisos y Mi calendario.
- Es posible desconectar a usuarios individuales o permitirles configurar una conexión individual diferente.
- Si la cuenta Paradox ya cuenta con muchos usuarios, la conexión automática de sus calendarios individuales se realizará mediante un proceso por lotes. Por ello, recomendamos, durante la implementación, conectar primero el inquilino en Paradox CEM antes de añadir todos los usuarios a la cuenta.
Aplicación Paradox Azure
La integración de Paradox con el calendario de O365 utiliza una aplicación empresarial configurada en Azure. Un administrador global de Azure otorga el consentimiento de administrador para conectar la aplicación a su inquilino. Una vez otorgado el consentimiento, la aplicación actúa en nombre del administrador de Azure designado, utilizando el contexto de identidad de ese usuario específico para ejecutar llamadas a la API de Microsoft Graph mediante permisos de aplicación OAuth 2.0.
Existen dos maneras de crear y administrar la aplicación Paradox dentro de su entorno Azure: 1) Aplicación predeterminada Paradox , 2) Aplicación administrada.
-
Aplicación predeterminada Paradox
- Mediante el proceso de consentimiento de la aplicación, podemos conectar su inquilino a la aplicación Paradox Default. Esta es una aplicación preconfigurada que se puede agregar a su inquilino mediante el consentimiento OAuth del usuario de la cuenta de servicio.
- Normalmente, esto requiere que un administrador global de Azure dé su consentimiento para agregar la aplicación al entorno.
-
Aplicación administrada (registro de una aplicación en Azure)
- Si prefiere administrar su propia aplicación en su entorno, es posible hacerlo. Para administrar una aplicación personalizada, registre una aplicación empresarial en Azure.
- Deberá proporcionar a Paradox los siguientes datos de la solicitud registrada (ejemplo):
- ID de la aplicación : 1a058ccb-060a-432c-****-************
- ID de inquilino : 99bbf8d0-600c-4b78-****-************
- Valor secreto : yiX4Omm~6~Mu6I********************
- Fecha de caducidad de la clave secreta
Diagrama de configuración

Haz clic aquí para aprender a configurar la integración del calendario de M365.
Licencias
- La cuenta de servicio requiere un buzón de correo activo, ya que se trata esencialmente de una cuenta de usuario que se utiliza para la integración.
- Si se utiliza Microsoft Teams, la cuenta necesitará una licencia completa que permita la creación de reuniones de Microsoft Teams.
Configuración de seguridad
- Se recomienda que la Política de uso compartido en Azure esté configurada de forma predeterminada en Solo disponibilidad .
- Esto permite que la cuenta de servicio solo vea cuándo un usuario está libre u ocupado, en lugar de recibir todos los detalles de los eventos del calendario. Si no es así, las llamadas a la API responderán con los detalles del calendario. Paradox nunca almacena estos datos, pero advertimos, por motivos de seguridad, que existe la posibilidad de que se transfieran a nuestro sistema.
- Paradox solo realizará solicitudes a calendarios que sean usuarios existentes en Paradox CEM .
- Las cuentas de servicio deberían tener compartidos de forma predeterminada todos los calendarios de los demás inquilinos.
- En Azure, el único permiso que se otorga a todos los usuarios de forma predeterminada es la capacidad de ver los datos de disponibilidad en los calendarios de otros usuarios (este es el rol AvailabilityOnly).
- La autenticación multifactor (MFA) es compatible con las cuentas de servicio. Sin embargo, Paradox recomienda no habilitar la MFA por las siguientes razones:
- Los cambios en la política de contraseñas o el restablecimiento de la autenticación multifactor (MFA) realizados después de la configuración de la integración invalidarán las claves de integración sin previo aviso, lo que puede provocar inconsistencias en las acciones de integración y programación.
- La autenticación multifactor (MFA) requiere que el usuario sea el propietario del dispositivo utilizado como segundo método de autenticación. Esto crea un punto único de fallo (SPoF) si dicho usuario abandona la organización, cambia de dispositivo o no está disponible en caso de que se requiera una escalada de la seguridad.
- Agregar la autenticación multifactor (MFA) después de la creación de la cuenta de servicio también puede causar una interrupción que requerirá una reconexión.
Acciones disponibles para el inquilino
El inquilino conectado puede habilitarse para la siguiente funcionalidad:
- Enviar invitaciones de calendario : la cuenta de servicio envía invitaciones a entrevistas tanto a candidatos como a entrevistadores.
-
Consulta la disponibilidad del calendario : la cuenta de servicio comprueba los horarios libres/ocupados para programar citas.
- Sincronización de la zona horaria del calendario : esto permite que la zona horaria de Paradox se sincronice con la zona horaria de Horario Laboral de O365 cada vez que se accede al calendario.
-
Reuniones de Microsoft Teams : Teams se utiliza como tecnología virtual, lo que significa que se crean enlaces de reuniones de Teams para cada entrevista virtual programada.
- Grabación y transcripción : permite la grabación y transcripción automáticas de las reuniones de Teams. El organizador o los organizadores de la reunión pueden acceder a este material.
- Participantes como coorganizadores : permite que los entrevistadores sean designados como coorganizadores de las reuniones de Teams.
-
Acceso sin pasar por el vestíbulo : Permite controlar quién puede acceder a la reunión y evitar el vestíbulo.
- Organizador
- Organización
- Organización y Federación
- Todos
- Invitado
- Organización sin incluir invitados
Alcance del permiso
- Este método utiliza permisos delegados.
- En Azure, los permisos delegados requieren que cada usuario dé su consentimiento individual a los permisos de la aplicación, lo que significa que la cuenta de servicio deberá iniciar sesión y podrá confirmar los permisos.
- A menudo existe preocupación por el grado de acceso que tiene Paradox al otorgar estos permisos; por lo tanto, los permisos delegados son la medida de seguridad para evitarlo.
- Dado que Paradox utiliza permisos delegados en lugar de permisos de aplicación para todo el inquilino, la aplicación solo obtiene acceso a la cuenta que se autentica.
- La única cuenta que se autentica es la Cuenta de servicio. Paradox no puede acceder ni ver los detalles completos del calendario de otros usuarios en el inquilino; su vista de los horarios de los usuarios estándar se limita estrictamente a la disponibilidad (libre/ocupado) según la política de uso compartido predeterminada de Azure. Todas las acciones del calendario y las invitaciones a entrevistas se gestionan de forma centralizada y se ejecutan exclusivamente en nombre de la Cuenta de servicio.
Únicamente la cuenta de servicio estará conectada a esta aplicación y, por lo tanto, los permisos se limitan a una sola cuenta.
- La aplicación Paradox Interview Scheduling utiliza los siguientes permisos. Los permisos necesarios dependen de la funcionalidad seleccionada para la integración. Consulte la documentación de Microsoft para obtener más información sobre estos permisos.
-
Calendars.ReadBasic- Necesario si la funcionalidad "Leer disponibilidad del calendario" está habilitada.
- Se utiliza para leer los datos de disponibilidad de otros usuarios dentro de su inquilino.
- Debido a la designación de "delegado", el permiso de lectura solo otorga permiso para la cuenta de servicio y no otorga acceso de lectura al calendario de otros usuarios.
- Enlace a la documentación de Microsoft
-
Calendars.ReadWrite- Necesario si la función "Enviar invitaciones de calendario" está habilitada.
- Se utiliza para leer los datos de disponibilidad de otros usuarios dentro de su inquilino y para la creación del evento del calendario de entrevistas con la cuenta de servicio como propietaria.
- Debido a la designación de "delegado", el permiso de lectura/escritura solo otorga permiso para la cuenta de servicio y no otorga acceso de lectura/escritura a los calendarios de otros usuarios.
- Enlace a la documentación de Microsoft
-
Mail.read- Necesario si la función "Enviar invitaciones de calendario" está habilitada.
- Se utiliza para leer los correos electrónicos en la bandeja de entrada de la cuenta de servicio y detectar cambios en los eventos del calendario. Según las respuestas del invitado, Paradox podrá tomar medidas con respecto a la entrevista para reprogramarla o cancelarla si fuera necesario.
- El permiso de lectura solo otorga permisos para la cuenta de servicio y no otorga acceso de lectura a los buzones de correo de otros usuarios.
- Enlace a la documentación de Microsoft
-
OnlineMeetings.ReadWrite- Necesario para la funcionalidad: 'Microsoft Teams Meetings' está habilitado.
- Se utiliza para crear y administrar las URL de Microsoft Teams para todas las entrevistas. La cuenta de servicio actuará como propietario de la reunión al crear las URL de Teams.
- El permiso de lectura/escritura solo otorga permisos para la cuenta de servicio y no concede a Teams acceso de lectura/escritura a los equipos de otros usuarios.
- Enlace a la documentación de Microsoft
-
Offline_access- Se requiere como permiso predeterminado
- Se utiliza para mantener el acceso a los datos de la cuenta de servicio sin conexión a internet.
-
User.read- Se requiere como permiso predeterminado
- Se utiliza para leer el perfil de la cuenta de servicio y da acceso a la subreclamación.
- Enlace a la documentación de Microsoft
-
Ejemplo de solicitud a la API de Microsoft Graph
- Paradox no puede enviar una solicitud de API en nombre de ningún otro usuario de su inquilino porque Paradox no tiene permiso de API para ningún usuario fuera de la Cuenta de Servicio.
- Los siguientes ejemplos corresponden a una solicitud que Paradox CEM realizaría en nombre de una cuenta de servicio en su inquilino de O365. La solicitud la realiza la cuenta de servicio olivia@paradoxolivia.onmicrosoft.com con el correo electrónico del entrevistador: test@paradoxolivia.onmicrosoft.com .
- Disponibilidad del calendario
- A continuación, Paradox utilizará la llamada a la API get free/busy para obtener los datos de disponibilidad del/de los entrevistador/es.
- Documentación: getSchedule
- Para obtener la información de disponibilidad de un entrevistador, agregamos el valor “ test@paradoxolivia.onmicrosoft.com ” al parámetro “Schedules” de la solicitud de API. Dado que la cuenta de servicio tiene la capacidad de ver la disponibilidad de “ test@paradoxolivia.onmicrosoft.com ”, la solicitud de API devuelve una respuesta.
Consulte la solicitud y respuesta de la API.
Ejemplo de solicitud:
POST https://graph.microsoft.com/v1.0/me/calendar/getschedule{ "schedules": ["recruiter@contoso.com"], "startTime": { "dateTime": "2025-01-01T09:00:00", "timeZone": "UTC" }, "endTime": { "dateTime": "2025-01-01T10:00:00", "timeZone": "UTC" } }Ejemplo de respuesta:
{ "value": [ { "scheduleId": "recruiter@contoso.com", "scheduleItems": [ { "status": "busy", "start": { "dateTime": "2025-01-01T09:00:00.0000000", "timeZone": "Pacific Standard Time" }, "end": { "dateTime": "2025-01-01T10:00:00.0000000", "timeZone": "Pacific Standard Time" } } ], "workingHours": { "timeZone": { "name": "Pacific Standard Time" } } } ] }
- Creación de eventos en el calendario
- Una vez que un candidato selecciona una hora disponible para su entrevista, Paradox realiza una solicitud a la API para crear invitaciones de calendario que se envían tanto al candidato como a los entrevistadores. Paradox envía invitaciones de calendario independientes a candidatos y entrevistadores. Esto permite Paradox personalizar el contenido para cada perfil.
- Documentación: Crear evento
Consulte la solicitud y respuesta de la API.
Ejemplo de solicitud:
POST https://graph.microsoft.com/v1.0/me/events{ "subject": "New Team Meeting", "body": { "contentType": "text", "content": "Quarterly planning session" }, "start": { "dateTime": "2025-01-20T10:00:00", "timeZone": "America/New_York" }, "end": { "dateTime": "2025-01-20T11:00:00", "timeZone": "America/New_York" }, "location": { "displayName": "Room 202", "address": null }, "attendees": [ { "type": "required", "emailAddress": { "address": "alice@example.com", "name": "Alice Smith" } }, { "type": "optional", "emailAddress": { "address": "bob@example.com", "name": "Bob Jones" } } ], "sensitivity": "normal" }Ejemplo de respuesta:
Paradox se lee en la respuesta:
id(obligatorio),iCalUId. Mantenersubject,body,start,end,location,attendees,sensitivitysi está presente.
- Microsoft Teams - Creación de reuniones
- Documentación: Crear reunión en línea
Consulte la solicitud y respuesta de la API.
Ejemplo de solicitud:
POST https://graph.microsoft.com/v1.0/me/onelineMeetings{ "startDateTime": "2025-11-05T10:00:00Z", "endDateTime": "2025-11-05T11:00:00Z", "subject": "Interview meeting", "joinMeetingIdSettings": { "isPasscodeRequired": true } }Ejemplo de respuesta:
{ "joinUrl": "https://teams.microsoft.com/l/meetup-join/...", "joinWebUrl": "https://teams.microsoft.com/l/meetup-join/...", "joinMeetingIdSettings": { "joinMeetingId": "123456789", "passcode": "abc123" }, "audioConferencing": { "tollNumber": "+1 469-998-7681", "conferenceId": "129851622" } }