Note / Docs
live v1.0.0 es-MX last update 2026.06.17 build #0247
§ 2.1 Tutorial · 7 min de lectura

Recordatorios en WhatsApp

El recordatorio es la capacidad estrella de Arkos Note. Le hablas como a una persona — “recuérdame pagar la renta el primero de cada mes” — y a esa hora exacta te llega un mensaje al chat. Sin apps, sin formularios, sin reglas raras de cron.


§ 2.1.1 Qué entiende #

Arkos Note maneja tres clases de recordatorio. Las tres se crean desde el chat con lenguaje natural; el agente decide cuál usar según cómo redactes la petición.

Recordatorios puntuales

Una sola vez, en una fecha y hora concreta. Es lo que la mayoría necesita el 80% del tiempo: “mañana 9am”, “el viernes a las 4”, “en 3 días”. El agente convierte la frase a una fecha absoluta en tu zona horaria y la guarda como tipo once.

Recordatorios recurrentes

Se repiten en una cadencia fija. Soporta cuatro frecuencias — daily, weekly, monthly, yearly — con intervalo opcional, días de la semana y día del mes. Internamente se modelan como RRULE (estándar iCalendar) sobre la zona horaria que tengas configurada.

Ejecuciones agendadas

Distinto a un recordatorio: aquí el agente vuelve a correr a la hora programada y te manda el resultado. Sirve para cosas tipo “cada lunes 8am dame mi agenda del día” o “cada viernes 6pm resúmeme mis gastos de la semana”. La instrucción se guarda como prompt y a esa hora el bot la ejecuta contra tus tools (calendario, gastos, listas) y te envía la respuesta.

§ 2.1.2 Crear desde el chat #

No hay sintaxis. Le hablas en español natural y el agente llama internamente la tool crearEvento (puntuales y recurrentes) o programarPrompt (ejecuciones agendadas). Lo único que necesita es qué y cuándo.

Frases que disparan creación

  • “recuérdame llamar al doctor mañana 10am” · puntual.
  • “avísame de pagar la luz el día 15 de cada mes” · mensual.
  • “todos los lunes y viernes a las 7am recuérdame ir al gym” · semanal con días concretos.
  • “en 3 días recuérdame revisar el contrato” · relativa.
  • “cada 2 semanas dame un check-in del proyecto” · ejecución agendada.

Hora por defecto

Si no especificas hora (“recuérdame el viernes”) el agente usa 9:00 de la mañana en tu zona horaria. Si quieres otra cadencia base, guárdalo como preferencia: “no me llames antes de las 8”, “recordatorios siempre a las 7am salvo que diga otra hora” — el agente lo respeta a partir de ese momento.

§ 2.1.3 Listar, modificar y cancelar #

Para ver lo que tienes activo: “¿qué recordatorios tengo?”, “muéstrame mis recordatorios”. El agente devuelve la lista con ID, mensaje, próxima fecha, tipo (puntual o recurrente) y estado.

Para cancelar: “elimina el recordatorio del doctor”, “cancela el #42”, “ya no me recuerdes lo del gym”. El agente identifica cuál es y te lo confirma antes de marcarlo como cancelled.

§ 2.1.4 Cómo se entregan #

Hay un scheduler que corre cada minuto. En cada tick busca recordatorios cuya fecha ya pasó y los manda por WhatsApp. Si la ventana de 24h del usuario sigue abierta, llega como mensaje libre; si está cerrada, se envía como template aprobado de WhatsApp Business.

Para los recurrentes, en cuanto el mensaje sale, el sistema calcula la próxima ocurrencia (con la regla RRULE almacenada) y la deja agendada para el siguiente envío.

Reintentos automáticos

Si el envío falla (red caída, ventana de WhatsApp expirada sin template, etc.), el scheduler reintenta hasta 3 veces en ticks subsecuentes. Tras 3 fallas, el recordatorio queda marcado como error y se notifica internamente — no se pierde.

§ 2.1.5 Recordatorios para contactos #

Si dices “recuérdale a Juan que mañana hay junta” o “avisa a mi mamá”, el agente NO usa el flujo normal — carga la skill contactos y dispara crearRecordatorioParaContacto. La otra persona debe ser un contacto aceptado: si todavía no, el bot ofrece invitarlo primero (le manda un mensaje quick-reply de aceptación).

Tools de la skill

La skill contactos agrupa todo el flujo: invitación, administración del contacto y recordatorios programados para terceros. El agente las carga bajo demanda cuando hablas de invitar, listar o avisarle a alguien.

Tool Para qué
invitarContacto Manda la solicitud quick-reply al teléfono del invitado. Necesita nombre y teléfono con código de país.
listarContactos Muestra tus contactos filtrando por estado (pending, accepted, rejected o todos).
eliminarContacto Borra el contacto y cancela los recordatorios pendientes que tú le tenías programados.
crearRecordatorioParaContacto Programa un recordatorio que se entregará al contacto (no a ti). Solo funciona con contactos accepted.
listarRecordatoriosParaContacto Lista los recordatorios pendientes que tú creaste para un contacto. Devuelve id, mensaje y fecha de cada uno.
cancelarRecordatorioParaContacto Cancela uno de esos recordatorios por id. Solo permite cancelar los que tú creaste.

Listar y cancelar para un contacto

A diferencia de listarEventos (que solo muestra los recordatorios de tu propio usuario), las herramientas de contactos filtran por quién creó el recordatorio. Así puedes ver y administrar lo que tienes programado para cada amigo sin mezclarlo con tus propios recordatorios.

Si el id no corresponde a un recordatorio creado por ti, la tool devuelve un error claro y no toca nada — evita que alguien cancele recordatorios que no le pertenecen.

§ 2.1.6 Casos límite #

Zona horaria

Toda fecha se interpreta en tu zona horaria configurada. Si te mudas (“ahora vivo en Madrid”) el agente actualiza tu zona con establecerZonaHoraria. Importante: los recordatorios YA programados no se mueven al cambiar la zona — siguen disparándose en el momento absoluto en que se guardaron. Si querías reprogramarlos, dilo y el bot los recrea.

Hora ya pasada

Si pides “mañana 9am” a las 9:30 de la mañana, el agente interpreta mañana como el día siguiente — no el mismo día a las 9 que ya pasó. Pero si dices “a las 9” sin más, y son las 9:30, el agente normalmente pregunta ¿hoy 21:00 o mañana 9:00? en vez de adivinar.

Para recurrentes que caen en fin de semana o feriado, el sistema dispara igual — no hay lógica de “si cae sábado, mover a lunes”. Si quieres ese comportamiento, dilo en lenguaje natural (“cada primer día hábil del mes”) y el agente intenta parametrizarlo, o crea una preferencia para que tus recurrentes salten fines de semana.