¿Cómo debe manejar un agente de IA las festividades cuando publica para públicos muy distintos?
Cómo debe programar un agente de IA en torno a las festividades: tradiciones por cuenta, get_holidays, leer calendar_notes y bloquear la víspera.

Un agente que publica para muchas cuentas debería contrastar cada horario programado con las festividades del público de cada cuenta, no con un único calendario nacional. En Shager eso implica dos controles: llamar a get_holidays para las tradiciones que importan antes de planificar y, después, leer las calendar_notes que vuelven con cada publicación programada. La parte que ninguna herramienta puede hacer por el agente es decidir qué tradiciones corresponden a cada cuenta, así que eso hay que dejarlo por escrito para cada cliente.
El calendario es lo fácil. Lo difícil es asignar tradiciones a cada público.
La mayoría de los errores con las festividades no vienen de datos que faltan, sino de suponer que todos los públicos comparten un mismo calendario.
Imagina una agencia que maneja estas cuentas desde un mismo espacio de trabajo:
- Un restaurante familiar en una aldea drusa de Galilea.
- Una cadena de clínicas dentales cuyos pacientes son en su mayoría ciudadanos árabes de Israel.
- Una tienda de artículos para el hogar que vende a un público jaredí.
- Un centro comunitario para rusohablantes, donde parte del público sigue el calendario de la Iglesia ortodoxa.
- Una marca de comercio electrónico que envía a Europa y Norteamérica.
Una publicación alegre con un descuento un martes puede estar bien para cuatro de ellas y caer en muy mal momento para la quinta. Un agente solo sabe lo que dicen sus instrucciones. Por eso, antes de que sirva cualquiera de las herramientas que veremos, cada perfil de cliente necesita una línea explícita: las tradiciones que observa este público. Si ya trabajas con un solo agente para muchos clientes, ese perfil es el lugar indicado.

¿Qué cubre el calendario de festividades de Shager?
El calendario incluye festividades judías e israelíes, musulmanas, cristianas occidentales, cristianas ortodoxas, drusas, bahaíes, hindúes, budistas, sijes, jainistas, chinas y persas. También incluye fechas internacionales y comerciales: San Valentín, el Día Internacional de la Mujer, el Día de la Madre y el Día del Padre de Estados Unidos, Halloween, el Día del Soltero, Acción de Gracias, Black Friday, Cyber Monday y Año Nuevo.
Cada día lleva una de cuatro recomendaciones de publicación:
| Recomendación | Qué debe hacer el agente | Ejemplos |
|---|---|---|
avoid |
Nada de contenido promocional para ese público | Yom Kipur; el Día del Recuerdo del Holocausto y el Día de los Caídos en Israel |
sensitive |
Solo contenido respetuoso, sin venta agresiva ni bromas | Días de ayuno, Viernes Santo, Ashura, el día de Arafat, Laylat al-Qadr |
opportunity |
Encaja un saludo o una publicación temática | Eid al-Fitr, Navidad, Diwali, Año Nuevo Lunar, Black Friday |
normal |
No hay nada que cambiar | Todo lo demás |
El calendario de la app muestra los mismos datos a las personas, con un filtro por tradición y un color para cada recomendación.
Cómo llamar a get_holidays
Está disponible como la herramienta MCP get_holidays y como una operación REST documentada en la especificación OpenAPI:
curl -s "https://app.shager.ai/api/v1/holidays?from=2026-11-20&to=2026-12-05&traditions=jewish,muslim&language=en" \
-H "Authorization: Bearer $SHAGER_API_KEY"
Sin from ni to, el rango va de hoy a 60 días después. El máximo es de 400 días. traditions filtra por las tradiciones que indiques, y language devuelve los nombres en inglés o en hebreo. La respuesta tiene esta forma:
{
"data": {
"from": "2026-11-20",
"to": "2026-12-05",
"note": "...",
"holidays": [
{
"date": "YYYY-MM-DD",
"tradition": "...",
"name": "...",
"key": "...",
"advice": "opportunity",
"guidance": "...",
"approximate": true
}
]
}
}
Pásale guidance al revisor humano; explica en una frase por qué se movió una publicación.
La secuencia de llamadas, de principio a fin
Este es el orden que uso en una ejecución semanal. Tomemos como ejemplo fines de noviembre de 2026: Acción de Gracias cae el jueves 26, Black Friday el 27 y Cyber Monday el 30. Para la marca de comercio electrónico, es una seguidilla de días opportunity. Para la tienda jaredí o el restaurante druso, esos días pueden ser simplemente normal y no merecer ninguna publicación temática.
get_holidays { from: "2026-11-20", to: "2026-12-05", traditions: <union of all profiles in this run> }
create_post { workspace_id: "ws_retail",
channel_ids: ["ch_shop_eu_ig", "ch_shop_us_fb"],
caption: "...",
per_channel: [
{ channel_id: "ch_shop_eu_ig", caption: "..." },
{ channel_id: "ch_shop_us_fb", caption: "..." }
],
media_ids: ["med_19ae"] }
schedule_post { workspace_id: "ws_retail", post_id: "pst_5d2c",
schedule_at: "2026-11-27T09:00:00-05:00" }
read calendar_notes on the returned post
if any entry is avoid or sensitive for a tradition in this account's profile:
cancel_post, pick a new time, schedule again, and log why
Primero, per_channel permite que una misma publicación lleve un texto distinto por cuenta, así que la página de Estados Unidos puede mencionar el fin de semana de Acción de Gracias mientras la página europea habla de Black Friday sin el enfoque estadounidense. Escribí más sobre esto en variación de textos por cuenta.
Segundo, una publicación tiene un único horario programado. Cuando dos públicos de un mismo grupo no coinciden sobre un día, los textos no lo arreglan. Sepáralos en publicaciones distintas con horarios distintos.
calendar_notes vuelve con cada publicación que devuelven create_post, get_post y schedule_post, y enumera las festividades del día programado de esa publicación con su recomendación. Detecta lo que se escapó en la planificación, incluido un horario que alguien cambió a mano.

