MAILCHIMP Lists Create - Criar Lista de Audiência
O que é este Node?
O Mailchimp Lists Create é o node responsável por criar uma nova lista de audiência no Mailchimp com todas as configurações necessárias (nome, contato da empresa, configurações padrão de campanha).
Por que este Node existe?
Listas são a base do email marketing no Mailchimp. Este node existe para:
- Automatizar criação de listas: Criar listas dinamicamente baseado em eventos
- Segmentação automática: Criar listas específicas para diferentes públicos
- Organização: Manter audiências organizadas por categoria/produto
- Compliance: Configurar listas com informações legais corretas
Como funciona internamente?
Quando o Lists Create é executado, o sistema:
- Valida configurações de API Key e server
- Monta objeto da lista com todas as informações necessárias
- Faz requisição POST para API do Mailchimp
/lists - Recebe ID da lista criada
- Salva resposta na variável especificada
- Continua o flow com o ID disponível
Código interno (mailchimp.executor.ts:53-80):
case 'create':
const listData = {
name: this.replaceVariables(data.listName || '', context.variables),
contact: {
company: this.replaceVariables(data.company || '', context.variables),
address1: this.replaceVariables(data.address || '', context.variables),
city: this.replaceVariables(data.city || '', context.variables),
state: this.replaceVariables(data.state || '', context.variables),
zip: this.replaceVariables(data.zip || '', context.variables),
country: this.replaceVariables(data.country || '', context.variables),
},
permission_reminder: this.replaceVariables(data.permissionReminder || 'You are receiving this email because you signed up.', context.variables),
campaign_defaults: {
from_name: this.replaceVariables(data.fromName || '', context.variables),
from_email: this.replaceVariables(data.fromEmail || '', context.variables),
subject: this.replaceVariables(data.subject || '', context.variables),
language: data.language || 'en',
},
email_type_option: data.emailTypeOption !== false,
};
const createResponse = await axios.post(`${baseUrl}/lists`, listData, {
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json',
},
});
return createResponse.data;
Quando você DEVE usar este Node?
Use Lists Create quando precisar criar listas dinamicamente:
Casos de uso:
- Nova categoria de produto: Criar lista específica para novo produto
- Evento especial: Lista temporária para evento/webinar
- Segmentação geográfica: Listas por região/cidade
- Idiomas diferentes: Lista por idioma do usuário
- Campanhas sazonais: Listas para Black Friday, Natal, etc.
Quando NÃO usar Lists Create:
- Listas fixas: Crie manualmente no Mailchimp (mais controle)
- Testes: Use lista de teste existente
- Única lista: Não precisa criar, use Members Add
Parâmetros Detalhados
listName (string, obrigatório)
O que é: Nome da lista que será exibido no Mailchimp.
Exemplo: "Newsletter Principal", "Clientes VIP", "Leads Black Friday 2025"
Flow completo para testar:
{
"name": "Teste Mailchimp Lists Create - Nome",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "mailchimp_1",
"type": "mailchimp",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Criar Lista",
"resource": "lists",
"operation": "create",
"config": {
"apiKey": "{{mailchimp_api_key}}",
"server": "{{mailchimp_server}}"
},
"listName": "Newsletter Teste Automático",
"company": "Minha Empresa",
"address": "Rua Teste, 123",
"city": "São Paulo",
"state": "SP",
"zip": "01000-000",
"country": "BR",
"permissionReminder": "Você está recebendo porque se inscreveu no site.",
"fromName": "Equipe Minha Empresa",
"fromEmail": "contato@minhaempresa.com",
"subject": "Novidades Semanais",
"responseVariable": "listResult"
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Confirmar",
"parameters": {
"message": "✅ Lista criada!\nID: {{listResult.id}}\nNome: {{listResult.name}}"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 700, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "mailchimp_1" },
{ "source": "mailchimp_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Teste: Execute o flow. Verifique no Mailchimp que a lista foi criada!
company (string, obrigatório)
O que é: Nome da empresa/organização que aparecerá nos emails.
Exemplo: "Lumina Tech", "E-commerce Brasil"
address, city, state, zip, country (string, obrigatório)
O que é: Endereço físico da empresa (exigido por leis anti-spam).
Importante: Estes campos são OBRIGATÓRIOS por leis como CAN-SPAM (EUA) e GDPR (Europa).
permissionReminder (string, opcional)
O que é: Lembrete de como o assinante entrou na lista.
Padrão: "You are receiving this email because you signed up."
Exemplos: - "Você está recebendo porque se inscreveu no site." - "Você solicitou receber nossas novidades." - "Você participou de nosso evento."
fromName (string, obrigatório)
O que é: Nome do remetente padrão dos emails.
Exemplo: "Equipe Lumina", "João da Marketing"
fromEmail (string, obrigatório)
O que é: Email remetente padrão (deve ser válido e verificado).
Exemplo: "contato@lumina.app.br", "newsletter@empresa.com"
Importante: Este email precisa estar verificado no Mailchimp!
subject (string, obrigatório)
O que é: Assunto padrão para campanhas desta lista.
Exemplo: "Novidades Semanais", "Ofertas Exclusivas"
language (string, opcional)
O que é: Idioma padrão dos emails.
Padrão: "en"
Valores: "pt", "en", "es", "fr", "de", etc.
emailTypeOption (boolean, opcional)
O que é: Permitir que assinantes escolham receber HTML ou texto.
Padrão: true
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| listName | string | Sim | Nome da lista |
| company | string | Sim | Nome da empresa |
| address | string | Sim | Endereço da empresa |
| city | string | Sim | Cidade |
| state | string | Sim | Estado/Província |
| zip | string | Sim | CEP/Código Postal |
| country | string | Sim | País (código ISO) |
| permissionReminder | string | Não | Lembrete de opt-in |
| fromName | string | Sim | Nome do remetente |
| fromEmail | string | Sim | Email do remetente |
| subject | string | Sim | Assunto padrão |
| language | string | Não | Idioma (padrão: "en") |
| emailTypeOption | boolean | Não | Permitir escolha HTML/texto (padrão: true) |
Exemplo 1: Criar Lista para Newsletter
Objetivo: Criar lista de newsletter automaticamente quando novo produto é lançado.
JSON para Importar
{
"name": "Criar Lista Newsletter Produto",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "variable_1",
"type": "variable",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Definir Produto",
"parameters": {
"variable": "produto_nome",
"value": "Curso de Marketing Digital"
}
}
},
{
"id": "mailchimp_1",
"type": "mailchimp",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Criar Lista",
"resource": "lists",
"operation": "create",
"config": {
"apiKey": "{{mailchimp_api_key}}",
"server": "{{mailchimp_server}}"
},
"listName": "Newsletter - {{produto_nome}}",
"company": "Lumina Educação",
"address": "Av. Paulista, 1000",
"city": "São Paulo",
"state": "SP",
"zip": "01310-100",
"country": "BR",
"permissionReminder": "Você se inscreveu para receber informações sobre {{produto_nome}}",
"fromName": "Equipe Lumina",
"fromEmail": "cursos@lumina.com.br",
"subject": "Novidades sobre {{produto_nome}}",
"language": "pt",
"responseVariable": "novaLista"
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Sucesso",
"parameters": {
"message": "🎉 Lista criada com sucesso!\n\n📋 Nome: {{novaLista.name}}\n🆔 ID: {{novaLista.id}}\n👥 Link de inscrição: {{novaLista.subscribe_url_short}}"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 900, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "variable_1" },
{ "source": "variable_1", "target": "mailchimp_1" },
{ "source": "mailchimp_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Saída esperada:
Sistema: 🎉 Lista criada com sucesso!
📋 Nome: Newsletter - Curso de Marketing Digital
🆔 ID: abc123def456
👥 Link de inscrição: http://eepurl.com/xyz
Exemplo 2: Lista por Região Geográfica
Objetivo: Criar listas específicas por estado para campanhas regionais.
JSON para Importar
{
"name": "Criar Lista por Estado",
"nodes": [
{
"id": "start_1",
"type": "start",
"position": { "x": 100, "y": 100 },
"data": { "label": "Início" }
},
{
"id": "input_1",
"type": "input",
"position": { "x": 300, "y": 100 },
"data": {
"label": "Pedir Estado",
"parameters": {
"message": "Digite o estado (SP, RJ, MG, etc):",
"variable": "estado"
}
}
},
{
"id": "mailchimp_1",
"type": "mailchimp",
"position": { "x": 500, "y": 100 },
"data": {
"label": "Criar Lista Regional",
"resource": "lists",
"operation": "create",
"config": {
"apiKey": "{{mailchimp_api_key}}",
"server": "{{mailchimp_server}}"
},
"listName": "Clientes {{estado}} - 2025",
"company": "Rede Nacional Varejo",
"address": "Rua Principal, 500",
"city": "São Paulo",
"state": "{{estado}}",
"zip": "00000-000",
"country": "BR",
"permissionReminder": "Você é cliente da região {{estado}} e optou por receber ofertas regionais",
"fromName": "Ofertas {{estado}}",
"fromEmail": "regional@empresa.com.br",
"subject": "Ofertas Exclusivas para {{estado}}",
"language": "pt",
"responseVariable": "listaRegional"
}
},
{
"id": "message_1",
"type": "message",
"position": { "x": 700, "y": 100 },
"data": {
"label": "Confirmação",
"parameters": {
"message": "✅ Lista regional criada para {{estado}}!\n\nID da lista: {{listaRegional.id}}"
}
}
},
{
"id": "end_1",
"type": "end",
"position": { "x": 900, "y": 100 },
"data": { "label": "Fim" }
}
],
"edges": [
{ "source": "start_1", "target": "input_1" },
{ "source": "input_1", "target": "mailchimp_1" },
{ "source": "mailchimp_1", "target": "message_1" },
{ "source": "message_1", "target": "end_1" }
]
}
Saída esperada:
Sistema: Digite o estado (SP, RJ, MG, etc):
Usuário: SP
Sistema: ✅ Lista regional criada para SP!
ID da lista: abc123def456
Resposta do Node
{
"id": "abc123def456",
"web_id": 123456,
"name": "Newsletter Teste Automático",
"contact": {
"company": "Minha Empresa",
"address1": "Rua Teste, 123",
"city": "São Paulo",
"state": "SP",
"zip": "01000-000",
"country": "BR"
},
"permission_reminder": "Você está recebendo porque se inscreveu no site.",
"campaign_defaults": {
"from_name": "Equipe Minha Empresa",
"from_email": "contato@minhaempresa.com",
"subject": "Novidades Semanais",
"language": "pt"
},
"email_type_option": true,
"subscribe_url_short": "http://eepurl.com/xyz",
"subscribe_url_long": "https://minhaempresa.us1.list-manage.com/subscribe?u=...",
"date_created": "2025-10-13T10:00:00+00:00",
"list_rating": 0,
"stats": {
"member_count": 0,
"unsubscribe_count": 0,
"cleaned_count": 0
}
}
Boas Práticas
✅ SIM: - Use nomes descritivos para as listas - Configure endereço real da empresa (exigido por lei) - Use email verificado no fromEmail - Defina permissionReminder claro - Use language correto para o público - Salve o ID da lista criada para uso posterior
❌ NÃO: - Não use endereços falsos (ilegal) - Não use emails não verificados - Não crie listas duplicadas - Não ignore campos obrigatórios - Não exponha API Keys no código
Dicas
💡 Nomenclatura: Use padrão consistente "Tipo - Detalhes - Ano" 💡 Verificação de Email: Configure SPF/DKIM antes de enviar 💡 Teste: Sempre teste com lista pequena primeiro 💡 Documentação: Anote o List ID para usar em outros nodes 💡 Compliance: Revise leis locais de email marketing (LGPD, CAN-SPAM, GDPR)
Próximos Passos
→ Lists Get - Buscar detalhes da lista criada → Members Add - Adicionar assinantes à nova lista → Lists List - Listar todas as listas