# Tareas programadas

> Programa un prompt para que se ejecute a diario, cada semana, cada mes o una sola vez, y lee el resultado de cada ejecución.

Source: https://endless.app/es/docs/automate/scheduled-tasks

**Programado*&#x2A; es donde los prompts se ejecutan sin ti. La página se describe sola con
claridad — &#x2A;"Prompts que se ejecutan automáticamente según una programación — cada ejecución
inicia un chat nuevo con el resultado."* — y esa última frase es todo el modelo: una
programación no es un proceso en segundo plano con una salida misteriosa, es una conversación
que se inicia sola.

<img alt="La página Programado: una pestaña Programaciones junto a una pestaña Actividad, y luego una lista de programaciones — &#x22;Concepto teaser diario&#x22;, &#x22;Radar de tendencias matutino&#x22;, &#x22;Resumen semanal de contenido&#x22; y un &#x22;Informe mensual de uso&#x22; en pausa — cada fila con su cadencia, hora y modelo, cuándo se ejecuta la próxima vez y un interruptor para pausarla" src="__img0" />

<Callout type="info">
  Las tareas programadas son una de las superficies que un espacio de trabajo
  puede desactivar. Donde está desactivada, **Programado** no aparece en la
  barra lateral y la URL te devuelve al inicio. Quien gestione la disponibilidad
  de funciones del espacio de trabajo puede volver a activarla.
</Callout>

## Cómo crear una

Necesitas permiso para crear contenido, que los miembros y administradores tienen por defecto
y los lectores no. Hay tres puertas de entrada.

<Cards>
  <Card icon="<CalendarClock />" title="Nueva programación">
    El botón en el encabezado de **Programado**. Abre un chat nuevo donde
    Endless te pregunta qué debe hacer y cuándo — lo vemos abajo.
  </Card>

  <Card icon="<Repeat />" title="Una plantilla inicial">
    Una página vacía ofrece cuatro: &#x2A;*"Resumen diario"*&#x2A; — &#x2A;"Un resumen por la
    mañana, cada día laborable"&#x2A;, &#x2A;*"Informe semanal"*&#x2A; — &#x2A;"Un repaso cada
    lunes"&#x2A;, &#x2A;*"Resumen mensual"*&#x2A; — &#x2A;"Un cierre el día 1"&#x2A; y &#x2A;*"Empezar desde
    cero"**. Las tres primeras abren ese mismo chat con las instrucciones y la
    cadencia ya sugeridas.
  </Card>

  <Card icon="<ChatBot />" title="Desde un mensaje que ya enviaste" href="/es/docs/chat">
    En un chat, el menú de uno de tus propios mensajes tiene &#x2A;*"Crear
    programación"*&#x2A; — &#x2A;"Ejecuta este prompt de forma periódica"*. Abre el mismo
    formulario con ese mensaje como instrucciones.
  </Card>
</Cards>

### En una conversación

Una programación se crea conversando. Endless explica en pocas líneas cómo funcionan las tareas
programadas y luego pregunta lo que todavía no sabe — qué debe hacer, cada cuánto y a qué hora, y
quién recibe el resultado: solo en esta página, por email a ti, o a ti y a otras personas
(miembros de tu espacio de trabajo por nombre, o cualquier dirección externa que escribas) — de
a una pregunta, con opciones para elegir o una respuesta que escribes. No hace falta el botón:
en cualquier chat, &#x2A;"mándame esto todos los lunes a las 9"* inicia lo mismo.

Nada se guarda hasta que tú lo dices. Cuando tiene lo necesario, Endless muestra una tarjeta
titulada &#x2A;*"¿Crear esta tarea programada?"** con todo lo que está por guardar: el **Nombre**,
cuándo **Se ejecuta** (y en qué zona horaria), el **Prompt** completo que escribió para las
ejecuciones, su **Acceso general*&#x2A; y quién recibe el resultado por correo. Lee el prompt — cada
ejecución parte solo de él, sin memoria de esta conversación. Después, &#x2A;*"Crear tarea
programada"*&#x2A;, o &#x2A;*"Descartar"** y le dices qué cambiar.

Una vez creada, la programación aparece como una tarjeta en el chat que abre su propia página.
Ahí, quien pueda editarla encuentra &#x2A;*"Pausar"*&#x2A;, &#x2A;*"Editar"*&#x2A; y &#x2A;*"Probar"*&#x2A; junto al nombre, y
el menú de la página suma &#x2A;*"Compartir"*&#x2A; y &#x2A;*"Eliminar"**. Si vuelves al chat más tarde, la
tarjeta sigue ahí para reabrirla.

