📧 Proyecto histórico · 2020–2026Historical project · 2020–2026

Anselmo

Automatización por correo electrónico antes de la era de la IAEmail automation before the age of AI

Anselmo fue un bot y servicio de automatización de tareas por correo electrónico. Recibía archivos, ejecutaba procesos programados a la medida, registraba actividad y respondía con resultados en minutos. Nació durante la cuarentena del COVID-19 en El Salvador, cuando todavía no existían herramientas de IA capaces de ayudar a construir o ejecutar este tipo de solución.

Anselmo was an email-based automation bot and service. It received files, ran custom-built processes, logged activity, and replied with results within minutes. It was born during the COVID-19 lockdown in El Salvador, before AI tools made this kind of workflow common or easy to build.

Outlook — Anselmo ×
Outlook de Anselmo con la carpeta Processed y correos de consolidación ya procesados
📜 HistoriaStory

Una solución nacida en un momento difícilA solution born in a difficult moment

Anselmo comenzó a operar en noviembre de 2020, durante el contexto de la cuarentena por COVID-19 en El Salvador. Fue una respuesta práctica a un problema real: empresas pequeñas necesitaban automatizar tareas repetitivas, pero una webapp tradicional era demasiado costosa, compleja o innecesaria para su operación diaria.

Anselmo began operating in November 2020, during the COVID-19 lockdown context in El Salvador. It was a practical answer to a real problem: small businesses needed automation, but a traditional web app was too expensive, too complex, or simply unnecessary for their daily operations.

Anselmo se adelantó a su tiempo: no era IA, pero ya hacía algo que hoy asociamos con agentes automatizados — recibir una solicitud, ejecutar una tarea, producir un resultado y responder sin intervención humana directa. Anselmo was ahead of its time: it was not AI, but it already did something we now associate with automated agents — receiving a request, executing a task, producing a result, and replying without direct human intervention.
Línea de tiempoTimeline×
2020

La cuarentena acelera la necesidad de operar de forma remota y eficiente.Lockdown accelerates the need to operate remotely and efficiently.

Noviembre 2020November 2020

Anselmo entra en operación como bot de automatización por correo.Anselmo begins operating as an email automation bot.

2020–2026

Procesa tareas reales para clientes: consolidación, reportes, base de datos y seguimiento operativo.It processes real client tasks: consolidation, reporting, database storage, and operational follow-up.

Mayo 2026May 2026

Cierra operaciones cuando los clientes encuentran soluciones alternas impulsadas por el auge de la IA.Operations close as clients find alternative solutions shaped by the rise of AI.

Origen del nombreOrigin of the name×

El nombre Anselmo nació como un recordatorio personal de lo sorprendente que podía llegar a ser Excel cuando alguien lo dominaba profundamente. La referencia venía de un profesor de la universidad, ingeniero electricista, capaz de usar Excel como nadie más.

The name Anselmo came from a personal reminder of how powerful Excel could become in the hands of someone who truly mastered it. The reference came from a university professor, an electrical engineer, who could use Excel like no one else.

🧩 Filosofía técnicaTechnical philosophy

Llevar Office más lejosTaking Office further

Esa idea terminó conectando con la filosofía de Anselmo: antes de construir una plataforma enorme, a veces bastaba con llevar Excel, Outlook y VBA mucho más lejos de lo que normalmente se imaginaba.

That idea became part of Anselmo’s technical philosophy: before building a large platform, sometimes the answer was to take Excel, Outlook, and VBA much further than people usually imagined.

📨 Cómo funcionabaHow it worked

El canal era el correo electrónicoThe channel was email

El cliente enviaba un correo a Anselmo con una palabra clave en el asunto y los archivos adjuntos. Outlook despertaba al bot, la tarea se procesaba en Office/VBA y el cliente recibía una confirmación con el archivo resultante si aplicaba.

The client emailed Anselmo with a keyword in the subject line and attached files. Outlook woke the bot, the task ran through Office/VBA, and the client received a confirmation email with the resulting file when applicable.

👤ClienteClientPrepara archivo o paquete.Prepares a file or bundle.
🔑Palabra claveKeywordEjemplo: “Consolidar”.Example: “Consolidar”.
📥OutlookRecibe el correo.Receives the email.
🤖AnselmoIdentifica y encola la tarea.Identifies and queues the task.
📊Office/VBAEjecuta el proceso.Runs the process.
📤RespuestaReplyConfirma y adjunta resultado.Confirms and attaches output.
Pasa el mouse o toca cada paso para resaltarlo. El flujo imitaba la experiencia natural de trabajo del cliente: enviar y recibir correos.Hover or tap each step to highlight it. The flow matched the client’s natural way of working: sending and receiving email.
🧰 ServiciosServices

Lo que Anselmo ofrecíaWhat Anselmo offered

Cada tarea se hacía a la medida. Anselmo podía ejecutar cualquier proceso programable con VBA sobre archivos de Office o texto, además de consultar y almacenar datos cuando el caso lo requería.

