Richard Knight
Jefe de Producto, GW Apps
En este artículo veremos cómo Collegiate School aprovechó las capacidades de flujo de trabajo de la plataforma de desarrollo de aplicaciones sin código GW Apps para crear una solución de gestión de eventos personalizada. A continuación, añadieron Google Calendar a la aplicación mediante la plataforma de automatización de Make.com.
Collegiate School es un colegio independiente para chicos de K-12 en la ciudad de Nueva York, con un campus en el Upper West Side de Manhattan. La escuela celebra muchos eventos especiales para funciones escolares, eventos de admisión, grupos de la Asociación de Padres y grupos externos en su campus. Estos actos requieren varios niveles de aprobación para garantizar que no interfieran con los programas normales de la escuela, o entre sí, y que los recursos de la escuela no se vean sobrecargados con el trabajo adicional necesario para apoyarlos. Además, una vez aprobados, se requiere la coordinación entre varios departamentos, como instalaciones, servicio de comidas y tecnología, para preparar y ejecutar los actos.
Hace tiempo que la escuela comprendió el valor de utilizar soluciones personalizadas para ayudar a gestionar sus eventos, ya que el proceso requerido es muy específico y los sistemas disponibles en el mercado tenían dificultades para reflejar ese proceso con éxito. Su sistema anterior, basado en WordPress y alojado internamente por el departamento de informática del centro, resultaba difícil de utilizar para los usuarios finales y de mantener y modificar, además de presentar un riesgo de ciberseguridad que requería importantes recursos para mitigarlo. Collegiate School buscaba una nueva plataforma sobre la que construir un mejor sistema de gestión de eventos, así como otras aplicaciones orientadas al flujo de trabajo. El colegio se centró en buscar flexibilidad, seguridad, capacidades de flujo de trabajo y facilidad de desarrollo. Finalmente eligieron la plataforma sin código GW Apps, que tenía la ventaja añadida de ser especialmente rentable.
La aplicación de gestión de eventos
In la creación de su nueva aplicación de gestión de eventos en GW Apps, Ben Schworm, Director de Tecnología de la Información de Collegiate School, nos dijo que querían añadir integración con Google Calendar de dos formas principales:
- Una vez aprobado un evento en la aplicación Gestión de eventos, debe añadirse al calendario de recursos de la sala correspondiente en Google Calendar. También debe actualizarse con cualquier cambio posterior realizado en el registro del evento.
- Los eventos añadidos directamente a los calendarios de recursos de salas en Google deben desencadenar la creación y aprobación de un registro de evento dentro de la aplicación Gestión de Eventos en GW Apps.
Collegiate School utiliza Make.com para la integración con Google Calendar. También podrías utilizar otras plataformas de automatización, como: Zapier, Tray.io, Workato, Integrately, etc. Esta integración ahorra tiempo y reduce los errores en comparación con el hecho de que los solicitantes o el personal administrativo gestionen los eventos en dos sistemas de forma manual. También ayuda a Collegiate a evitar posibles conflictos de programación de salas en espacios muy utilizados y de alto perfil, como comedores, auditorios y gimnasios, al mantener a todas las partes interesadas al tanto mediante un proceso de aprobación formal cuando uno de estos espacios se añade a un evento en Google Calendar.
Cómo hacerlo
Para quienes estén interesados en probar algo similar, aquí van algunos consejos profesionales de Ben:
Consejos para crear y actualizar los eventos de Google Calendar
- Cuando escriba nuevos eventos en Google Calendar, tome el ID del evento devuelto por el módulo 'Google Calendar - Crear evento' de Make y escríbalo en un campo del registro de eventos de GW Apps. Esto le permite encontrar fácilmente ese evento específico de Google Calendar de nuevo, para futuras actualizaciones (cambios y eliminaciones).
- Utiliza el módulo "Herramientas" de Make y las funciones integradas de fecha y hora para analizar y formatear la fecha, la hora de inicio y la hora de finalización del registro de GWApps y almacenarlas en variables para utilizarlas en los campos de fecha de inicio y de finalización del módulo "Google Calendar - Crear evento".
- Considera la posibilidad de copiar el ID del registro, la hora de actualización (última hora de modificación) y cualquier otra información identificativa del registro del evento de GWApps en el evento de Google Calendar.
- Utiliza una cuenta de Google dedicada, que tenga acceso completo a los calendarios de recursos, para añadir entradas de Google Calendar.
- Si trabaja con calendarios de recursos, cree un formulario de GWApps para almacenar la información del calendario de recursos, como la dirección de correo electrónico del calendario de recursos, que necesitará para crear un evento.
Consejos para actualizar los registros de GW Apps a partir de la actividad de Google Calendar
- Si está observando un Google Calendar y creando un nuevo registro de eventos de GW Apps cuando se ve un nuevo evento de calendario, asegúrese de que tiene un mecanismo para filtrar los eventos creados por GW Apps para evitar entradas de "reflejo" en GWApps (donde los eventos creados en GW Apps crean un evento en Google Calendar, que luego desencadena la creación de un nuevo registro de GW Apps). Hay varias formas de hacerlo. Yo utilizo una cuenta de Google dedicada cuando creo eventos en Google Calendar a partir de entradas de formularios de GWApps. El escenario (nombre de un bot de automatización en Make) que vigila Google Calendar está configurado para filtrar cualquier evento creado por esa cuenta.
- Si alguno de los calendarios de Google de sus salas tiene eventos históricos existentes que no desea que se añadan como nuevos registros de eventos en GWApps, el módulo Hacer "Calendario de Google - Ver eventos" debe configurarse para que comience en una fecha específica. Haz clic con el botón derecho del ratón en el módulo y selecciona "Elegir dónde empezar" para establecer la fecha.
- Tengo usuarios que "poseen" salas y no necesitan que sus solicitudes de eventos para esas salas pasen por el proceso de aprobación completo. Para permitir esto he creado registros de salas que almacenan usuarios que pueden saltarse determinadas etapas de flujo de trabajo/aprobación al crear un evento en esa sala. Luego creé un escenario Make que comprueba esta información para establecer la etapa de flujo de trabajo requerida para el nuevo registro de evento. Así, si el usuario añade eventos que incluyen un calendario de sala directamente en Google Calendar (por ejemplo, un usuario que añade un evento en una sala de su "propiedad"), se iniciarán en una etapa de aprobación posterior o pasarán directamente al estado aprobado. Este proceso es más complejo y me llevó a utilizar webhooks dentro de Make para llamar a un escenario desde otro escenario. Esto mantiene su "código" Make DRY (modular) por lo que es más fácil de mantener en el futuro.
- Considera la seguridad de tu entorno GWApps cuando configures tus escenarios Make. GWApps te da la posibilidad de limitar lo que tus endpoints API pueden hacer en tu app por usuario, formulario y operación (ver, crear, actualizar, borrar, etc). Crea diferentes claves API para diferentes niveles de acceso. Además, ten cuidado de limitar la exposición de tus claves API de GWApps y la información de credenciales asociada dentro de la plataforma Make. Yo la almaceno fuera de la plataforma Make.com y utilizo un escenario dedicado para gestionar la recuperación de tokens de GWApps, con la opción "Los datos son confidenciales" activada en el escenario, evitando que las credenciales de la API se registren en cada ejecución del escenario. Esto no es seguridad a prueba de balas, pero limita tu exposición hasta cierto punto. Ni que decir tiene que tu entorno Make.com también debería tener activada la autenticación de dos factores.