Morgen Assist + OpenAI generano il mio piano giornaliero + lo inviano al mio Slack. Ecco come.

Luke
Developer @ Morgen
October 27, 2023
10 min di lettura
⚡️
Conclusioni chiave
⚡️
Conclusion

La versione originale (inclusi i frammenti di codice) è stata pubblicata su dev.to il 30 ottobre.

Morgen ha recentemente lanciato un nuovo prodotto – Morgen Assist – che secondo noi accelererà davvero l'automazione del calendario e porterà sul mercato migliaia di flussi di lavoro e app straordinari, con Morgen che alimenta tutto.

Ma non devi credermi sulla parola, continua a leggere e scopri quanto è facile scrivere, testare e distribuire i tuoi flussi di lavoro del calendario dal tuo ambiente.

E mi scuso, ma mettere OpenAI nel titolo era il modo più semplice per farti cliccare, ma ti prometto che è necessario per questa app di meno di 100 righe che riassume intelligentemente gli eventi del calendario da tutti i tuoi calendari*.

* Google e O365 sono attualmente supportati

"Cosa devo fare oggi?"

Potresti esserti fatto questa domanda, caffè in mano, fissando il vuoto nel tuo ufficio di lavoro da remoto dopo esserti rotolato fuori dal letto e nel soggiorno questa mattina.

Con 50+ nuovi messaggi Slack dal PM, dal team di design, dal canale marketing e support, potresti dimenticarti di controllare il tuo calendario, che è attualmente perso in mezzo a un mare di schede Firefox, terminali e beh… altri terminali.

Ed è qui che entra in gioco il Morning Schedule Workflow.

Un messaggio Slack ti viene consegnato ogni mattina (o sera) direttamente nei tuoi DM informandoti di eventuali riunioni imminenti, incluse retrospettive, 1-1, altre riunioni di sprint, chiamate con clienti, tutto nel linguaggio e nel tono di tua scelta.

Come dimostrazione, ho inviato il seguente testo al modello ChatGPT di OpenAI:

Sei il leggendario fondatore di Apple, Steve Jobs che tiene una keynote

Per favore riassumi tutti questi eventi imminenti in un modo tipico del tuo stile di presentazione classico.

- 1-1 con David

- Retrospettiva dell'ultimo sprint

- Chiamata con cliente /w Apple

E questo è quello che ho ricevuto:

Signore e signori,

Oggi sono qui per darvi un breve aggiornamento su alcuni eventi imminenti che sono di massima importanza per la nostra azienda.

Per primo in lista, abbiamo una sessione 1-1 programmata con David. Questa è una fantastica opportunità per noi di connetterci a livello personale, scambiare idee e allineare la nostra visione. Tali interazioni sono …

E continua. La keynote completa è veramente ispiratrice ma dovrai vederla tu stesso.

Quindi abbiamo il pezzo centrale del puzzle, ma come si inserisce questo in un flusso di lavoro Morgen Assist?

Iniziare con Morgen Assist

Successivamente, avrai bisogno di un account con Morgen Assist. Ti servirà solo un indirizzo email e un account di calendario fornito da Microsoft O365 o Google.

Creazione di un flusso di lavoro personalizzato

Per prima cosa avremo bisogno di un flusso di lavoro personalizzato sulla piattaforma Morgen Assist, che puoi trovare qui.

Non dimenticare di aggiungere un'integrazione del calendario al tuo account, ne avrai bisogno tra poco. Puoi ignorare l'integrazione Slack per ora - è per un caso d'uso leggermente diverso.

Quindi segui questi passaggi:

  • Imposta il tipo di trigger su "timed" a un'ora del giorno di tua scelta (ad es. 18:00)
  • Seleziona un calendario da cui estrarre gli eventi da riassumere
  • E infine inserisci il codice nella sezione User Script secondo le istruzioni di seguito

Nota che se vuoi quella esperienza da hacker 10x engineer, puoi anche scrivere e distribuire il tuo flusso di lavoro tramite l'SDK, che ha un client API TypeScript per effettuare richieste al nostro backend. Attualmente il tuo codice deve stare interamente nella funzione run, che spiegherò di seguito. È ancora necessaria qualche interazione nell'app web, ma stiamo lavorando per migliorare questo aspetto in futuro.

Scrivere lo script

Fortunatamente, una versione di questo flusso di lavoro è già stata scritta e può essere accessibile in una forma compatibile sia con l'SDK di Morgen Assist che con l'interfaccia web di Morgen Assist.

Puoi trovarla qui: https://github.com/morgen-so/morgen-cw-sdk/blob/main/examples/openai-tomorrow-summary.ts

Ora analizzerò questo script.

Per prima cosa, avremo bisogno di includere un paio di utility per effettuare richieste a Morgen e OpenAI. Incolla il codice nel tuo user script.

Nota che avrai bisogno di un token OpenAI affinché tutto funzioni come previsto. Una volta creato un account OpenAI, puoi creare token dalla piattaforma OpenAI.