Por qué “empieza la víspera” rompe las comprobaciones de fechas ingenuas
Las festividades judías empiezan al atardecer de la víspera de la fecha que muestra el calendario. La explicación del movimiento reformista lo remonta al relato de la creación, donde la tarde viene antes que la mañana. El día islámico también empieza al ponerse el sol.
Un agente que solo compara fechas se va a equivocar de una forma predecible. El calendario indica Yom Kipur en una fecha. El agente revisa una promoción programada para las 19:00 del día anterior, no encuentra coincidencia y publica justo cuando empieza el ayuno.
En Israel, lo que está en juego es mayor en los dos días de duelo nacional. El Día de los Caídos empieza al atardecer de la noche anterior, y durante el día los lugares de entretenimiento cierran por ley. En el Día del Recuerdo del Holocausto, los lugares de entretenimiento público cierran por ley la víspera y el propio día. Una marca que publica una oferta en tono de broma esa noche no viola ninguna ley, pero el público lo nota.
Mi regla en las instrucciones del agente es simple: en los días avoid y sensitive, la tarde y la noche del día anterior cuentan como parte del día. En los días opportunity, que empiecen la víspera juega a tu favor, porque un saludo que llega antes de que empiece la festividad llega a tiempo.
¿Por qué las fechas islámicas aparecen como aproximadas?
Shager calcula las fechas islámicas a partir del calendario Umm al-Qura y las marca con approximate: true. Umm al-Qura es el calendario oficial de Arabia Saudita y se calcula por adelantado, mientras que el inicio de los meses religiosos depende del avistamiento de la luna creciente. The New Arab cita el antiguo sitio web del propio calendario, según el cual puede no coincidir con la visibilidad real de la luna creciente. Además, cada país aplica criterios de avistamiento distintos, así que el Eid puede caer en días diferentes según el país.
La diferencia es de alrededor de un día. Para la cadena de clínicas, eso significa preparar con tiempo el saludo de Eid al-Fitr como borrador y programarlo después del anuncio local, o escribirlo de forma que siga sonando bien si sale un día antes. En un día sensitive aproximado, deja un día de margen a cada lado. Con públicos repartidos en varios países, no supongas que una misma fecha sirve para todos.
Un prompt que puedes adaptar
Before scheduling anything this week:
1. Read each client's audience profile and list its traditions. If a profile has none, stop and ask me.
2. Call get_holidays once for the whole week, with the union of those traditions.
3. avoid: no promotional posts to that audience, including the afternoon and evening before.
4. sensitive: respectful tone only. No discounts, no humour, no countdowns.
5. opportunity: propose a greeting or themed post, written separately per account with per_channel.
6. approximate=true: keep a one day buffer, or wait for the local announcement.
7. After schedule_post, read calendar_notes. On a conflict, cancel, reschedule and tell me what changed.
Combínalo con las reglas de horario de estrategia de programación para agentes, para resolver diferencias horarias y festividades en una misma pasada.
Lista de verificación antes de cada ejecución programada
- Cada cuenta tiene un perfil de público con una lista explícita de tradiciones.
- Una sola llamada a
get_holidayscubre todo el rango de fechas de la ejecución. - Un día
avoidtambién bloquea la noche anterior. - Un día
sensitivecambia el tono, no solo el horario. - Las publicaciones
opportunityse escriben para cada público, nunca un saludo genérico para todos. - Las fechas aproximadas tienen un día de margen.
- Los públicos mixtos en un día conflictivo se separan en publicaciones distintas.
- Después de programar, el agente lee
calendar_notese informa cada cambio que hizo.
Los días de descanso semanal, como el Shabat, son una regla fija y no una entrada del calendario, así que inclúyelos en el perfil del público como franjas horarias bloqueadas.
Si tu agente todavía no está conectado, la página de entrada para agentes explica la configuración. Cuando ya lo esté, el primer trabajo útil es pequeño: agrega la línea de tradiciones a cada perfil de cliente y ejecuta get_holidays para los próximos dos meses para ver lo que viene.
Preguntas frecuentes
¿Shager bloquea la programación en un día avoid?
No. La recomendación es información, que devuelven get_holidays y las calendar_notes de cada publicación. La decisión queda en manos del agente y de quien aprueba su trabajo, porque un mismo día puede ser solemne para un público y uno más para otro.
¿Cómo sabe el agente qué tradiciones corresponden a una cuenta?
No debería adivinarlo a partir del nombre de un negocio o de una ciudad. Escribe las tradiciones en el perfil de público de cada cliente e indícale al agente que se detenga y pregunte cuando falte esa línea.
¿A una marca global de comercio electrónico le deberían importar las festividades religiosas?
Sí, sobre todo en sus mercados más grandes. Agrupa sus cuentas por mercado, contrasta cada grupo con las fechas comerciales más las tradiciones habituales en ese mercado y escribe saludos para cada grupo. Una publicación de Navidad es una oportunidad en un mercado y algo irrelevante o incómodo en otro.


