Envie o relatório. Elimine a tarefa repetitiva.
Conte os pedidos de ontem no PostgreSQL e envie o total por e-mail pelo SendGrid a cada 24 horas.
O FLUXO
Do gatilho ao resultado.
Um relatório reproduzível, vinculado aos dados de origem, ao resultado da entrega e ao histórico de execução.
- 01 →
Schedule
Inicie em um intervalo recorrente de 24 horas ou execute manualmente para testar o relatório.
- 02 →
Collect
Consulte a tabela orders e selecione a contagem em .rows[0].orders.
- 03 →
Publish
Envie o total para sua equipe usando um remetente SendGrid configurado.
USE ESTA RECEITA
Seu workflow,
em YAML.
- Crie DATABASE_DSN para um banco PostgreSQL com uma tabela orders e uma coluna created_at, ou adapte a consulta ao seu esquema.
- Crie SENDGRID_API_KEY e substitua from e to pelo remetente verificado e pelo destinatário.
- Confira o fuso horário da sessão do banco de dados: CURRENT_DATE define o dia de ontem nesse fuso.
Copie ou baixe o manifesto, configure seus valores e adicione-o pelo Workflows ou pelo espaço de trabalho de IA. Abrir o console não cria nem habilita um workflow.
- Consultar bancos de dados
- Transformar JSON
- Enviar e-mails
workflow_id: daily-report
title: Daily order report
enabled: true
triggers:
- type: schedule
interval: 24h
steps:
- step_id: report
kind: sql
command:
driver: postgres
dsn: secret://DATABASE_DSN
query: |
SELECT COUNT(*) AS orders
FROM orders
WHERE created_at >= CURRENT_DATE - INTERVAL '1 day'
AND created_at < CURRENT_DATE
- step_id: count
kind: data-json
dependencies: [report]
command:
from_step: report
path: .rows[0].orders
- step_id: send
kind: email
dependencies: [count]
command:
provider: sendgrid
api_key: secret://SENDGRID_API_KEY
from: reports@example.com
to: team@example.com
subject: Yesterday's orders
text: "Orders received: {{ .steps.count.value }}"
Configuração Use um banco PostgreSQL com uma tabela orders e uma coluna created_at. Configure DATABASE_DSN, SENDGRID_API_KEY, um remetente verificado e o destinatário. A execução ocorre a cada 24 horas, sem um horário fixo do dia.
RESULTADO ESPERADO
Saiba o que procurar.
Para 12 pedidos ontem, a etapa de contagem retorna 12 e o texto do e-mail é "Orders received: 12". Um envio bem-sucedido significa que o provedor aceitou a requisição; confira a entrega final no provedor.
Este é um agendamento por intervalo, e não uma tarefa com horário fixo às 8h da manhã. A primeira verificação do agendador pode iniciar uma execução imediatamente, e reiniciar o agendador redefine a contagem dos intervalos. Use um agendador externo com um webhook para executar em um horário local fixo.
TESTE SUA CONFIGURAÇÃO
Verifique uma execução completa.
- Remova gatilhos para um teste somente manual e, em seguida, restaure o intervalo quando a entrega estiver pronta.
- Teste um dia sem pedidos: a contagem deve ser 0. Confira também falhas do banco de dados e do provedor de e-mail.
- Se relatórios duplicados forem um problema, registre a data do relatório no destino. O agendador não aplica concurrency: forbid.
Adapte esta receita com seu agente de IA
Adapte este YAML de relatório agendado do Adios ao meu esquema de banco de dados e destinatário. Use um gatilho schedule com interval: 24h, uma etapa sql de PostgreSQL, data-json para selecionar a contagem e uma etapa email de SendGrid. Use referências aos segredos DATABASE_DSN e SENDGRID_API_KEY. Explique o fuso horário do banco de dados, a contagem dos intervalos e o comportamento de relatórios duplicados. Mostre as alterações e teste com dados de exemplo antes de habilitar o agendamento ou enviar e-mails reais.
CONTINUE CONECTANDO