Agendamento de Tarefas no OpenClaw: Guia Completo de Cron Jobs

Uma das funcionalidades mais poderosas do OpenClaw é seu sistema de agendamento integrado. Com cron jobs, você pode programar tarefas automáticas que rodam em horários específicos — desde lembretes simples até relatórios complexos enviados diretamente no seu WhatsApp ou Telegram.

Neste guia, vamos explorar tudo sobre o sistema de cron do OpenClaw: como criar jobs, configurar horários, entregar mensagens em canais específicos e automatizar sua rotina de verdade.

O Que São Cron Jobs?

Cron é o sistema de agendamento do OpenClaw. Pense nele como um despertador inteligente que, em vez de apenas tocar, pode executar ações complexas:

  • Enviar resumos do seu email toda manhã
  • Verificar o clima antes de você sair de casa
  • Monitorar sites e alertar sobre problemas
  • Lembrar de compromissos importantes
  • Gerar relatórios semanais automaticamente

Diferente de um simples timer, o cron do OpenClaw:

  • Persiste entre reinícios: Jobs ficam salvos mesmo se o servidor reiniciar
  • Usa a IA para executar: O agente roda com todo seu contexto e ferramentas
  • Entrega onde você quiser: Resultados podem ir para WhatsApp, Telegram, Discord ou ficar internos

Conceitos Fundamentais

Schedule (Quando Rodar)

Três tipos de agendamento:

  1. At (Horário específico): Uma única execução em data/hora exata
  2. Every (Intervalo): Repetição a cada X milissegundos
  3. Cron (Expressão cron): Padrão Unix para horários complexos

Session Target (Onde Rodar)

Dois modos de execução:

  1. Main: Roda na sessão principal, junto com seu histórico de conversa
  2. Isolated: Roda em sessão isolada, sem contexto de conversas anteriores

Payload (O Que Fazer)

  1. systemEvent: Para sessão main — injeta evento no próximo heartbeat
  2. agentTurn: Para sessão isolated — executa turno completo do agente

Primeiros Passos

Verificar Status do Cron

openclaw cron list

Se não aparecer nada, o cron está vazio mas funcionando.

Criar um Lembrete Simples

Vamos criar um lembrete para daqui a 20 minutos:

openclaw cron add \
  --name "Teste de lembrete" \
  --at "20m" \
  --session main \
  --system-event "LEMBRETE: Isto é um teste do sistema de cron!" \
  --wake now \
  --delete-after-run

Explicando cada flag:

  • --name: Nome descritivo do job
  • --at "20m": Executar em 20 minutos (aceita também datas ISO como “2026-02-01T09:00:00”)
  • --session main: Usar sessão principal
  • --system-event: Mensagem injetada como evento de sistema
  • --wake now: Acordar o agente imediatamente quando o horário chegar
  • --delete-after-run: Remover job após execução bem-sucedida

Verificar Jobs Criados

openclaw cron list

Saída:

Jobs (1):
  abc123  Teste de lembrete  at 2026-01-31T23:56:00Z  main  enabled

Casos de Uso Práticos

1. Resumo Matinal no WhatsApp

Receba um resumo do seu dia toda manhã às 7h:

openclaw cron add \
  --name "Resumo matinal" \
  --cron "0 7 * * *" \
  --tz "America/Sao_Paulo" \
  --session isolated \
  --message "Bom dia! Prepare um resumo do meu dia: verifique emails importantes, compromissos do calendário e previsão do tempo para hoje." \
  --deliver \
  --channel whatsapp \
  --to "+5511999999999"

2. Monitoramento de Site a Cada 30 Minutos

openclaw cron add \
  --name "Monitor meusite.com.br" \
  --cron "*/30 * * * *" \
  --session isolated \
  --message "Verifique se https://meusite.com.br está online. Se estiver fora do ar ou lento (>3s), me avise. Caso contrário, apenas registre no log."

Note que este job não tem --deliver — o resultado fica interno. Só notifica se houver problema.

3. Relatório Semanal no Telegram

