Hai mai desiderato avere un assistente personale che ti tenga aggiornato sui tuoi progressi e obiettivi?
Bene, in questo articolo ti mostrerò come crearne uno virtuale, utilizzando Activepieces e l'intelligenza artificiale.
E non preoccuparti, se preferisci altre piattaforme, lo stesso risultato si può ottenere con app come Zapier, N8N o Make.
Per questo tutorial, ci concentreremo su tre aree esempio:
- Scrittura: Tracciare il tempo dedicato al tuo progetto di scrittura.
- Lettura: Monitorare il tempo dedicato alla lettura di libri.
- Attività fisica: Contare i passi giornalieri.
Evidentemente, il concetto si può applicare a qualsiasi area della tua vita che desideri migliorare.
Lo stesso concetto può essere facilmente adattato per generare report aziendali completi. Immagina di analizzare automaticamente dati di vendita, performance dei dipendenti e metriche di marketing, ottenendo insights preziosi per il tuo business.
Strumenti necessari 🧰
- Un account Activepieces (gratuito)
- Un account OpenAI o Anthropic (pay per use)
- Un account AI gratuito su Groq come alternativa a OpenAI (gratuito)
- Un bot Telegram o un indirizzo email (gratuito)
- Notion per tracciare i tuoi dati (gratuito)
- Toggl per tracciare il tempo dedicato alle attività (gratuito)
- Opzionale: Fitbit, Oura o altro dispositivo per monitorare l'attività fisica
- Opzionale: GoCardless per monitorare le tue finanze personali. (ho nominato questo servizio perché si integra con la maggior parte delle banche italiane)
- Opzionale: Integrazione con altri servizi di terze parti per espandere le funzionalità (lista potenzialmente infinita, tema eventualmente da approfondire in un altro tutorial)
Vantaggi 🌟
- Monitoraggio automatico dei tuoi obiettivi
- Analisi approfondita fornita dall'AI
- Feedback personalizzato per migliorare le tue abitudini e raggiungere i tuoi obiettivi
- Possibilità di personalizzare il report in base alle tue esigenze.
Come funziona? ⚙️
Nei prossimi paragrafi, ti guiderò passo dopo passo nella creazione del tuo assistente virtuale personalizzato utilizzando un workflow Activepieces.
Configurazione di Activepieces 🔧
Per iniziare, dobbiamo configurare un account gratuito su Activepieces. Una volta creato l'account, accedi alla dashboard e crea un nuovo flusso di lavoro che puoi chiamare "Report settimanale AI".
Di seguito ti presento tutti i passi che ho seguito per configurare il mio assistente virtuale e ti allego per ciascuno una breve spiegazione insieme a uno screenshot della configurazione. Questo ti permetterà di replicare facilmente il processo.
Prima di iniziare, ci serve connettere Activepieces alle varie fonti dati che vogliamo utilizzare. Questo lo puoi fare dal menu "Connections" nella barra laterale sinistra.
Le fonti che ho utilizzato io per questo tutorial sono le seguenti:
- L'API Notion o Baserow per tracciare gli obiettivi e i progressi.
- L'API di Toggl per monitorare il tempo dedicato alla scrittura e lettura
- L’API di Oura per contare i passi giornalieri
- L'API di OpenAI o Anthropic per l'analisi AI
- L'API Telegram o email per l'invio del report
- Activepieces per l'automazione e l'orchestrazione del flusso di lavoro.
Ti serve un tutorial più approfondito? Fammelo sapere nei commenti. Se preferisci un approccio personalizzato, offro anche sessioni one-to-one per guidarti passo passo nel processo. Contattami su Telegram per i dettagli.
Una volta configurate le fonti necessarie, possiamo procedere con la creazione del workflow.
Creazione del Workflow: Passo dopo passo 🔄➡️
Di seguito ti elenco i passaggi principali del mio workflow:
Ogni risultato di un blocco precedente può essere utilizzato come input per il blocco successivo. Questo permette di creare flussi di lavoro complessi e interconnessi.
1.Trigger: Ogni giorno alle 8:00

- Il primo passo è impostare un trigger, cioè un evento che fa scattare tutto il nostro meccanismo. In questo caso, vogliamo che il nostro automatismo si attivi ogni giorno alle 8:00.
- Qui sentiti libero di scegliere l’occorenza che preferisci, ad esempio ogni ora, giorno, settimana o ogni mese. Per questo tutorial, ho scelto un'esecuzione giornaliera per avere dati più frequenti da analizzare.
- Il trigger lo trovi con il nome di “Schedule“ in Activepieces. Una volta scelto, puoi configurare la frequenza desiderata dal menu.
2.Ottieni data odierna