También puedes pedir cambios con palabras — &#x2A;"pásala a las 8:30"&#x2A;, &#x2A;"páusala"&#x2A;, &#x2A;"mándamela
también por correo"&#x2A;. Cada uno muestra una tarjeta &#x2A;*"¿Guardar los cambios en …?"** que lista
solo lo que cambiaría, y te espera igual.

### El formulario

El formulario se abre desde &#x2A;*"Crear tarea programada"*&#x2A; en un mensaje y desde &#x2A;*"Editar"**.
Tiene tres pasos — **Prompt**, **Entrega** y
**Revisión** — y no puedes avanzar dejando vacío un campo obligatorio; te mostrará qué falta en
vez de negarse en silencio.

<Steps>
  <Step>
    ### Prompt

    Un **Nombre*&#x2A; (el ejemplo que se da es &#x2A;"p. ej. Resumen semanal de analítica"*) y las
    **Instrucciones*&#x2A; — &#x2A;"¿Qué debe ejecutarse en esta programación?"*

    El cuadro de instrucciones es el compositor del chat, así que todo lo que puedes hacer en un
    mensaje de chat lo puedes hacer aquí: `@` para traer un proyecto, `/` para llamar a una
    skill por su nombre. Lo que no puedes hacer es adjuntar un archivo — una programación no
    tiene adjuntos, solo texto.

    Debajo del cuadro hay dos controles más: el **modelo** con el que se ejecuta esta programación
    y **Herramientas**.
  </Step>

  <Step>
    ### Entrega

    **Se repite** — **Diario**, **Días laborables**, **Semanal**, **Mensual** o **Una vez** — más
    los selectores de día que cada opción necesita, y **A las**, la hora del día.

    Luego **Acceso*&#x2A; — &#x2A;"Quién puede abrir esta programación y qué puede hacer."&#x2A; — y un
    interruptor de &#x2A;*"Entrega por email"**.
  </Step>

  <Step>
    ### Revisión

    Un repaso de todo y una vista previa en vivo con el título &#x2A;*"Próximas 3 ejecuciones"** y la
    zona horaria de esos horarios. Este es el momento de comprobar que "Mensual el día 31"
    significa lo que crees.
  </Step>
</Steps>

<Callout type="info">
  Las instrucciones largas están bien. El límite ronda los treinta y dos mil
  caracteres — unas cuantas páginas de reglas, fuentes y formato de salida — y
  el contador solo aparece cuando te acercas. Si te pasas, el formulario dice
  por cuánto, así que puedes recortar en vez de adivinar. Si se rechaza el
  guardado por cualquier otro motivo, el mensaje nombra el campo que falló.
</Callout>

## Cómo funcionan la cadencia y la zona horaria

La hora que escribes se lee en **la zona horaria de tu navegador en el momento en que creas la
programación*&#x2A;, y el paso de revisión nombra esa zona en voz alta (&#x2A;*"hora de Buenos Aires"**,
por ejemplo) para que no haya ambigüedad. A partir de ahí la programación sigue disparándose a
esa hora de reloj en esa zona — no te sigue si viajas.

<Cards>
  <Card icon="<Repeat />" title="Semanal puede ser varios días">
    "Cada lunes y viernes" es una sola programación, no dos — elige tantos días
    de la semana como quieras. No puedes deseleccionar el último.
  </Card>

  <Card icon="<Clock />" title="Mensual se ajusta a los meses cortos">
    El día 31 se dispara el 30, y el 28 o el 29 en febrero. Nunca se salta un
    mes.
  </Card>

  <Card icon="<CalendarClock />" title="Una vez necesita una fecha futura">
    Elige una fecha ya pasada y el formulario te lo dice: &#x2A;"Esa fecha ya pasó —
    elige una fecha futura."* Después de dispararse, se detiene.
  </Card>
</Cards>

<Callout type="warn" icon="<Clock />">
  Las programaciones vencidas se recogen en barridos separados por unos minutos,
  así que una ejecución de las 09:00 empieza **a las 09:00 o poco después** — no
  al segundo exacto. No construyas nada que dependa de un minuto exacto.
</Callout>

## Qué puede hacer una ejecución programada

Una ejecución es un turno de chat real, con las mismas capacidades y los mismos límites.

