Skip to content

Latest commit

 

History

History
432 lines (347 loc) · 11.5 KB

File metadata and controls

432 lines (347 loc) · 11.5 KB

📊 Exemplos Práticos - Workflows Prontos

Workflows testados e prontos para usar no seu n8n. Copie, cole e adapte às suas necessidades.

🎯 Workflows Básicos

1. 📈 Dashboard de Vendas Diário

Objetivo: Relatório automático das vendas do dia anterior.

Workflow: Dashboard Vendas Diário
Trigger: Schedule (09:00 todos os dias)

Estrutura:

[Schedule] → [Hotmart: Sales] → [Set: Calculations] → [Gmail: Send Report]

Configuração Hotmart:

Resource: Sales
Operation: Get Sales History
Date Mode: Quick Period
Quick Period: Yesterday
Return All: true

Cálculos (Set Node):

const vendas = $input.all();
const totalVendas = vendas.length;
const totalReceita = vendas.reduce((sum, v) => sum + v.purchase.price.value, 0);
const ticketMedio = totalReceita / totalVendas;

// Top produtos
const produtos = {};
vendas.forEach(v => {
  const nome = v.product.name;
  produtos[nome] = (produtos[nome] || 0) + 1;
});

const topProduto = Object.entries(produtos)
  .sort(([,a], [,b]) => b - a)[0];

return [{
  json: {
    data: new Date().toLocaleDateString('pt-BR'),
    totalVendas,
    totalReceita: `R$ ${(totalReceita/100).toLocaleString('pt-BR', {minimumFractionDigits: 2})}`,
    ticketMedio: `R$ ${(ticketMedio/100).toLocaleString('pt-BR', {minimumFractionDigits: 2})}`,
    topProduto: topProduto ? `${topProduto[0]} (${topProduto[1]} vendas)` : 'N/A'
  }
}];

Email Template:

<h2>📊 Relatório de Vendas - {{ $json.data }}</h2>
<div style="font-family: Arial; background: #f5f5f5; padding: 20px;">
  <div style="background: white; padding: 20px; border-radius: 8px;">
    <h3>Métricas do Dia</h3>
    <ul>
      <li><strong>Total de Vendas:</strong> {{ $json.totalVendas }}</li>
      <li><strong>Receita Total:</strong> {{ $json.totalReceita }}</li>
      <li><strong>Ticket Médio:</strong> {{ $json.ticketMedio }}</li>
      <li><strong>Produto Mais Vendido:</strong> {{ $json.topProduto }}</li>
    </ul>
  </div>
</div>

2. 🚨 Alerta de Assinaturas Canceladas

Objetivo: Notificação instantânea via Discord quando assinatura é cancelada.

[Hotmart Trigger] → [Filter: Cancellations] → [Discord: Alert]

Configuração Trigger:

Events: Subscription Cancellation
Mode: Smart (separate outputs)

Configuração Discord:

const data = $json.data;
const mensagem = {
  content: `🚨 **ASSINATURA CANCELADA**`,
  embeds: [{
    title: "Cancelamento Detectado",
    color: 15158332, // Vermelho
    fields: [
      {
        name: "Cliente",
        value: data.buyer.name,
        inline: true
      },
      {
        name: "Email", 
        value: data.buyer.email,
        inline: true
      },
      {
        name: "Produto",
        value: data.product.name,
        inline: false
      },
      {
        name: "Data do Cancelamento",
        value: new Date(data.subscription.date_next_charge).toLocaleDateString('pt-BR'),
        inline: true
      }
    ],
    timestamp: new Date().toISOString()
  }]
};

return [{ json: mensagem }];

3. 🤖 IA: Análise Semanal Automática

Objetivo: Relatório inteligente toda segunda-feira.

[Schedule: Monday 8AM] → [Hotmart IA] → [Slack: Strategic Report]

Comando IA:

"Análise executiva da semana passada com insights estratégicos, 
incluindo performance de produtos, tendências de vendas, 
oportunidades identificadas e recomendações de ação para esta semana.
Foque em métricas de crescimento e pontos de atenção."

Processamento da Resposta:

const aiResponse = $json;
const insights = aiResponse.insights;

