Workflows Avancados
Conceituacao
Este guia apresenta cenarios avancados de integracao entre N8N e Ogmma API. Cada exemplo e um workflow completo e pronto para producao, cobrindo casos de uso reais como envio em massa, notificacoes de e-commerce, chatbot com IA e sincronizacao de contatos.
Todos os workflows abaixo assumem que voce ja configurou a autenticacao no N8N. Para workflows com webhook, veja tambem Receber Webhooks.
1. Envio em Massa via Google Sheets
Caso de Uso
Voce tem uma planilha do Google Sheets com uma lista de contatos e quer enviar uma mensagem personalizada para cada um, com intervalo entre envios para respeitar rate limits.
Estrutura da Planilha
| nome | telefone | mensagem |
|---|---|---|
| Joao Silva | 5511999999999 | Seu pedido #123 foi enviado |
| Maria Santos | 5521988888888 | Seu pedido #456 foi enviado |
| Pedro Costa | 5531977777777 | Seu pedido #789 foi enviado |
Arquitetura
[Schedule Trigger: diario 9h]
→ [Google Sheets: ler contatos]
→ [Loop Over Items]
→ [HTTP Request: enviar mensagem]
→ [Wait: 3 segundos]
Configuracao
Schedule Trigger
| Campo | Valor |
|---|---|
| Trigger Times | Cron |
| Cron Expression | 0 9 * * * (diariamente as 9h) |
Google Sheets Node
| Campo | Valor |
|---|---|
| Operation | Read Rows |
| Document | Selecione sua planilha |
| Sheet | Contatos |
HTTP Request Node (dentro do Loop)
| Campo | Valor |
|---|---|
| Method | POST |
| URL | https://oapi.ogmma.com.br/v1/channels/SEU_CHANNEL_ID/messages/text |
| Authentication | Header Auth → Ogmma API |
Body:
{
"to": "={{ $json.telefone }}",
"text": "Ola {{ $json.nome }}! {{ $json.mensagem }}"
}
Wait Node
| Campo | Valor |
|---|---|
| Amount | 3 |
| Unit | Seconds |
O intervalo de 3 segundos entre mensagens evita atingir o rate limit da API e tambem reduz o risco de bloqueio pelo WhatsApp. Para campanhas maiores, considere usar o endpoint de Envio em Massa da Ogmma API, que gerencia o intervalo automaticamente.
Workflow Pronto
Baixar bulk-google-sheets.json
2. Notificacao de Pedido (E-commerce)
Caso de Uso
Quando um novo pedido e criado na sua loja (Shopify, WooCommerce, ou qualquer sistema que envie webhooks), o cliente recebe uma confirmacao automatica via WhatsApp.
Arquitetura
[Webhook: novo pedido]
→ [Set: extrair dados do pedido]
→ [HTTP Request: enviar confirmacao via Ogmma]
Configuracao
Webhook Node
Configure o webhook na sua plataforma de e-commerce para enviar eventos de novo pedido para a URL do N8N.
| Campo | Valor |
|---|---|
| HTTP Method | POST |
| Path | novo-pedido |
Set Node
Mapeie os campos do payload do e-commerce para os campos da Ogmma API:
{
"telefone": "={{ $json.customer.phone }}",
"nome": "={{ $json.customer.name }}",
"numeroPedido": "={{ $json.order.number }}",
"total": "={{ $json.order.total }}",
"itens": "={{ $json.order.items.map(i => i.name).join(', ') }}"
}
HTTP Request Node
Body:
{
"to": "={{ $json.telefone }}",
"text": "Ola {{ $json.nome }}! ✅\n\nSeu pedido #{{ $json.numeroPedido }} foi confirmado!\n\nItens: {{ $json.itens }}\nTotal: R$ {{ $json.total }}\n\nVoce recebera atualizacoes sobre o envio aqui mesmo.\n\nObrigado pela compra!"
}
Variacoes
Atualizar status de envio:
[Webhook: pedido enviado] → [Set] → [HTTP Request: "Seu pedido foi enviado! Rastreio: ..."]
Confirmar pagamento:
[Webhook: pagamento aprovado] → [Set] → [HTTP Request: "Pagamento confirmado!"]
3. Chatbot com IA (OpenAI GPT)
Caso de Uso
Receber mensagens de clientes e gerar respostas inteligentes usando o GPT da OpenAI. O chatbot funciona como um atendente virtual capaz de responder perguntas complexas.
Arquitetura
[Webhook: message.received]
→ [Set: extrair dados]
→ [HTTP Request: OpenAI Chat Completions]
→ [HTTP Request: enviar resposta via Ogmma]
Configuracao
Webhook + Set Nodes
Mesma configuracao do workflow de auto-resposta.
HTTP Request Node (OpenAI)
| Campo | Valor |
|---|---|
| Method | POST |
| URL | https://api.openai.com/v1/chat/completions |
| Authentication | Header Auth → Credential OpenAI (Authorization: Bearer sk-...) |
Body:
{
"model": "gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "Voce e um assistente virtual de atendimento ao cliente da empresa XYZ. Responda de forma educada, concisa e em portugues. Se nao souber a resposta, oriente o cliente a entrar em contato com um atendente humano. Limite suas respostas a no maximo 500 caracteres."
},
{
"role": "user",
"content": "={{ $('Set').item.json.text }}"
}
],
"max_tokens": 200,
"temperature": 0.7
}
HTTP Request Node (Ogmma - Enviar Resposta)
Body:
{
"to": "={{ $('Set').item.json.from }}",
"text": "={{ $json.choices[0].message.content }}"
}
Dicas
- System prompt -- personalize o prompt com informacoes sobre sua empresa, produtos, horarios, politicas
- Limite de tokens -- use
max_tokenspara controlar o tamanho da resposta (mensagens WhatsApp longas sao cortadas) - Temperatura -- use
0.7para respostas criativas,0.3para respostas mais precisas e conservadoras - Fallback -- adicione um IF node para verificar se a IA nao soube responder e encaminhar para atendente humano
Cada mensagem processada pela OpenAI tem um custo. Para cenarios de alto volume, considere usar modelos mais baratos (gpt-4o-mini) ou implementar cache de respostas para perguntas frequentes.
Workflow Pronto
4. Sincronizar Contatos (CRM → Ogmma)
Caso de Uso
Quando um novo lead e criado no seu CRM (Pipedrive, HubSpot, Salesforce, ou qualquer sistema), o contato e criado automaticamente na Ogmma para facilitar o atendimento futuro.
Arquitetura
[Webhook: novo lead no CRM]
→ [Set: mapear campos]
→ [HTTP Request: POST /api/contacts]
Configuracao
Webhook Node
Configure o webhook no seu CRM para notificar o N8N sobre novos leads.
Set Node
Mapeie os campos do CRM para os campos da Ogmma API:
{
"name": "={{ $json.lead.name }}",
"phone": "={{ $json.lead.phone }}",
"email": "={{ $json.lead.email }}",
"notes": "Lead criado via {{ $json.lead.source }} em {{ $json.lead.created_at }}"
}
HTTP Request Node
| Campo | Valor |
|---|---|
| Method | POST |
| URL | https://oapi.ogmma.com.br/v1/contacts |
| Authentication | Header Auth → Ogmma API |
Body:
{
"name": "={{ $json.name }}",
"phone": "={{ $json.phone }}",
"email": "={{ $json.email }}"
}
Variacao: Sincronizacao Bidirecional
Combine com o evento contact.created da Ogmma para sincronizar contatos de volta para o CRM:
[Webhook Ogmma: contact.created]
→ [Set: mapear campos]
→ [HTTP Request: POST no CRM - criar lead]
Boas Praticas para Workflows em Producao
1. Tratamento de Erros
Ative Settings → Continue on Fail nos HTTP Request nodes e adicione um branch de erro:
[HTTP Request] → [IF: erro?]
→ Sim: [Enviar notificacao para admin] ou [Gravar em log]
→ Nao: [Continuar workflow]
2. Variaveis de Ambiente
No N8N self-hosted, use variaveis de ambiente para valores fixos:
| Variavel | Uso |
|---|---|
OGMMA_CHANNEL_ID | ID do canal principal |
OGMMA_API_URL | https://oapi.ogmma.com.br/v1 |
No N8N, acesse via {{ $env.OGMMA_CHANNEL_ID }}.
3. Rate Limiting
Para workflows que enviam muitas mensagens, adicione Wait nodes:
| Volume | Intervalo Recomendado |
|---|---|
| Ate 10 mensagens | 1 segundo |
| 10-100 mensagens | 3 segundos |
| 100+ mensagens | Use Envio em Massa |
4. Monitoramento
- Ative Error Workflow no N8N para ser notificado quando workflows falham
- Use os Logs de Webhook da Ogmma para verificar entregas
- Monitore o dashboard de execucoes do N8N periodicamente
5. Seguranca
- Valide a assinatura HMAC em todos os webhooks de producao (ver como)
- Use API Keys com permissoes minimas
- Nao exponha URLs de webhook publicamente sem protecao