Crea tu Asistente Personal Usando Herramientas Low-Code: Parte I
Introducción
En el mundo acelerado en el que vivimos, contar con un asistente personal puede marcar una gran diferencia en la gestión de nuestras tareas diarias, manteniendo la organización y productividad. Las opciones clásicas disponibles son asistentes como el de Google, Siri, Alexa, entre otros. Sin embargo, una limitación actual de estos asistentes es la pérdida de capacidad para personalizar acciones. Queremos, a veces, realizar acciones muy específicas o interactuar de forma más conversacional. Uno de los asistentes más recientes, el Rabbit R1 innova en este sentido al realizar acciones avanzadas usando lenguaje natural, destacando una tendencia creciente en la importancia de la interfaz de voz y que desbloqueó nuevos hitos gracias a los grandes modelos de lenguaje(LLMs). Particularmente, uno de los principales logros es el uso de estos modelos como agentes que entienden cuándo y cómo ejecutar acciones. En esta serie de blogs, exploraremos el uso de herramientas low-code para crear un asistente que realice acciones personalizadas, como resumir correos electrónicos, responderlos y ofrecer resúmenes de la agenda de Google Calendar. La primera parte se centrará en cómo aprovechar los GPT personalizados de OpenAI y make.com para construir este asistente.
Inscribíte en la lista de espera a un mini-curso gratuito para desarrollo de apps que usen LLMs
Construyendo un custom GPT
Los customs GPTs de ChatGPT son una herramienta poderosa, disponible en la versión Plus, que permite configurar al modelo de lenguaje para realizar tareas específicas, como búsquedas en internet o llamadas a APIs, sin necesidad de escribir código. A través de una interfaz intuitiva, se pueden dar instrucciones que se traducirán en prompts optimizados, facilitando la personalización del asistente. Para acceder a esta función, se navega por la opción “Explore GPTs” > “My GPTs” > “Create a GPT”, donde se define el tipo de GPT a crear.
Luego de haber definido el comportamiento base del asistente crearemos las diferentes APIs que seran llamadas por el asistente. Para eso usaremos make.com, una plataforma de automatización low-code, que permite conectar distintas aplicaciones y servicios a traves de una interfaz sumamente intuitiva.
Automatizando la Comunicación por Correo Electrónico
Una de las tareas más consumidoras de tiempo en nuestra vida diaria es navegar a traves de nuestra bandeja de entrada y entender rapidamente cuales son los mails mas relevantes y responderlos a tiempo. Seguramente a estas alturas muchos usamos a ChagGPT o Claude para crear una respuesta inicial a los emails y luego personalizarla. Un asistente personal puede automatizar este proceso, ahorrando tiempo y esfuerzo. Para eso crearemos un flujo en Make que lea los ultimos n emails de nuestra bandeja de entrada en la carpeta “Importantes”. Luego resumirá cada email con ChatGPT y se formateará la respuesta antes de ser enviada. Para esto usaremos la feature Webhook que nos brindara un endpoint para usar este flujo on-demand.
Ahora crearemos otro flujo para enviar un email usando Make. Este luce así:
Este flujo solo creará un borrador para luego ser confirmado y enviado por nosotros con las últimas modificaciones.
Integración con Google Calendar
Utilizando la API de Google Calendar y las capacidades de integración de make.com, crearemos un flujo de trabajo que recupere nuestro horario semanal de Google Calendar y lo presente en un formato fácil de usar. De esta manera, podremos estar informados sobre nuestros próximos eventos desde el propio asistente sin tener que navegar primero al calendario. El flujo buscara n eventos a partir de la fecha actual y los formateara antes de enviarlos como respuesta.
Integración con Notion
Notion es una herramienta de productividad popular que permite organizar y gestionar nuestras tareas, proyectos y notas en un solo lugar.
Integrar tu asistente personal con Notion puede proporcionar una forma conveniente de estar informados desde el mismo asistente de nuestras tareas pendientes. Por eso crearemos un flujo en Make para recuperar los items de una base de datos llamada “Weekly Planning” usada para organizar las tareas de la semana.
Una vez creados los endpoints para cada acción deseada en nuestro asistente, podemos regresar al GPT Creator para configurar su funcionamiento. Para ello, iremos a la opción “Nueva acción” y posteriormente utilizaremos “ActionsGPT” para definir el esquema de las distintas acciones.
Como en este caso estamos usando Make para todas las acciones deberemos definir distintos paths para este endpoint, cada uno correspondiente a una accion. Empezamos por definir la accion del email
A fin de obtener la url de Make deberemos ir y copiarla del webhook correspondiente.
Debemos repetir este proceso de copiar la URL y el payload de respuesta para cada una de las acciones que deseemos implementar en nuestro asistente. También es posible enviar todos los endpoints y payloads de una sola vez.
Luego de haber terminado este proceso tendremos disponible el Schema de nuestro custom GPT y se vera algo asi:
openapi: 3.0.0
info:
title: Productivity API
description: Esta API permite gestionar la agenda e emails del usuario.
version: 1.0.0
servers:
- url: https://hook.us1.make.com
paths:
/endpoint1:
post:
operationId: getEmailSummary
summary: Obtiene un resumen de los últimos 'n' emails.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
number:
type: integer
description: Número de emails para incluir en el resumen.
responses:
'200':
description: Resumen de emails obtenido con éxito.
content:
text/plain:
schema:
type: string
'400':
description: Solicitud inválida, por ejemplo, parámetros faltantes o incorrectos.
'500':
description: Error interno del servidor.
/endpoint2:
post:
operationId: postCalendarEvents
summary: Obtiene una lista de eventos de Google Calendar.
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
number:
type: integer
description: Número de eventos a obtener desde el día actual.
responses:
'200':
description: Lista de eventos obtenida con éxito.
content:
application/json:
schema:
type: array
items:
type: object
properties:
start:
type: string
description: Fecha del evento.
summary:
type: string
description: Descripción del evento.
'400':
description: Solicitud inválida, por ejemplo, parámetros faltantes o incorrectos.
'404':
description: No se encontraron eventos.
'500':
description: Error interno del servidor.
Algo interesante a notar son los campos description y summary que describen en lenguaje natural a los diferentes endpoints y campos. Esto lo podemos modificar si es necesario para explicar de manera clara y concisa el uso de cada uno. Y una vez revisado este es el esquema que deberemos copiar y pegar en nuestro asistente:
Y con eso tenemos listo nuestro asistente. Voilá!
Recursos útiles
Para utilizar las acciones vistas en Make, comparto un enlace a una carpeta en Google Drive que contiene los blueprints y las instrucciones para importarlos desde la plataforma.
Conclusión
El poder de las plataformas sin código como custom GPTs y make.com ha hecho posible que cualquiera pueda crear su propio asistente personal. Las acciones que exploramos hoy solamente fueron a fines demostrativos pero la capacidad de integrar acciones mas personalizadas a nuestros flujos de trabajo estan a nuestra disposicion. Entonces, ¿por qué no intentarlo y experimentar los beneficios de tener tu propio asistente personal hoy mismo?
Ahora bien una de las principales limitaciones de este asistente es la dependencia de una cuenta Plus de ChatGPT y su uso exclusivo dentro de esa plataforma. En el próximo blog, exploraremos alternativas para crear un asistente personal más flexible (y gratuito: sin tener que pagar por una cuenta de ChatGPT), que pueda utilizarse a través de medios como la voz con Siri, WhatsApp, Slack o Telegram. Stay tuned!