return [{
  json: {
    titulo: `📊 Relatório Estratégico - Semana ${new Date().getWeek()}`,
    periodo: `${insights.period_analyzed}`,
    metricas: {
      vendas: insights.metrics.total_sales,
      receita: insights.metrics.revenue,
      crescimento: insights.metrics.growth_rate
    },
    topInsights: insights.recommendations.slice(0, 3),
    acoes: insights.action_items || [],
    alertas: insights.warnings || []
  }
}];

🎯 Workflows Intermediários

4. 📋 CRM Automático com Google Sheets

Objetivo: Sincronizar novos clientes automaticamente.

[Hotmart Trigger: Purchase] → [Set: Format Data] → [Google Sheets: Append]

Formatação de Dados:

const purchase = $json.data;

return [{
  json: {
    "Data da Compra": new Date(purchase.purchase.approved_date).toLocaleDateString('pt-BR'),
    "Nome": purchase.buyer.name,
    "Email": purchase.buyer.email,
    "Telefone": purchase.buyer.phone || '',
    "Produto": purchase.product.name,
    "Valor": `R$ ${(purchase.purchase.price.value/100).toFixed(2)}`,
    "Status": purchase.purchase.status,
    "Transação": purchase.purchase.transaction,
    "Afiliado": purchase.affiliates?.[0]?.name || 'Venda Direta',
    "UTM Source": purchase.purchase.utm?.source || '',
    "UTM Campaign": purchase.purchase.utm?.campaign || ''
  }
}];

5. 💬 ChatBot de Suporte via WhatsApp

Objetivo: Responder dúvidas automáticas sobre produtos.

[Webhook: WhatsApp] → [Switch: Message Type] → [Hotmart: Product Info] → [WhatsApp: Reply]

Lógica de Roteamento:

const message = $json.message.toLowerCase();

if (message.includes('produto') || message.includes('curso')) {
  return [{ json: { action: 'product_info' } }];
} else if (message.includes('pagamento') || message.includes('compra')) {
  return [{ json: { action: 'payment_info' } }];
} else if (message.includes('acesso') || message.includes('login')) {
  return [{ json: { action: 'access_help' } }];
} else {
  return [{ json: { action: 'general_help' } }];
}

6. 📊 Análise de Churn Preditiva

Objetivo: Identificar clientes em risco de cancelamento.

[Schedule: Daily] → [Hotmart: Subscriptions] → [AI Analysis] → [Email: Alert List]

Comando IA para Análise:

"Analise estas assinaturas e identifique clientes em risco de churn 
baseado em padrões de pagamento, tempo de assinatura, engajamento 
e comportamento histórico. Priorize por risco e sugira ações de retenção."

🎯 Workflows Avançados

7. 🎯 Sistema de Remarketing Inteligente

Objetivo: Criar audiências customizadas baseadas em comportamento.

[Schedule] → [Hotmart: Multiple Endpoints] → [AI Segmentation] → [Facebook Ads: Audiences]

Estratégia Multi-Endpoint:

// Combinar dados de vendas, assinaturas e área de membros
const workflows = [
  { endpoint: 'sales', period: 'last_30_days' },
  { endpoint: 'subscriptions', status: 'active' },
  { endpoint: 'club', engagement: 'low' }
];

// A IA processará todos os dados para criar segmentos
return workflows.map(w => ({ json: w }));

8. 🔄 Automação de Upsell/Cross-sell

Objetivo: Oferecer produtos relacionados automaticamente.

[Trigger: Purchase] → [Hotmart: Customer History] → [AI Recommendations] → [Email: Offers]

Lógica de Recomendação:

const customerHistory = $json.customer_purchases;
const currentPurchase = $json.current_purchase;

// IA analisa histórico e sugere próximos produtos
const aiCommand = `
Baseado no histórico de compras deste cliente:
${JSON.stringify(customerHistory)}

E na compra atual:
${JSON.stringify(currentPurchase)}

Sugira os 3 melhores produtos para oferecer como upsell/cross-sell,
explicando o motivo de cada sugestão e a melhor estratégia de abordagem.
`;

return [{ json: { ai_command: aiCommand } }];

9. 📈 Dashboard Executivo Real-time

