La versión original (incluidos fragmentos de código) fue publicada en dev.to el 30 de octubre.
Morgen lanzó recientemente un nuevo producto – Morgen Assist – que creemos que va a potenciar mucho la automatización de calendarios y traerá miles de flujos de trabajo y aplicaciones increíbles al mercado, con Morgen impulsando todo.
Pero no me creas solo a mí, sigue adelante y descubre lo fácil que es escribir, probar e implementar tus propios flujos de trabajo de calendario desde tu propio entorno.
Y lo siento, pero poner OpenAI en el título fue la forma más fácil de conseguir que hagas clic, pero te prometo que es necesario para esta aplicación de menos de 100 líneas que resume inteligentemente eventos de calendario de todos y cada uno de tus calendarios*.
* Google y O365 son compatibles actualmente
"¿Qué estoy haciendo hoy?"
Quizás te hayas hecho esta pregunta, café en mano, mirando fijamente tu oficina de trabajo remoto después de salir de la cama y entrar en la sala de estar esta mañana.
Con más de 50 mensajes nuevos de Slack del PM, el equipo de diseño, marketing y el canal de soporte, podrías olvidarte de revisar tu calendario, que está perdido en medio de un mar de pestañas de Firefox, terminales y bueno… más terminales.
Y ahí es donde entra el Flujo de trabajo de horario matutino.
Un mensaje de Slack se entrega cada mañana (o noche) directamente a tus DMs informándote sobre cualquier reunión próxima, incluidas retrospectivas, 1-1, otras reuniones de sprint, llamadas con clientes, todo en el idioma y tono que elijas.
Como demostración, he enviado el siguiente texto al modelo ChatGPT de OpenAI:
Eres el legendario fundador de Apple, Steve Jobs, dando una presentación clave
Por favor, resume todos estos eventos próximos de una manera típica de tu estilo de presentación clásico.
- 1-1 con David
- Retrospectiva del último sprint
- Llamada con cliente /w Apple
Y esto es lo que obtuve:
Damas y caballeros,
Hoy, estoy aquí para darles una breve actualización sobre algunos eventos próximos que son de suma importancia para nuestra empresa.
Primero en la lista, tenemos una sesión 1-1 programada con David. Esta es una oportunidad fantástica para conectar a nivel personal, intercambiar ideas y alinear nuestra visión. Tales interacciones son …
Y continúa. La presentación completa es realmente inspiradora, pero tendrás que verla por ti mismo.
Así que tenemos la pieza central del rompecabezas, pero ¿cómo encaja esto dentro de un flujo de trabajo de Morgen Assist?
Primeros pasos con Morgen Assist
A continuación, necesitarás una cuenta con Morgen Assist. Solo necesitarás una dirección de correo electrónico y una cuenta de calendario que sea proporcionada por Microsoft O365 o Google.
Crear un flujo de trabajo personalizado
Primero necesitaremos un flujo de trabajo personalizado en la plataforma Morgen Assist, que puedes encontrar aquí.
No olvides añadir una integración de calendario a tu cuenta, la necesitarás pronto. Puedes ignorar la integración de Slack por ahora - esto es para un caso de uso ligeramente diferente.
Luego sigue estos pasos:
- Establece el tipo de activador en "cronometrado" a una hora del día de tu elección (p. ej. 6pm)
- Selecciona un calendario del que obtener los eventos a resumir
- E finalmente inserta código en la sección User Script según las instrucciones a continuación
Ten en cuenta que si quieres esa experiencia de ingeniero hacker 10x, también puedes escribir e implementar tu flujo de trabajo a través del SDK, que tiene un cliente API de TypeScript para hacer solicitudes a nuestro backend. Actualmente tu código tiene que caber completamente en la función run, que explicaré a continuación. Todavía es necesaria algo de interacción en la aplicación web, pero estamos trabajando en mejorar esto en el futuro.
Escribir el script
Afortunadamente, una versión de este flujo de trabajo ya ha sido escrita y puede ser accedida en una forma que es compatible con tanto el SDK de Morgen Assist como la interfaz web de Morgen Assist.
Puedes encontrarlo aquí: https://github.com/morgen-so/morgen-cw-sdk/blob/main/examples/openai-tomorrow-summary.ts
Ahora voy a desglosar este script.
Primero, vamos a necesitar incluir un par de utilidades para hacer solicitudes a Morgen y OpenAI. Pega el código en tu script de usuario.
Ten en cuenta que necesitarás un token de OpenAI para que todo funcione como se espera. Una vez que crees una cuenta de OpenAI, puedes crear tokens desde la plataforma de OpenAI.
Preparemos también el token de Slack:
- Crea una nueva aplicación aquí: https://api.slack.com/apps
- (así es como el bot de resumen accederá y aparecerá en Slack)
- Establece la apariencia y permisos de tu aplicación
- Ve a "OAuth & Permissions", encuentra la sección "Bot Token Scopes"
- Añade el permiso "chat:write"
- Desplázate hacia arriba hasta la sección "Oauth Tokens for Your Workspace" y haz clic en "Install to Workspace", haz clic en "Allow" en la página de confirmación
- Encuentra el token xorb-... en "OAuth & Permissions"
Bien, ahora escribamos una función run básica. Esta función será llamada cuando se active el flujo de trabajo.
Finalmente veamos la lógica real de este flujo de trabajo.
Obtener los eventos de mañana
Para hacer esto, necesitamos hacer una llamada API a la API de Morgen con un rango de inicio/fin que capture desde la medianoche de mañana hasta la medianoche del día siguiente.
Si ejecutas esto, siempre que haya eventos en tu calendario seleccionado para mañana, deberías verlos listados debajo del editor después de hacer clic en "Run & Save".
Ten en cuenta que podría tomar un tiempo para que algo suceda, estamos trabajando en mejorar esta parte de la característica de flujos de trabajo personalizados.
Deberías ver un blob JSON registrado que corresponde a una lista de eventos en tu calendario para mañana.
A continuación vamos a enviar los títulos de estos eventos a OpenAI para ver qué se le ocurre.
ChatGPT, ¡a trabajar!
Tomemos nuestros eventos y pidamos a ChatGPT que los resuma en un formato simple usando este código.
Ahora que tenemos ese resumen, puedes intentar ejecutar esto para ver que registra correctamente un bonito resumen con viñetas de eventos para mañana.
Por supuesto, puedes modificar esto para ser prácticamente cualquier cosa, por ejemplo podrías querer la edición de tráiler de película.
Y la respuesta es hilarante como se requiere:
En un mundo lleno de desafíos y oportunidades, un equipo se reúne para conquistar el día. Prepárate para un viaje épico a través del mundo del esfuerzo corporativo.
En la luz de la madrugada, el equipo se reúne para su cautivador "Morning Standup". Presencia la camaradería y determinación mientras comparten su progreso, alinean sus objetivos y se preparan para las batallas que se avecinan. Con cada miembro mostrando sus habilidades y experiencia, es un espectáculo que te dejará inspirado.
Pero la victoria no está sin reflexión. Cuando el sol se pone y las sombras se profundizan, nuestros héroes se encuentran en medio de una "Retrospectiva" asombrosa. Juntos, se aventuran en el pasado, analizando sus triunfos y desafíos para emerger más fuertes que nunca…
¿O quizás un poema?
En la luz dorada de la mañana, nos reunimos,
Un equipo unido en propósito, parece,
El standup susurra historias de nuevas tareas,
Compartiendo progreso, desafíos y avances.
Con corazones llenos de esperanza y ojos bien despiertos,
Marchamos hacia objetivos, sin tiempo que perder.
Una sinfonía de voces, las ideas fluyen,
Mientras el standup matutino enciende nuestro brillo compartido.
Pero cuando las sombras se alargan, y el día cobra su precio,
Nos reunimos una vez más, para reflexionar como un todo…
Brillante. Algo para todos aquí con estos resúmenes de eventos. Y por supuesto siempre reflejará los eventos del día.
Lo dejaré como un ejercicio para el lector intentar estas modificaciones:
- Ignorar eventos recurrentes
- Escribir un prompt para manejar el caso donde no hay eventos programados
- Añadir una descripción de tareas que deben completarse hoy y esta semana
¿Pero cómo envío esto a Slack?
Siempre que hayas configurado tu aplicación de Slack, como se describe en la sección anterior, deberías poder comenzar a enviar mensajes en nombre de un usuario bot que puede ser controlado con el token que copiaste.
Para hacer esto, obtén el código aquí.
Observa que envié el mensaje al canal "@Luke", que es cómo enviar un mensaje directo usando la API de Slack. Tendrás que cambiar eso a tu nombre de usuario en el espacio de trabajo donde tu aplicación está instalada.
Y con eso, el flujo de trabajo está completo. Puedes intentar ejecutarlo, y espera que se ejecute en la hora configurada en la sección "Trigger".
Conclusión
Gracias por llegar al final de mi blog, estoy realmente agradecido por ello y si estás interesado en saber más sobre Morgen Assist, aquí hay algunos enlaces para comenzar:
- Descubre más sobre cómo desarrollar tus propios flujos de trabajo personalizados desde nuestra documentación para desarrolladores de Morgen
- Consulta nuestro SDK pre-alfa para implementar flujos de trabajo personalizados desde tu propio entorno en GitHub
- Únete a la discusión en Discord
.webp)