openclaw cron add \
  --name "Relatório semanal" \
  --cron "0 18 * * 5" \
  --tz "America/Sao_Paulo" \
  --session isolated \
  --message "Prepare um relatório semanal: resumo das atividades, tarefas completadas, métricas importantes e prioridades para próxima semana." \
  --model opus \
  --thinking high \
  --deliver \
  --channel telegram \
  --to "123456789"

Flags especiais:

  • --model opus: Usa Claude Opus para análise mais profunda
  • --thinking high: Nível alto de raciocínio

4. Lembrete de Medicação

openclaw cron add \
  --name "Lembrete medicação" \
  --cron "0 8,20 * * *" \
  --tz "America/Sao_Paulo" \
  --session main \
  --system-event "LEMBRETE DE SAÚDE: Hora de tomar seus medicamentos!" \
  --wake now

Este roda às 8h e 20h todos os dias.

5. Verificação de Emails Importantes

openclaw cron add \
  --name "Check emails urgentes" \
  --cron "0 9,13,17 * * 1-5" \
  --tz "America/Sao_Paulo" \
  --session isolated \
  --message "Verifique minha caixa de entrada por emails urgentes ou de remetentes importantes. Resuma apenas os que precisam de atenção imediata." \
  --deliver \
  --channel telegram \
  --to "123456789"

Roda às 9h, 13h e 17h, de segunda a sexta.

Entendendo Expressões Cron

A sintaxe cron tem 5 campos:

┌─────────── minuto (0-59)
│ ┌───────── hora (0-23)
│ │ ┌─────── dia do mês (1-31)
│ │ │ ┌───── mês (1-12)
│ │ │ │ ┌─── dia da semana (0-6, 0=domingo)
│ │ │ │ │
* * * * *

Exemplos Comuns

ExpressãoSignificado
0 7 * * *Todo dia às 7h
0 9 * * 1-5Segunda a sexta às 9h
*/15 * * * *A cada 15 minutos
0 8,12,18 * * *Às 8h, 12h e 18h
0 0 1 * *Primeiro dia do mês à meia-noite
0 6 * * 1Toda segunda às 6h
30 23 * * 0Todo domingo às 23h30

Ferramentas Úteis

Para criar expressões cron complexas, use:

Sessão Main vs Isolated

Quando Usar Main

Use sessão main (--session main) quando:

  • Precisa de contexto de conversas anteriores
  • Quer que o job apareça no histórico normal
  • É algo simples que não precisa de isolamento
openclaw cron add \
  --name "Lembrete contexto" \
  --at "30m" \
  --session main \
  --system-event "Continue trabalhando naquele projeto que discutimos." \
  --wake now

Quando Usar Isolated

Use sessão isolated (--session isolated) quando:

  • A tarefa é independente e não precisa de contexto
  • Quer usar modelo diferente (mais barato ou mais potente)
  • Não quer poluir o histórico da sessão principal
  • Precisa entregar resultado em canal específico
openclaw cron add \
  --name "Análise profunda" \
  --cron "0 6 * * 1" \
  --session isolated \
  --message "Faça análise semanal do projeto." \
  --model opus \
  --deliver \
  --channel whatsapp \
  --to "+5511999999999"

Entrega de Mensagens

Canais Suportados

  • whatsapp: +5511999999999 (número com código país)
  • telegram: 123456789 (chat ID)
  • discord: channel:123456789 ou user:123456789
  • signal: +5511999999999
  • slack: channel:C12345 ou user:U12345

Telegram com Topics/Fóruns

Para enviar em um tópico específico de grupo Telegram:

--channel telegram \
--to "-1001234567890:topic:123"

Entrega Condicional

Se você não especificar --deliver, o job roda mas não envia mensagem. Útil para monitoramento silencioso onde o agente só deve notificar se houver problema.

Gerenciando Jobs

Listar Jobs

openclaw cron list

Ver Histórico de Execuções

openclaw cron runs --id <jobId> --limit 20

Editar Job Existente

openclaw cron edit <jobId> \
  --message "Nova mensagem" \
  --model opus

Desabilitar Temporariamente