- Questo passo ci permette di ottenere la data corrente, che useremo per recuperare i dati più recenti dalle varie fonti. Qui utilizziamo la funzione "Get current date" di Activepieces.
3.Estrai anno corrente

- Questo passo estrae l’anno dalla data corrente.
- Questi due passi insieme servono semplicemente per estrarre la data e l’anno perché questo workflow compila un report per l’anno in corso quindi è necessario sapere in che anno siamo.
- In Activepieces non esistono blocchi che fanno solo l'anno corrente, quindi ho dovuto creare due blocchi separati. Eventualmente puoi usare il blocco "Code" per estrarre questi dati con JavaScript volendo ma devi avere familiarità con il linguaggio.
- Il primo blocco estrae la data, mentre il secondo estrae l'anno dalla data ottenuta.
4.Condizione: L'anno è 2024?

- Questa condizione verifica che l’anno sia 2024, diversamente l’automatismo si ferma.
- Serve semplicemente per tenere lo storico dei dati nei passi successivi in Notion o Baserow dove ho configurato tabelle separate per ogni anno. Questo permette di mantenere i dati organizzati e facilmente accessibili.
Quindi, se l’anno è 2024, il flusso prosegue con i seguenti passaggi, diversamente si ferma. Qui per fare la decisione ho utilizzato un blocco “Branch” di Activepieces.
Se l'anno è corretto, il flusso prosegue con:
5.Recupera lista progetti da Toggl

- Questo punto recupera la lista dei progetti su cui si è lavorato nell'anno in corso da Toggl, un software per il tracciamento del tempo.
- Questi dati ci servono da utilizzare poi nei passaggi successivi. Qui ho utilizzato come blocco HTTP per effettuare la richiesta API a Toggl.
6.Calcola intervallo date: da inizio mese a oggi

- Questo punto calcola l’intervallo da inizio mese alla data odierna nel momento in cui viene eseguito questo workflow, per poter estrarre i dati relativi a questo periodo.
- Qui ho utilizzato come blocco “Code“ e di seguito ti allego il codice JavaScript.
export const code = async (inputs) => {
const today = new Date();
// Get the current date (YYYY-MM-DD format)
const until = today.toISOString().split('T')[0];
// Get the first day of the current month
const firstDayOfMonth = new Date(today.getFullYear(), today.getMonth(), 1);
const since = firstDayOfMonth.toISOString().split('T')[0];
// Get the abbreviated month (e.g., "Oct" for October)
const shortMonth = today.toLocaleString('en-US', { month: 'short' });
// Return the variables for further use in the workflow
return {
until: until,
since: since,
shortMonth: shortMonth
};
};
7-9. Ottieni il tempo totale scrittura, camminata, lettura

- Questi tre punti estraggono il tempo totale dedicato rispettivamente alla scrittura, alla camminata e alla lettura nel mese corrente. Per farlo, utilizziamo l'API di Toggl per recuperare i dati di tracciamento del tempo per ciascuna attività.
- Qui come blocco utilizzo HTTP chiamando la api di Toggl
10.Converti tempo totale Toggl in ore

- Il tempo di Toggl è in millisecondi ma noi vogliamo visualizzarlo in ore, quindi questo passaggio effettua la conversione utilizzando un blocco "Code" per effettuare il calcolo matematico. Di seguito ti allego il codice utilizzato.
- Questo codice ha bisogno di 3 variabili come input, vedi nello screenshot per prendere come riferimento i dati dal passo antecedente .
// Function to convert milliseconds to rounded hours (nearest half hour)
const convertToRoundedHours = (ms) => {
const hours = ms / (1000 * 60 * 60);
return Math.round(hours * 2) / 2;
};
// Input variables in milliseconds
const total_grand_walking = inputs.total_grand_walking;
const total_grand_writing = inputs.total_grand_writing;
const total_grand_reading = inputs.total_grand_reading;
// Convert and round each variable to nearest half hours or full hours
const hours_walking = convertToRoundedHours(total_grand_walking);
const hours_writing = convertToRoundedHours(total_grand_writing);
const hours_reading = convertToRoundedHours(total_grand_reading);
return {
hours_walking: hours_walking,
hours_writing: hours_writing,
hours_reading: hours_reading
};
};
11-13 Aggiorna statistiche lettura, scrittura, camminata Baserow

- Questi 3 punti aggiornano i miei obiettivi in Baserow, un database che utilizzo per tenere traccia dei miei progressi. Questi dati mi permettono di monitorare il mio avanzamento verso gli obiettivi annuali. Volendo in questo passaggio si potrebbe utilizzare Notion o qualsiasi altro database online, vedi anche Airtable o AItable, sono molto simili.
- Non è un passo obbligatorio ma qualora vuoi mantenere uno storico per analizzare i tuoi progressi nel tempo, questo passaggio è utile.
14.Aggiorna il tempo di scrittura nelle KPI Notion.