<Cards>
  <Card icon="<Book />" title="Skills" href="/es/docs/automate/skills">
    Todas las skills activas para ti lo están para tus programaciones. El
    control **Herramientas*&#x2A; del paso Prompt te deja desactivar algunas solo
    para esta programación — el resumen dice &#x2A;*"Todas las herramientas"** hasta
    que lo hagas.
  </Card>

  <Card icon="<Plug />" title="Conectores" href="/es/docs/automate/connectors">
    Solo se ofrecen los conectores que realmente **conectaste**. Uno activado
    pero sin sesión iniciada no resolvería a nada al ejecutarse, así que no se
    lista.
  </Card>

  <Card icon="<Folder />" title="Proyectos" href="/es/docs/concepts/projects">
    Menciona un proyecto con `@` en las instrucciones y cada ejecución carga su
    conocimiento y sus skills, igual que haría un chat.
  </Card>

  <Card icon="<Photo />" title="Generación" href="/es/docs/create">
    Una ejecución puede generar imágenes y video, escribir documentos y crear
    páginas web. Todo se guarda como recursos.
  </Card>
</Cards>

Una herramienta que actives más tarde en el espacio de trabajo se suma sola a tus
programaciones existentes. No tienes que volver a abrirlas.

## Qué no puede hacer

<Callout type="warn" icon="<TriangleWarning />">
  **No hay nadie para responderle.** Una ejecución programada no puede hacerte
  una pregunta de seguimiento, no puede esperar una decisión y — esto es lo
  importante — **no puede pausarse para confirmar un costo antes de gastar
  créditos**. Crear la programación es la autorización. Si no quieres una
  programación que genere video cada mañana, no se lo pidas.
</Callout>

El gasto sigue limitado por lo que el espacio de trabajo puede pagar de verdad: una generación
que el saldo restante no cubre se rechaza, y la ejecución lo reporta como un fallo en vez de
quedar en descubierto.

<Cards>
  <Card icon="<Users />" title="Se ejecuta como su propietario" href="/es/docs/concepts/credits-and-spending">
    Una ejecución ve lo que ve el propietario de la programación, usa sus
    conectores y gasta contra sus límites, sin importar quién más pueda
    editarla. Si el propietario deja el espacio de trabajo, una programación
    compartida con otras personas pasa a una de ellas y llega en pausa, para que
    la vuelva a encender; una privada queda con quien se fue y se pausa en vez
    de quedarse lanzando ejecuciones que solo pueden fallar.
  </Card>
</Cards>

## Dónde se guarda el resultado

<Steps>
  <Step>
    ### La pestaña Actividad

    La segunda pestaña de **Programado*&#x2A;. Vacía, dice &#x2A;"Cuando tus programaciones se ejecuten, sus
    resultados aterrizarán aquí — abre uno para leerlo o continuar la conversación."* Cada entrada
    lleva su estado — **Correcto**, **Fallido** o **En ejecución** — y al abrir una se ve la
    salida de la ejecución, incluido lo que haya producido como **Documento**, **Página web** o
    **PDF**.

    Puedes filtrar el feed por una sola programación. El menú de cada programación también tiene
    &#x2A;*"Ver ejecuciones"**, que abre el historial de ejecuciones de esa programación.
  </Step>

  <Step>
    ### El chat de la ejecución

    Cada ejecución inicia su propia conversación, titulada con el nombre de la programación y la
    hora en que se ejecutó. &#x2A;*"Ver chat"** la abre, y puedes seguir hablando desde ahí.

    Estas conversaciones se quedan fuera del **Historial de chats** a propósito — una programación
    diaria sepultaría todo lo demás. Actividad es la vía de entrada.
  </Step>

  <Step>
    ### Biblioteca

    Todo lo que genera una ejecución se convierte en un recurso como cualquier otro, con búsqueda
    y filtros junto al resto.
  </Step>

  <Step>
    ### Tu correo, si lo pediste

    **"Entrega por email"*&#x2A; — &#x2A;"Envía por correo el resultado de cada ejecución a miembros del
    espacio de trabajo o a cualquier dirección externa. Los resultados siguen apareciendo en la
    app."* Los destinatarios pueden ser personas del espacio de trabajo o cualquier dirección que
    escribas; el asunto es el nombre de la programación, y después la tarjeta de la ejecución
    indica a quién se envió.
  </Step>
</Steps>

<Cards>
  <Card icon="<Photo />" title="Dónde se guarda lo generado" href="/es/docs/create/where-output-lands">
    Cómo encontrar algo que hizo una ejecución, y quién más puede verlo.
  </Card>
</Cards>

## Quién puede ver una programación

El acceso se define en la sección **Acceso*&#x2A; del paso Entrega, y una programación nueva empieza
siendo privada. Después, el propietario lo cambia desde &#x2A;*"Compartir"*&#x2A; en el menú de la programación,
o en la misma sección de &#x2A;*"Editar"**.