openclaw cron edit <jobId> --disable

Reabilitar

openclaw cron edit <jobId> --enable

Remover Job

openclaw cron remove <jobId>

Forçar Execução Manual

Para testar sem esperar o horário:

openclaw cron run <jobId> --force

Usando Via Conversa

Você também pode gerenciar cron jobs conversando com o OpenClaw:

“Crie um lembrete para daqui 2 horas: revisar documento”

“Me lembre todo dia às 9h de verificar emails”

“Liste meus jobs agendados”

“Cancele o lembrete de medicação”

O agente usa a ferramenta cron internamente para executar essas ações.

Cron vs Heartbeat

O OpenClaw tem dois sistemas de execução periódica. Quando usar cada um?

Use Cron Quando:

  • Precisa de horário exato (9h, não “por volta de 9h”)
  • Quer sessão isolada com modelo diferente
  • Resultado deve ir para canal específico
  • É uma tarefa standalone, sem contexto de conversa

Use Heartbeat Quando:

  • Múltiplas verificações podem ser agrupadas
  • Precisa do contexto da sessão principal
  • Timing pode variar alguns minutos
  • Quer reduzir chamadas de API

Exemplo Prático

Heartbeat (em HEARTBEAT.md):

A cada heartbeat, verifique rapidamente:
- Emails urgentes
- Notificações do calendário
- Status dos sites

Cron (jobs separados):

# Relatório profundo toda segunda
openclaw cron add --name "Análise semanal" --cron "0 9 * * 1" ...

# Lembrete específico
openclaw cron add --name "Reunião equipe" --at "2026-02-03T14:00:00" ...

Dicas Avançadas

Timezone

Sempre especifique timezone para evitar confusões:

--tz "America/Sao_Paulo"

Timezones comuns no Brasil:

  • America/Sao_Paulo (Brasília, -3)
  • America/Manaus (Amazonas, -4)
  • America/Rio_Branco (Acre, -5)

Modelo e Thinking

Para tarefas complexas, use modelos mais potentes:

--model opus --thinking high

Para tarefas simples e frequentes, use modelos mais baratos:

--model haiku

Jobs que Se Auto-Deletam

Para lembretes únicos, use --delete-after-run:

openclaw cron add \
  --name "Lembrete único" \
  --at "2026-02-01T10:00:00" \
  --session main \
  --system-event "Reunião começa em 5 minutos!" \
  --wake now \
  --delete-after-run

Falhas de Entrega

Se a entrega falhar (canal offline, erro de rede), o job falha. Use --best-effort-deliver para continuar mesmo com falha:

--best-effort-deliver

Troubleshooting

Job não executa

  1. Verifique se cron está habilitado:

    openclaw cron list
    
  2. Confirme timezone correto:

    openclaw cron list --verbose
    
  3. Verifique se gateway está rodando:

    openclaw status
    

Mensagem não chega no canal

  1. Verifique configuração do canal:

    openclaw channels status
    
  2. Confirme ID/número correto do destinatário

  3. Teste entrega manual:

    openclaw cron run <jobId> --force
    

Job roda no horário errado

Sempre especifique timezone explicitamente. Se omitir, usa timezone do servidor (que pode não ser o que você espera).

Armazenamento

Jobs ficam em:

  • ~/.openclaw/cron/jobs.json — Definições dos jobs
  • ~/.openclaw/cron/runs/<jobId>.jsonl — Histórico de execuções

Esses arquivos são gerenciados pelo OpenClaw — não edite manualmente.

Conclusão

O sistema de cron do OpenClaw transforma seu assistente em uma ferramenta de automação completa. Em vez de depender de apps externos de lembretes ou scripts complexos, você tem um agente inteligente que pode:

  • Executar tarefas no horário certo
  • Analisar informações com IA
  • Entregar resultados onde você precisa
  • Adaptar-se ao contexto

Comece com lembretes simples e vá expandindo para automações mais complexas conforme ganha confiança no sistema.

Próximos Passos


Dúvidas sobre agendamento? Pergunte na comunidade Discord!