Automatizaciones en código
Python con el SDK sc, un disparador, unos pasos y un resultado.
El builder escribe las automatizaciones por ti. Esta guía es para leerlas, cambiarlas o escribirlas tú.
Una automatización
Es un archivo en la carpeta del agente, automations/<nombre>.py: una función bajo un
disparador, con un título y un resumen con tus palabras, y sus pasos con nombre.
- Lo que devuelve es la línea de la ejecución: “12 avisos”.
tableygroup_byhacen que la página de la automatización muestre la tabla por estados (“Pendientes 8, Enviados 34”).key=hace que cada aviso se envíe una sola vez, aunque la ejecución vuelva a empezar.- El agente necesita acceso a la tabla
citasy un canal de WhatsApp. Pasadas 24 horas desde el último mensaje del cliente, WhatsApp solo deja enviar plantillas: elige una en los ajustes del canal o pásala contemplate={"name": ..., "values": [...]}.
Disparadores
Uno por automatización:
Todos llevan title y summary. Una ejecución dura como mucho 5 minutos; timeout_s= la
alarga hasta 900 segundos.
Una regla sobre lo que llega decide cada mensaje con sc.answer(), sc.hold(motivo) (a una
persona) o sc.ignore(motivo):
Si una regla falla o tarda, el agente responde: un error nunca deja a un cliente sin respuesta.
Lo que puede llamar
El código se ejecuta aislado, sin red salvo a SignalCore. Todo lo que hace pasa por sc:
¿Necesita una librería? Decláralas en agent.yaml, fijadas, y se instalan antes de la primera
ejecución:
Probar y encender
Con el builder: pídele el cambio, la prueba en seco y te enseña la tarjeta para encenderla.
Con la API, con una clave con permiso write:
Sus ejecuciones, con cada paso: GET /v1/runs?agent=$AGENT&automation=recordatorio y
GET /v1/runs/{run_id}.
Una acción propia
Lo que el agente hace mientras habla (no solo) es una acción: un archivo en actions/, una
función que el modelo llama como herramienta.
El docstring le dice al modelo cuándo llamarla. @sc.action(destructive=True) marca una que
cambia algo fuera: una persona dice que sí antes de que se ejecute.