---
title: "Recordatorios"
description: "Un recordatorio vuelve a activar una sesión más tarde, una vez o de forma periódica, hasta que lo elimines."
---

Un recordatorio envía una indicación a una [sesión](/docs/es/work/sessions) existente en el momento que elijas. Se activa una vez o se repite hasta que alguien lo elimine. Un agente usa un recordatorio para retomar su propio trabajo: «dentro de 24 horas, comprueba si respondió el proveedor», «cada hora, comprueba si la implementación está en verde».

Un recordatorio es un [activador](/docs/es/connect/triggers) limitado a una sesión. Estas son las diferencias:

| | Activador | Recordatorio |
| --- | --- | --- |
| Se almacena en | `beeuni.yaml`, confirmado en la rama predeterminada | La base de datos. No requiere editar un manifiesto ni hacer un commit. |
| Una activación | Normalmente inicia una sesión nueva | Envía una indicación a su única sesión. Nunca inicia una sesión. |
| Vigencia | Hasta que alguien lo elimina del manifiesto | Hasta que alguien lo elimina. Se pausa automáticamente si se elimina la sesión o esta falla. |
| Quién puede crearlo | Responsables de proyecto (`project.trigger.create`) | Cualquier persona que pueda enviar indicaciones a la sesión. Un agente solo puede crear uno en su propia sesión. |
| Dónde se muestra | `beeuni triggers ls`, la página Triggers | `beeuni reminders ls`, por sesión |

Usa un activador para el trabajo del proyecto que todos deban ver, como un resumen diario. Usa un recordatorio para el seguimiento de una tarea específica.

<a id="turn-reminders-on"></a>

## Activar los recordatorios

Los recordatorios son una [marca de función](/docs/es/feature-flags) por proyecto, `reminders`, desactivada de forma predeterminada. Actívala en **Settings → Feature flags** o ejecuta:

```sh
beeuni projects features enable reminders
```

Mientras la marca esté desactivada, todas las rutas de recordatorios responden `403` con `code: "feature_disabled"`, la página Reminders muestra cómo activarla y los recordatorios existentes no se ejecutan. Si vuelves a activarla, se ejecuta una vez el intervalo que se perdió mientras estaba desactivada y, después, se reanuda la programación.

<a id="set-a-reminder"></a>

## Crear un recordatorio

Dentro de una sesión, la CLI usa la sesión actual. Fuera de una, pasa `--session <id>`.

```sh
# Fire once, 24 hours from now.
beeuni remind "Check whether the vendor replied to the contract email." --in 24h

# First fire in 24 hours, then every hour until removed.
beeuni remind "Did the vendor reply? If yes, summarize it and remove this reminder." --in 24h --every 1h

# Fire at an exact instant.
beeuni remind "Post the launch checklist to #launch." --at 2026-10-01T09:00:00Z

# Repeat on a cron expression in a time zone.
beeuni reminders add "Post the standup summary." --cron "0 0 9 * * 1-5" --timezone Europe/Berlin
```

El comando muestra el ID del recordatorio, por ejemplo `reminder.3f9a1c2e7b04`, y la hora de la próxima activación.

<a id="schedule-rules"></a>

## Reglas de programación

- `--in <duration>` o `--at <ISO-8601>` establece la primera activación. Si se usa sin otro parámetro, el recordatorio se activa una vez.
- `--every <duration>` establece la repetición. El periodo mínimo es `5m`. Cada periodo empieza cuando se reclama la activación anterior.
- `--cron "<expr>"` establece la repetición mediante una expresión cron de 6 campos (primero los segundos). `--timezone` establece la zona horaria; el valor predeterminado es `UTC`. Un recordatorio cron debe activarse como máximo una vez cada 5 minutos. No acepta `--in` ni `--at`.
- Las duraciones se expresan como `30m`, `24h`, `2d` o segundos enteros.
- `--in`, `--at` y `--every` aceptan un máximo de 366 días.
- Una sesión puede tener hasta 20 recordatorios activos. Un proyecto puede tener hasta 200. Si se supera cualquiera de estos límites, se devuelve `409`.

<a id="what-a-fire-does"></a>

## Qué ocurre cuando se activa un recordatorio

Cada activación pone el texto del recordatorio en la cola de la sesión como una indicación que empieza con este encabezado:

```text
[REMINDER reminder.3f9a1c2e7b04 — recurring scheduled check-in on this session, not a new user message. When it is no longer needed, run `beeuni reminders rm reminder.3f9a1c2e7b04`.]

Did the vendor reply? If yes, summarize it and remove this reminder.
```

- Una sesión en pausa se reactiva. El agente tiene acceso a toda la conversación y al espacio de trabajo de la sesión.
- Una activación nunca inicia una sesión nueva. Si se elimina la sesión o esta falla, se pausa el recordatorio y se registra el motivo en `last_error`.
- Una activación conserva las conexiones personales de la sesión, como la cuenta de Gmail propia de un miembro. Si creas un recordatorio para una sesión en nombre de otra persona, esas conexiones se borran, igual que cuando envías una indicación a esa sesión.
- La pausa de activadores para todo el proyecto (`beeuni triggers pause`) también detiene los recordatorios.

Cada activación genera un turno del modelo. Elimina los recordatorios recurrentes en cuanto se cumpla su condición.

<a id="manage-reminders"></a>

## Administrar recordatorios

| Comando | Efecto |
| --- | --- |
| `beeuni reminders ls [--json]` | Muestra los recordatorios de la sesión: ID, estado, programación, próxima activación y texto. |
| `beeuni reminders pause <id>` | Detiene las activaciones, pero conserva el recordatorio. |
| `beeuni reminders resume <id>` | Vuelve a activarlo y reinicia la programación desde ahora. Un recordatorio de una sola vez que ya se activó permanece `done`. |
| `beeuni reminders rm <id>` | Elimina el recordatorio. Alias: `stop`, `delete`. |

Un recordatorio puede estar `active` (programado), `paused` (desactivado) o `done` (un recordatorio de una sola vez que ya se activó).

<a id="api-and-sdk"></a>

## API y SDK

Las rutas están asociadas a una sesión:

| Ruta | Efecto |
| --- | --- |
| `GET /v1/projects/:projectId/sessions/:sessionId/reminders` | Muestra los recordatorios. |
| `POST /v1/projects/:projectId/sessions/:sessionId/reminders` | Crea un recordatorio. Cuerpo: `prompt`, `name` opcional y `every`, `cron` + `timezone`, `at` o `in`. Devuelve `201`. |
| `PATCH /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId` | El cuerpo `{ "enabled": false }` pausa el recordatorio; `{ "enabled": true }` lo reanuda. |
| `DELETE /v1/projects/:projectId/sessions/:sessionId/reminders/:reminderId` | Elimina un recordatorio. |

Una programación no válida devuelve `400` con el motivo. Si la sesión se eliminó, devuelve `409`. Si una credencial de agente especifica otra sesión, devuelve `403`.

```ts
const reminders = beeuni.session(projectId, sessionId).reminders;
const reminder = await reminders.create({ prompt: 'Did the vendor reply?', in: '24h', every: '1h' });
await reminders.update(reminder.id, { enabled: false });
await reminders.remove(reminder.id);
```
