Notificações por janela de tempo com condições UTC no Echobell

Use as variáveis de tempo UTC integradas do Echobell para filtrar notificações por horário comercial, fins de semana ou janelas de manutenção. Inclui receitas de condições prontas para usar.

Sumário

As variáveis de tempo UTC integradas do Echobell permitem restringir notificações a janelas de tempo específicas — horário comercial, turnos de plantão, janelas de manutenção — diretamente nas Condições do canal. Sem nenhuma camada de filtragem externa.

Pré-requisitos: Condições, Modelos, Webhook, Gatilhos por e-mail.

Variáveis UTC disponíveis

Essas variáveis são somente leitura, estão sempre disponíveis e são calculadas em UTC:

  • timezone (sempre "UTC"), now/iso, epochMs, epochSeconds
  • year, month (1–12), monthName
  • dayOfMonth (1–31)
  • dayOfWeek (0–6, domingo = 0), dayOfWeekName
  • hour (0–23), minute (0–59), second (0–59)
  • date (YYYY-MM-DD), time (HH:mm:ss)

Use-as diretamente nas Condições (sem {{ }}). Nos Modelos, use com {{ }}.

Receitas de condições

Dias úteis no horário comercial

hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Somente fins de semana

dayOfWeek == 0 || dayOfWeek == 6

Fora do horário comercial (noites e fins de semana)

(hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6

Janela de manutenção (sábados, 01:00–03:00)

dayOfWeek == 6 && hour >= 1 && hour < 3

Primeiro dia de cada mês, na hora cheia

dayOfMonth == 1 && minute == 0

Horário comercial no fim do trimestre (mar/jun/set/dez)

(month == 3 || month == 6 || month == 9 || month == 12) && hour >= 9 && hour < 17 && dayOfWeek >= 1 && dayOfWeek <= 5

Combinar tempo com filtros de conteúdo

As condições de tempo se combinam com variáveis de dados por meio dos operadores padrão:

  • Escalonar fora do horário comercial apenas para severidade alta:
    ((hour < 9 || hour >= 17) || dayOfWeek == 0 || dayOfWeek == 6) && (severity == "high" || severity == "critical")
    
  • Ambiente de produção, somente em dias úteis:
    environment == "production" && dayOfWeek >= 1 && dayOfWeek <= 5
    

Condições são expressões simples — não as envolva em {{ }}. Veja Condições → Operadores suportados.

Usar variáveis de tempo nos modelos

As mesmas variáveis funcionam nos modelos com {{ }}, o que é útil para registros de auditoria e comprovantes legíveis por pessoas:

Sent at {{date}} {{time}} {{sys.timezone}}
Today is {{sys.dayOfWeekName}}, {{sys.monthName}} {{dayOfMonth}}, {{year}}
Epoch: {{sys.epochSeconds}}

Combine com dados do Webhook ou dos Gatilhos por e-mail:

{{service}} {{status}} at {{time}} ({{sys.timezone}})

Observações

  • Todas as variáveis de sistema estão em UTC. Se o seu time está distribuído por vários fusos horários, considere o deslocamento ao definir os intervalos de horas.
  • Comece com uma janela de tempo simples e acrescente os filtros de conteúdo depois, quando ela já estiver funcionando.
  • Deixe uma descrição curta no canal explicando a lógica da condição (por exemplo, "Dias úteis, 09–17 UTC; fora do horário, somente severidade alta").

Próximos passos

  • Adicione uma condição de janela de tempo a um canal existente: Condições
  • Personalize o conteúdo da notificação com variáveis: Modelos
  • Crie canais separados para horário comercial e para janelas de plantão
  • Defina os canais de plantão com o tipo de notificação Chamada, para a urgência fora do horário comercial

Artigos relacionados