<Cards>
  <Card icon="<Lock />" title="Privado">
    *"Solo tú, y los chats de sus ejecuciones"* — más quien agregues por nombre.
  </Card>

  <Card icon="<Globe />" title="Todos en el espacio de trabajo">
    Cualquier miembro puede abrirla, con **Puede ver** o **Puede editar**.
  </Card>

  <Card icon="<Users />" title="Personas concretas">
    Agrega personas una por una, cada una con **Puede ver** o **Puede editar**.
    El ajuste propio de una persona gana sobre el del espacio de trabajo, aunque
    sea menor.
  </Card>
</Cards>

<Callout type="info" icon="<Eye />">
  El acceso cubre también las conversaciones de las ejecuciones, no solo la
  programación — quien pueda abrir la programación puede leer lo que produjo. El
  chat de una ejecución no se comparte por separado: para mostrarle los
  resultados a alguien, comparte la programación.

  A diferencia de los recursos, las programaciones sí tienen una excepción de
  supervisión: &#x2A;*privada significa privada frente a tus colegas, no frente a la
  supervisión del espacio de trabajo.*&#x2A; Tres permisos distintos, que los
  administradores tienen por defecto, llegan más allá: &#x2A;*"Ver contenido creado
  por otros"*&#x2A; abre cualquier programación y sus ejecuciones; &#x2A;*"Editar contenido
  creado por otros"*&#x2A; cambia cualquier programación que quien lo tiene pueda
  abrir; &#x2A;*"Borrar contenido creado por otros"** las elimina. Mira [roles y
  permisos](/es/docs/governance/roles-and-permissions).
</Callout>

## Pausar, editar, eliminar

Cada fila tiene un menú — &#x2A;*"Ver ejecuciones"*&#x2A;, &#x2A;*"Pausar"*&#x2A;, &#x2A;*"Editar"*&#x2A;, &#x2A;*"Probar"*&#x2A;,
&#x2A;*"Compartir"*&#x2A;, &#x2A;*"Eliminar"*&#x2A; — y la página de cada programación tiene las mismas acciones;
una creada en un chat también se puede pausar o editar pidiéndolo. Pausar detiene las
ejecuciones futuras y conserva todo lo demás; la fila queda marcada como &#x2A;*"En pausa"**.

Quién ve cada acción depende del acceso a la programación. Quien tenga **Puede editar*&#x2A; — y
además el permiso del espacio de trabajo para crear y editar contenido — puede pausarla,
editarla y probarla. Solo el propietario agrega personas o cambia el acceso general; los demás solo
pueden salir de una programación compartida con ellos. Eliminarla le corresponde al propietario, o a
quien tenga &#x2A;*"Borrar contenido creado por otros"** y pueda abrirla.

<Callout type="warn" icon="<Trash />">
  Eliminar es lo permanente: &#x2A;"Esto elimina la tarea programada de forma
  permanente y detiene las ejecuciones futuras. Los chats de ejecuciones
  anteriores se conservan. Esta acción no se puede deshacer."*
</Callout>

## Cuando las ejecuciones fallan

Una ejecución fallida se marca en el feed y la fila de la programación muestra &#x2A;*"La última
ejecución falló"**.

<Callout type="warn" icon="<TriangleWarning />">
  Después de tres fallos seguidos, una programación se pausa sola y lo dice:
  &#x2A;"En pausa automáticamente tras fallos repetidos. Corrige el prompt o las
  herramientas y reanúdala."* Un aviso en la parte superior de la lista cuenta
  cuántas están en ese estado. Arregla lo que se rompió — un conector
  desconectado es lo más habitual — y vuelve a activarla.
</Callout>

Una ejecución que deja de responder del todo se marca como fallida al cabo de un rato en vez
de quedarse girando, y por eso a veces aparece un fallo puntual sin causa evidente.

<Cards>
  <Card icon="<History />" title="Qué se ejecutó, en todo el espacio de trabajo">
    Las ejecuciones individuales viven en **Actividad**, en esta página. El
    registro de todo lo que pasó en el espacio de trabajo — incluidos los
    movimientos de créditos — está en **Configuración → Gobernanza →
    Actividad**, que necesita el permiso de lectura de gobernanza para abrirse.
  </Card>

  <Card icon="<Bolt />" title="Cuánto cuesta una ejecución" href="/es/docs/concepts/credits-and-spending">
    Las ejecuciones gastan créditos como cualquier otro trabajo. El chat es
    barato; la generación no.
  </Card>

  <Card icon="<Wrench />" title="Acota lo que una programación puede alcanzar" href="/es/docs/automate/connectors">
    Los conectores, y en qué se diferencia conectar de activar.
  </Card>

  <Card icon="<Toggle />" title="Enséñale un flujo de trabajo primero" href="/es/docs/automate/skills">
    Una programación que llama a una skill se mantiene corta y consistente.
  </Card>
</Cards>