Prepariamo anche il token Slack:

  • Crea una nuova app qui: https://api.slack.com/apps
  • (è così che il bot di riepilogo accederà e apparirà in Slack)
  • Imposta l'aspetto e i permessi della tua app
  • Vai a "OAuth & Permissions", trova la sezione "Bot Token Scopes"
  • Aggiungi il permesso "chat:write"
  • Scorri verso l'alto fino alla sezione "Oauth Tokens for Your Workspace" e fai clic su "Install to Workspace", fai clic su "Allow" nella pagina di conferma
  • Trova il token xorb-... in "OAuth & Permissions"

Okay, ora scriviamo una funzione run di base. Questa funzione verrà chiamata quando il flusso di lavoro viene attivato.

Infine, esaminiamo la logica effettiva di questo flusso di lavoro.

Recupero degli eventi di domani

Per fare questo, dobbiamo effettuare una chiamata API all'API Morgen con un intervallo di inizio/fine che catturi domani dalla mezzanotte fino alla mezzanotte del giorno dopo.

Se lo esegui, a condizione che ci siano eventi nel tuo calendario selezionato per domani, dovresti vederli elencati sotto l'editor dopo aver fatto clic su "Run & Save".

Nota che potrebbe volerci un po' prima che accada qualcosa, stiamo lavorando per migliorare questa parte della funzione dei flussi di lavoro personalizzati.

Dovresti vedere un blob JSON registrato che corrisponde a un elenco di eventi nel tuo calendario domani.

Successivamente invieremo i titoli di questi eventi a OpenAI per vedere cosa può venire fuori.

ChatGPT, fai la tua magia

Prendiamo i nostri eventi e facciamo in modo che ChatGPT li riassuma in un formato semplice usando questo codice.

Ora che abbiamo quel riepilogo, puoi provare a eseguirlo per vedere che registra correttamente un bel riepilogo puntato degli eventi per domani.

Naturalmente, puoi modificarlo per essere praticamente qualsiasi cosa, ad esempio potresti volere l'edizione del trailer del film.

E la risposta è esilarante come richiesto:

In un mondo pieno di sfide e opportunità, un team si riunisce per conquistare la giornata. Preparati per un viaggio epico nel mondo dello sforzo aziendale.

Nella luce del primo mattino, il team si riunisce per il loro avvincente "Morning Standup". Testimonia la camerateria e la determinazione mentre condividono i loro progressi, allineano i loro obiettivi e si preparano per le battaglie che li attendono. Con ogni membro che mostra le sue abilità e competenze, è uno spettacolo che ti lascerà ispirato.

Ma la vittoria non è senza riflessione. Mentre il sole tramonta e le ombre si approfondiscono, i nostri eroi si trovano nel mezzo di una "Retrospettiva" straordinaria. Insieme, si avventurano nel passato, analizzando i loro trionfi e le loro sfide per emergere più forti che mai…

O forse una poesia?

Nella luce dorata del mattino, ci riuniamo,
Un team unito nello scopo, sembra,
Lo standup sussurra storie di nuovi compiti,
Condividendo progressi, sfide e scoperte.

Con i cuori pieni di speranza e gli occhi ben aperti,
Marciamo verso gli obiettivi, nessun tempo da perdere.
Una sinfonia di voci, le idee fluiscono,
Mentre lo standup mattutino accende il nostro bagliore condiviso.

Ma quando le ombre si allungano e il giorno prende il suo pedaggio,
Ci riuniamo ancora una volta, per riflettere nel complesso…

Brillante. Qualcosa per tutti qui con questi riassunti degli eventi. E naturalmente rifletterà sempre gli eventi della giornata.

Lascio come esercizio al lettore provare queste modifiche:

  • Ignora gli eventi ricorrenti
  • Scrivi un prompt per gestire il caso in cui non ci siano eventi programmati
  • Aggiungi una descrizione delle attività che devono essere completate oggi e questa settimana

Ma come invio questo a Slack?

Purché tu abbia configurato la tua app Slack, come descritto nella sezione precedente, dovresti essere in grado di iniziare a inviare messaggi per conto di un utente bot che può essere controllato con il token che hai copiato.

Per fare questo, prendi il codice qui.

Nota che ho inviato il messaggio al canale "@Luke", che è come inviare un messaggio diretto usando l'API Slack. Dovrai cambiarlo con il tuo nome utente nell'area di lavoro in cui la tua app è installata.

E con questo, il flusso di lavoro è completo. Puoi provare a eseguirlo e aspettarti che venga eseguito all'ora configurata nella sezione "Trigger".

Conclusione

Grazie per essere arrivato alla fine del mio blog, sono davvero grato e se sei interessato a scoprire di più su Morgen Assist, ecco alcuni link per iniziare:

  • Dai un'occhiata al nostro SDK pre-alpha per distribuire Custom Workflows dal tuo ambiente su GitHub
  • Vieni a unirti alla discussione su Discord
About the author
Luke
Developer @ Morgen
Luke Barnard è uno sviluppatore software presso Morgen, focalizzato sulla creazione di strumenti che semplificano il modo in cui le persone lavorano e collaborano. Con una laurea dall'Università di Bath e una passione per il codice pulito e incentrato sull'utente, Luke lavora su funzionalità core e integrazioni che migliorano la produttività per gli utenti di tutto il mondo.