Guardar código guarda un borrador. La programación sigue ejecutando la versión publicada hasta que eliges Publicar cambios. Probar ejecuta el borrador sin aplicar cambios en leads y sin enviar escrituras. Ejecutar de verdad… y Ejecutar ahora en los registros ejecutan la versión publicada de verdad, después de una confirmación que muestra a cuántos leads afectan.
Crea una función
En el dashboard, los roles Owner, Admin y Partner de la organización pueden crear, editar, probar, publicar, ejecutar, pausar, borrar el historial o eliminar Funciones programadas.1
Elige un punto de partida
Abre Integraciones → Desarrolladores → Funciones programadas y selecciona Nueva función. Empieza en blanco o elige Re-puntuar leads estancados, Etiquetar inactivos o Repartir sin asignar.
2
Define la programación
Ingresa un nombre, elige una frecuencia, confirma la zona horaria y continúa. Puedes editar la expresión cron y la zona horaria después.
3
Define el alcance de consulta
Selecciona los leads, Agentes de IA y hosts que necesita el código. Limita la consulta de leads y define el máximo que se carga por ejecución.
4
Escribe y guarda el código
Implementa
onSchedule(ctx) y agrega variables de entorno para los secretos. Una función nueva empieza en pausa, y su primer guardado es la versión 1. Desde ahí, Guardar (⌘S) deja los cambios de código en un borrador.5
Prueba, publica y actívala
Revisa la cohorte y elige Probar (⌘↵). Cuando el resultado, los registros, las solicitudes y los efectos previsualizados coincidan con tu intención, elige Publicar cambios y enciende Activa.
Configura la programación
El editor ofrece frecuencias predefinidas de cada 5 minutos, cada 15 minutos, cada hora, cada 4 horas y una vez al día. Selecciona Personalizada para escribir una expresión cron de cinco campos. La zona horaria controla cuándo corren las expresiones basadas en el calendario. Por ejemplo,0 9 * * * significa las 09:00 en la zona horaria elegida para la función, que no siempre coincide con la del navegador. La vista previa pide al servidor que calcule las próximas ejecuciones para que puedas comprobar ambos valores juntos.
Selecciona el alcance de consulta
Nexor resuelve el alcance de consulta justo antes de cada ejecución. La función solo recibe datos de la misma organización. La consulta de leads permite filtrar por:- leads activos, históricos o todos;
- Agente y etapa;
- campaña;
- usuario asignado o leads sin asignación;
- búsqueda por nombre, correo o teléfono;
- una ventana móvil de creación en horas o días; y
- orden y límite de leads por ejecución.
ctx.leads durante una ejecución.
Los Agentes de IA y los hosts humanos son grupos opcionales. Inclúyelos solo si el código lee ctx.agents o ctx.hosts; de lo contrario, esos arreglos están vacíos.
Lee el contexto de ejecución
Cada ejecución programada recibe un objetoctx con esta estructura:
El entorno también incluye
env, axios, fetch, console y helpers. helpers.uuid() crea un UUID, helpers.now() devuelve el timestamp actual y helpers.daysAgo(n) devuelve un timestamp relativo a la ejecución.
Escribe efectos controlados
Los efectos se guardan mientras corre el JavaScript. Nexor los aplica después de una ejecución correcta y limita cada cambio a la organización propietaria de la función.
Si la función genera un error o alcanza el timeout, sus efectos guardados no se aplican. Las llamadas ya realizadas con
axios o fetch no se pueden revertir, por lo que las escrituras externas deben ser idempotentes.
Usa variables de entorno
Cloud Functions y Funciones programadas usan las mismas variables de entorno de la organización. Lee un valor comoenv.NAME y nunca pongas un token directamente en el código de la función.
El dashboard oculta los valores guardados: la lista muestra el nombre, no el valor. Crear, reemplazar o eliminar una variable vuelve a desplegar cada Cloud Function y Función programada activa para mantener sus bindings actualizados. Una función en pausa toma el cambio cuando se activa o se ejecuta.
Guarda un borrador
Guardar código en el editor guarda un borrador. La programación, Ejecutar de verdad… y Ejecutar ahora siguen usando la versión publicada hasta que publicas el borrador.- El editor muestra Cambios sin publicar con la hora en que se guardó el borrador, y la lista de funciones muestra el badge Cambios sin publicar.
- Cada función tiene un borrador, compartido por todas las personas que la editan, la API y Nexor AI. El último guardado lo reemplaza.
- Solo el código queda en borrador. El nombre, la descripción, la programación, la zona horaria, el alcance de consulta, el límite de leads y Activa se guardan de inmediato.
- Guardar un código idéntico a la versión publicada no deja borrador.
- Para eliminar el borrador, abre ⋯ y elige Descartar borrador. La versión publicada sigue activa.

