Adios
← WORKFLOWS / SCHEDULE

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.

  1. 01 →

    Schedule

    Inicie em um intervalo recorrente de 24 horas ou execute manualmente para testar o relatório.

  2. 02 →

    Collect

    Consulte a tabela orders e selecione a contagem em .rows[0].orders.

  3. 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.
Configure referências a segredos →

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.

  1. Consultar bancos de dados
  2. Transformar JSON
  3. Enviar e-mails
daily-report.yaml
Baixar
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.

Abrir Workflows ↗

CONTINUE CONECTANDO

Mais receitas de workflows.