- Questo punto aggiorna il tempo di scrittura in Notion, analogo a Baserow, ma specifico per il monitoraggio della scrittura. Qui lo faccio per avere una dashboard sempre aggiornata delle mie attività anche in Notion.
- Il blocco che ho utilizzato qui è "Notion" di Activepieces. Anche questo passo non e' obbligatorio qualora non ti interessa mantenere aggiornato Notion.
15-16 Ottieni giorno corrente - Condizione: È sabato?

- Questi due punti non fanno altro che verificare se il giorno corrente è sabato. Se lo è, si attiva una serie di azioni aggiuntive. Nel mio caso, l’invio del report AI avviene sabato .
- Nel mentre, il pregresso lo aggiorno ogni giorno per mantenere i dati aggiornati. Il sabato, oltre all'aggiornamento quotidiano, viene generato e inviato il report settimanale. Ecco qui il codice che ho utilizzato al punto 15.
const today = new Date();
// Map of days with indices corresponding to getDay() values
const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
// Get the current day of the week
const currentDay = dayNames[today.getDay()];
// Return the day of the week
return {
day: currentDay
};
};
Se il giorno è Sabato, il flusso prosegue con:
17.Recupera la media di passi da Notion.

- Questo passo recupera la media dei passi settimanali dalla mia dashboard in Notion, dove tengo traccia della mia attività fisica. È un processo automatico che scarica i dati direttamente dal mio dispositivo Oura. Qui si può utilizzare Fitbit, AppleWatch, etc.
18.Calcola: Data corrente + data fine mese

- Questo passo calcola quanto manca alla fine del mese corrente, fornendo un contesto temporale per il report. Ci serve per capire quanto tempo rimane per raggiungere gli obiettivi mensili. Questo dato viene utilizzato nel report per fornire un'analisi più accurata dei progressi e facendo un confronto con gli obiettivi prefissati.
- Questo calcolo viene effettuato utilizzando un blocco "Code" in JavaScript che allego qui sotto.
// Get the current date
const currentDate = new Date();
// Format the current date as YYYY-MM-DD
const formattedCurrentDate = currentDate.toISOString().split('T')[0];
// Get the last day of the current month
const lastDay = new Date(currentDate.getFullYear(), currentDate.getMonth() + 1, 0);
// Format the last day of the month as YYYY-MM-DD
const formattedLastDay = lastDay.toISOString().split('T')[0];
// Return the result as an object
return {
currentDate: formattedCurrentDate,
endOfMonth: formattedLastDay
};
};
19.Concatena KPI per AI

- Questo passo usa la concatenazione di tutti i dati raccolti finora e li prepara per l'elaborazione da parte dell'intelligenza artificiale. Questo include le statistiche su scrittura, lettura, camminata e passi.
- Qui ho utilizzato come blocco "Text Helper" per concatenare tutti i dati in un formato adatto all'elaborazione AI.
20.Richiedi a Claude di generare un report.

- A questo punto non ci resta che passare i dati grezzi al nostro Bot AI preferito, in questo caso Claude di Anthropic. Il bot analizza i dati e genera un report dettagliato, fornendo insights e suggerimenti personalizzati.
- Qui ho utilizzato come blocco "Claude" di Activepieces per interagire con l'API di Anthropic. Il report generato include un'analisi dei progressi, confronti con gli obiettivi e suggerimenti per migliorare.
- Activepieces mette a disposizione altri blocchi per interagire con altri modelli AI come GPT-4 di OpenAI o Gemini di Google. La scelta del modello dipende dalle preferenze personali e dalle funzionalità richieste.

21.Invia il report via Telegram.

- L'ultimo passaggio consiste nell'inviare automaticamente il report generato dall'AI via Telegram. Questo assicura che riceva regolarmente un'analisi approfondita dei miei progressi e obiettivi, permettendomi di rimanere concentrato e motivato.
- Qui ho utilizzato come blocco "Telegram" per inviare il messaggio. Questo metodo di comunicazione è efficace e immediato, permettendomi di ricevere le informazioni direttamente sul mio smartphone.
Il Tuo Coach AI Personale è Pronto! 🎉
Ed ecco fatto! Hai appena creato il tuo assistente virtuale personalizzato.

Questo workflow non solo ti terrà aggiornato sui tuoi progressi, ma ti fornirà anche analisi approfondite e consigli mirati per migliorare. Puoi sempre utilizzare il prompt per modificare il comportamento dell'AI, adattandolo alle tue esigenze specifiche.
Ti invito a provare questo setup e personalizzarlo in base alle tue esigenze.
P.S. Se hai domande o vuoi condividere i tuoi risultati, lascia un commento qui sotto. Sono curioso di sapere come userai il tuo nuovo assistente AI!