Each task was custom-built. Anselmo could run any VBA-programmable process over Office or text files, and it could also read or store data when the use case required it.

Excel

Consolidación de archivosFile consolidation

Unificar decenas de archivos y producir un reporte final estructurado.Merge dozens of files into a structured final report.

Data

Extracción y procesamientoExtraction and processing

Leer información de Excel, Word, PowerPoint o texto y transformarla según reglas definidas.Read information from Excel, Word, PowerPoint, or text files and transform it using defined rules.

Reportes

Reportes y gráficasReports and charts

Generar resultados claros, gráficas, cálculos y archivos listos para operar.Generate clear outputs, charts, calculations, and operation-ready files.

MySQL

Base de datosDatabase

Almacenar, consultar y reportar datos de clientes cuando la tarea lo necesitaba.Store, query, and report client data whenever a task needed it.

24/7

Tareas periódicasScheduled tasks

Ejecutar procesos recurrentes incluso sin recibir un correo específico del cliente.Run recurring processes even without receiving a specific client email.

A medida

Procesos personalizadosCustom workflows

Entender el proceso real, programarlo y activarlo mediante una palabra clave.Understand the real workflow, program it, and trigger it through a keyword.

🏢 Casos realesReal cases

Dos clientes, problemas realesTwo clients, real problems

Anselmo operó para clientes reales: una venta de frutas y verduras por catálogo y una empresa de logística. En ambos casos, la promesa era la misma: reducir trabajo manual, errores y tiempo perdido.

Anselmo served real clients: a catalog-based fruit and vegetable business and a logistics company. In both cases, the promise was the same: reduce manual work, errors, and wasted time.

Caso 1: frutas y verdurasCase 1: produce catalog×
Hoja Excel de MIPEDIDO con verduras, frutas y hojas orgánicas consolidadas

La empresa enviaba un catálogo de Excel por WhatsApp. Sus clientes lo llenaban y lo devolvían. Tres veces por semana recibían alrededor de 50 archivos que debían consolidar manualmente.

The business sent an Excel catalog through WhatsApp. Customers filled it out and returned it. Three times per week, the company received around 50 files that had to be manually consolidated.

  • Antes: 3–4 horas de trabajo manual.Before: 3–4 hours of manual work.
  • Con Anselmo: aproximadamente 5 minutos.With Anselmo: about 5 minutes.
  • Resultado: reporte consolidado para comprar a proveedores.Output: consolidated supplier purchasing report.
Caso 2: logísticaCase 2: logistics×
Correo de Anselmo con el reporte diario de rutas y el Excel adjunto

Varios negocios enviaban solicitudes de distribución. Anselmo recibía las tablas de Excel, almacenaba cada fila en base de datos y al final del día enviaba el reporte para preparar los camiones.

Several businesses sent delivery requests. Anselmo received Excel tables, stored each row in the database, and sent an end-of-day report so trucks could be prepared.

  • Menos errores por consolidación manual.Fewer errors from manual consolidation.
  • Datos almacenados con trazabilidad.Traceable stored data.
  • Reporte operativo de las últimas 24 horas.Operational report for the last 24 hours.
🏗️ ArquitecturaArchitecture

Un bot residente dentro de OutlookA bot living inside Outlook

La arquitectura combinaba un Windows VPS disponible 24/7, Outlook VBA, eventos de Outlook, un timer Win32 interno, herramientas Office y MySQL vía ODBC + ADODB.

The architecture combined a 24/7 Windows VPS, Outlook VBA, Outlook events, an internal Win32 timer, Office tools, and MySQL through ODBC + ADODB.

🌐Windows VPSServidor en el extranjero, disponible 24/7.Overseas server, available 24/7.
📧Outlook VBADonde vivía Anselmo.Where Anselmo lived.
⏱️Win32 TimerPolling y procesamiento real.Polling and real processing.
Application_Startup / ItemAddEventos que despertaban al bot.Events that woke the bot.
📊Excel/Word VBA BOTCapa de trabajo pesado en archivos Office.Heavy processing layer for Office files.
🗄️MySQL + ODBC + ADODBAuditoría, trazabilidad y datos de clientes cuando aplicaba.Audit, traceability, and client data when needed.
Pasa el mouse o toca cada componente para resaltarlo. La base de datos era el libro de registro y el panel de salud de Anselmo, no su cerebro operativo.Hover or tap each component to highlight it. The database was Anselmo’s logbook and health dashboard, not its operational brain.
💾 TecnologíaTechnology

Office, VBA y persistenciaOffice, VBA, and persistence

Anselmo vivía dentro de Outlook VBA. Al recibir un correo o iniciar la aplicación, el sistema quedaba atento mediante eventos y un timer interno. El trabajo pesado era delegado a libros BOT de Excel/Word VBA ejecutados desde ProcessBotTask.

Anselmo lived inside Outlook VBA. When an email arrived or the application started, events and an internal timer kept the system awake. The heavy work was delegated to Excel/Word VBA BOT workbooks launched from ProcessBotTask.

