Crea tu Asistente Personal Usando Herramientas Low-Code: Parte I

Augusto Romero
7 min readFeb 22, 2024

--

Imagen creada por DALL·E 3

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.

Custom GPT Personal Assistant

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.

GPT Creator

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.

Email Inbox Summarizer Flow on Make.com

Ahora crearemos otro flujo para enviar un email usando Make. Este luce así:

Email drafter Flow on Make.com

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.

GCalendar Flow for Event Retrieval on Make.com

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.

Agenda semanal en Notion

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.

Notion Flow on Make.com for getting weekly tasks

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.

Create New Action Assistant
Help ActionsGPT

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

ActionsGPT Chat

A fin de obtener la url de Make deberemos ir y copiarla del webhook correspondiente.

Endpoint Webhook Make

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.

Adding new action to Custom GPT Schema using ActionsGPT

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:

Final Setup Action Assistant

Y con eso tenemos listo nuestro asistente. Voilá!

Personal Assistant Test

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!

--

--

Augusto Romero

I'm a software developer deeply fascinated by AI. When I'm not coding, you'll find me staying fit or diving into the latest tech and business trends.