Prueba sin efectos reales
Elige Probar (⌘↵). Los cambios sin guardar se guardan primero en el borrador. Si no hay borrador, Probar ejecuta la versión publicada. El diálogo Prueba tu borrador ofrece dos tipos de entrada:- Cohorte real carga los leads que coinciden ahora con tu alcance de consulta. Cargarlos solo lee datos.
- Ctx personalizado envía el JSON que ingreses.
Una prueba tiene los mismos límites de tiempo y de solicitudes que una ejecución real. Aparece en los registros con el origen Prueba, pero no cambia el conteo de ejecuciones, la última ejecución ni el resumen de salud. La prueba de un código nuevo puede tardar unos segundos más porque primero se prepara la copia de prueba.

Publica los cambios
Elige Publicar cambios cuando el borrador esté listo. El diálogo indica qué versión será y muestra la última prueba de este borrador. Avisa si el borrador no se probó o si su última prueba falló, pero no impide publicar.- La próxima ejecución usa la versión nueva. Las ejecuciones que ya están en curso terminan con la anterior.
- Publicar una función en pausa no la activa.
- Si alguien guardó el borrador después de que abriste el diálogo, te pide revisarlo y publicar de nuevo.
- Si la versión nueva no se puede desplegar, no se publica nada y tu borrador se conserva. Inténtalo de nuevo en un momento.

Restaura una versión anterior
Cada publicación crea una versión numerada. Abre Historial de versiones en el editor para ver cada versión, quién la publicó y cuándo. Publicada marca la versión activa. API pública marca las versiones publicadas con una clave de API o con Nexor AI, y Antes de las versiones marca el código que tenía la función cuando empezó el historial. Elige Ver para leer el código de una versión y luego Restaurar al borrador para copiarlo en el borrador. Restaurar nunca cambia producción: prueba el borrador y publícalo para volver atrás. Si hay un borrador abierto, Nexor pregunta antes de reemplazarlo. Restaurar la versión activa borra el borrador.
Ejecuta de verdad
Ejecutar de verdad… ejecuta ahora la versión publicada y aplica sus efectos. Está en el menú ⋯ del editor, en el menú de la fila de la función y como Ejecutar ahora en los registros.- Nexor cuenta los leads que coinciden con el alcance de consulta. Si no puede contarlos, no se ejecuta nada.
- Una confirmación muestra la versión y la cantidad de leads, por ejemplo “Ejecuta la versión 4 ahora sobre 37 leads. Los cambios en leads se aplican y las solicitudes se envían.” Si hay un borrador abierto, agrega que tus cambios sin publicar no se incluyen.
- Elige Ejecutar de verdad para iniciarla.

Activa una función
Encender Activa pide confirmación. Si hay un borrador abierto, la confirmación indica que la función ejecuta la versión publicada y que tus cambios sin publicar no se incluyen hasta que los publiques. Si la versión publicada no se pudo desplegar, la función muestra Sin desplegar en la lista y un aviso en el editor. Cada ejecución intenta desplegarla otra vez antes de correr y se detiene si vuelve a fallar.Revisa el historial de ejecuciones
El historial guarda el origen, estado, duración, cantidad de candidatos, efectos aplicados y fallidos, salida de consola, vistas previas de solicitudes HTTP, resultado devuelto y errores. El resumen de salud usa ejecuciones programadas recientes; las manuales y las pruebas siguen visibles, pero no cambian el cálculo de disponibilidad programada. Borrar el historial elimina permanentemente todas las ejecuciones guardadas de esa función. Eliminar una Función programada también borra su historial y sus versiones, y no se puede deshacer.Usa Nexor AI o el MCP
Nexor AI y los clientes MCP siguen el mismo flujo.update_scheduled_function guarda los cambios de código como borrador y devuelve su draft_hash. test_scheduled_function ejecuta el borrador y lista las llamadas que se enviarían. publish_scheduled_function requiere confirm: true después de que apruebas, y el draft_hash que se probó. discard_scheduled_function_draft, list_scheduled_function_versions, get_scheduled_function_version y restore_scheduled_function_version gestionan el borrador y el historial. run_scheduled_function ejecuta la versión publicada de verdad y requiere confirm: true.
Usa la API pública
Las claves REST pueden usar los endpoints de Funciones programadas. Las claves MCP necesitanworkflows:read para lecturas, vistas previas y versiones, y workflows:write para crear, actualizar, guardar borradores, probar, publicar, restaurar, ejecutar, eliminar y borrar el historial. Enviar code al endpoint de actualización sigue publicándolo de inmediato y registra una versión.
Listar Funciones programadas
Lee las funciones disponibles para la organización.
Crear una Función programada
Crea el código, la programación, la zona horaria y la configuración de consulta.
Previsualizar una programación
Valida el cron y la zona horaria contra las próximas ejecuciones.
Previsualizar una cohorte
Cuenta y muestra una muestra de los leads elegidos por una consulta.
Guardar un borrador
Cambia el código sin cambiar lo que ejecuta producción.
Probar una Función programada
Ejecuta el borrador con lecturas enviadas, escrituras retenidas y efectos previsualizados.
Publicar un borrador
Convierte el borrador probado en la versión publicada.
Listar versiones
Lee las versiones publicadas y restaura una en el borrador.
Ejecutar una Función programada
Ejecuta ahora la versión publicada, con efectos reales.
Listar ejecuciones
Revisa el historial de ejecuciones de forma programática.