Editor VBA de Outlook con el módulo KCK_OutlookBotTools y el procedimiento ProcessBotTask
OutlookBot.basApplication_StartupApplication_Startup
Public Sub Application_Startup()

    'v1.0:  Created
    'v1.1:  Turns on the bot rule.
    'v1.2:  Executes the bot rule on Inbox.
    'v1.3:  Added weoInboxItems.
    'v1.4:  Transferred from ThisOutlookSession.

    Dim oRules As Outlook.Rules
    Dim oOneRule As Outlook.Rule
    Dim oInbox As Outlook.folder
    Dim oItem As Outlook.MailItem

    On Error GoTo Leave

    Call UpdateGlobalVariables
    Call EnsureStrStatusColumnsExist

    Set weoInboxItems = Application.GetNamespace("MAPI").GetDefaultFolder(olFolderInbox).Items

    Debug.Print "The Inbox Add event has been activated"

    GstrEventsAreActive = "YES"
    GbooEchoToDisplay = True

    Call DeactivateTimer
    Call CreateBotTaskStamp(olFolderSentMail)
    Call ActivateTimer

Leave:

End Sub
🧭 Incorporación de tareasTask onboarding

Automatización a la medidaCustom automation

Una nueva tarea no nacía de una plantilla genérica. Primero se entendía el proceso del cliente, luego se hacía una propuesta, se programaba el flujo y finalmente se entregaba una palabra clave para activar el proceso por correo.

A new task did not start from a generic template. The client’s process was first understood, then a proposal was made, the workflow was programmed, and a keyword was delivered to trigger the process by email.

1

EntenderUnderstand

Reunirse con el cliente y comprender su proceso real.Meet the client and understand the real workflow.

2

DiseñarDesign

Definir entradas, reglas, salidas, errores y frecuencia.Define inputs, rules, outputs, errors, and frequency.

3

ProgramarProgram

Crear el procedimiento VBA específico para ese caso.Build the specific VBA procedure for that case.

4

ActivarActivate

Entregar una palabra clave para usarla en el asunto del correo.Provide a keyword to use in the email subject line.

5

OperarOperate

El cliente enviaba correos y Anselmo respondía con los resultados.The client sent emails and Anselmo replied with the results.

6

AuditarAudit

La base de datos registraba actividad, trazabilidad y salud del bot.The database logged activity, traceability, and bot health.

⚖️ ComparaciónComparison

Lo que Anselmo no eraWhat Anselmo was not

Para entender su valor, también importa decir lo que no era. Anselmo no intentaba ser una plataforma universal; era una solución precisa para procesos repetitivos y críticos.

To understand its value, it also matters to say what it was not. Anselmo did not try to be a universal platform; it was a precise solution for repetitive, business-critical workflows.

No eraIt was not

IA generativaGenerative AI

No interpretaba instrucciones abiertas ni improvisaba respuestas.It did not interpret open-ended prompts or improvise responses.

EraIt was

Automatización diseñada con precisión, autónoma y repetible.Precisely designed, autonomous, repeatable automation.

No eraIt was not

Una webapp tradicionalA traditional web app

No obligaba al cliente a aprender una plataforma nueva.It did not force the client to learn a new platform.

EraIt was

Un bot que vivía en el canal que las empresas ya usaban: el correo.A bot living in the channel businesses already used: email.

No eraIt was not

Trabajo manual disfrazadoManual work in disguise

No dependía de una persona copiando instrucciones cada vez.It did not depend on a person copying instructions each time.

EraIt was

Un “empleado virtual” para tareas específicas y repetitivas.A “virtual employee” for specific, repetitive tasks.

🖼️ GaleríaGallery

Capturas del sistemaSystem screenshots

Capturas reales de Anselmo en operación: Outlook, VBA, reportes, archivos consolidados y evidencias históricas.

Real captures of Anselmo in operation: Outlook, VBA, reports, consolidated files, and historical evidence.

🌱 LegadoLegacy

Lo que Anselmo dejóWhat Anselmo left behind

Anselmo demostró que una solución sencilla, bien diseñada y hecha con herramientas disponibles podía resolver problemas reales de empresas pequeñas, incluso antes de la era de la IA.

Anselmo proved that a simple, well-designed solution built with available tools could solve real problems for small businesses, even before the age of AI.

Su legado no está solo en los archivos que procesó, sino en la idea de que la innovación no siempre empieza con tecnología nueva. A veces empieza mirando con atención un proceso repetitivo y preguntando: ¿por qué una persona sigue haciendo esto a mano? Its legacy is not only in the files it processed, but in the idea that innovation does not always begin with new technology. Sometimes it begins by looking closely at a repetitive process and asking: why is a person still doing this by hand?
Korckyjals-CODE×
Correo de Anselmo con el Excel (TOTALES) MIPEDIDO adjunto, consolidación de tablas

Un proyecto de Jorge López / Korckyjals-CODE.A project by Jorge López / Korckyjals-CODE.

Página conmemorativa, sin llamada comercial.A commemorative page, without a commercial call to action.