Objetivo: Métricas executivas atualizadas em tempo real.

[Multiple Triggers] → [Data Aggregation] → [Real-time Dashboard API]

Agregação de Dados:

// Combinar múltiplas fontes em tempo real
const metrics = {
  vendas_hoje: await getHotmartData('sales', 'today'),
  assinaturas_ativas: await getHotmartData('subscriptions', 'active'),
  receita_mes: await getHotmartData('sales', 'current_month'),
  churn_rate: await calculateChurnRate(),
  ltv_medio: await calculateLTV(),
  conversion_rate: await calculateConversion()
};

// Atualizar dashboard via API
return [{ json: { dashboard_update: metrics } }];

🤖 Workflows com IA Avançada

10. 🧠 Assistente de Vendas IA

Objetivo: Responder perguntas complexas sobre vendas.

[Slack Command] → [Hotmart IA] → [Slack Response]

Exemplos de Comandos:

/vendas "Qual o melhor dia da semana para lançar produtos?"
/vendas "Compare performance dos afiliados este mês"
/vendas "Identifique padrões sazonais nas vendas"
/vendas "Sugira estratégias para aumentar ticket médio"

11. 📊 Previsão de Receita com IA

Objetivo: Prever receita dos próximos meses.

[Monthly Schedule] → [Hotmart: Historical Data] → [AI Forecasting] → [Executive Report]

Comando IA Preditiva:

"Baseado nos dados históricos de vendas dos últimos 12 meses,
analise tendências, sazonalidade e padrões de crescimento para 
prever a receita dos próximos 3 meses. Inclua cenários otimista, 
realista e pessimista, com fatores que podem influenciar cada cenário."

12. 🎯 Otimização Automática de Preços

Objetivo: Sugerir ajustes de preço baseados em dados.

[Weekly Schedule] → [Market Analysis] → [Hotmart Performance] → [AI Price Optimization]

Análise Multifatorial:

const factors = {
  sales_performance: await getProductPerformance(),
  market_competition: await getCompetitorPrices(),
  customer_feedback: await getCustomerSentiment(),
  seasonal_trends: await getSeasonalData(),
  conversion_rates: await getConversionMetrics()
};

const aiAnalysis = `
Analise estes fatores para cada produto:
${JSON.stringify(factors)}

Sugira ajustes de preço que maximizem receita considerando:
- Elasticidade de demanda
- Posicionamento competitivo  
- Valor percebido pelo cliente
- Impacto na conversão
- Margem de lucro otimizada
`;

🔧 Snippets Úteis

Formatação de Moeda Brasileira

function formatCurrency(value) {
  return new Intl.NumberFormat('pt-BR', {
    style: 'currency',
    currency: 'BRL'
  }).format(value / 100);
}

Cálculo de Período Dinâmico

function getPeriodDates(period) {
  const today = new Date();
  const periods = {
    'hoje': [today, today],
    'ontem': [new Date(today - 86400000), new Date(today - 86400000)],
    'ultimos_7_dias': [new Date(today - 7 * 86400000), today],
    'ultimos_30_dias': [new Date(today - 30 * 86400000), today],
    'mes_atual': [new Date(today.getFullYear(), today.getMonth(), 1), today]
  };
  
  return periods[period] || [today, today];
}

Rate Limit com Retry

async function hotmartRequest(config, retries = 3) {
  try {
    return await makeRequest(config);
  } catch (error) {
    if (error.status === 429 && retries > 0) {
      await new Promise(resolve => setTimeout(resolve, 60000)); // 1 min
      return hotmartRequest(config, retries - 1);
    }
    throw error;
  }
}

📋 Checklist de Workflow

Antes de colocar em produção:

  • ✅ Credenciais configuradas e testadas
  • ✅ Rate limiting implementado
  • ✅ Error handling configurado
  • ✅ Logs estruturados adicionados
  • ✅ Testado com dados reais
  • ✅ Monitoramento configurado
  • ✅ Backup/rollback planejado

💬 Compartilhe Seus Workflows

Criou um workflow útil? Compartilhe na comunidade!


💡 Dica: Adapte os exemplos às suas necessidades específicas. Todos os workflows foram testados com dados reais.