Pular para conteúdo

TRELLO_CREATE_CARD - Criar Card no Trello

O que é este Node?

O TRELLO_CREATE_CARD é o node responsável por criar novos cards (cartões) em uma lista específica do Trello, com suporte completo para nome, descrição, data de vencimento, membros e etiquetas.

Por que este Node existe?

Gerenciar projetos e tarefas manualmente no Trello é ineficiente quando você precisa automatizar a criação de cards a partir de formulários, conversas do WhatsApp ou outros sistemas. O TRELLO_CREATE_CARD existe para:

  1. Automatizar Criação de Tarefas: Transformar mensagens do WhatsApp em cards automaticamente
  2. Integração com CRM: Criar cards quando novos leads chegam ou tickets são abertos
  3. Gestão de Projetos: Automatizar fluxo de trabalho criando cards em diferentes estágios
  4. Captura de Solicitações: Transformar formulários e inputs em cards rastreáveis

Como funciona internamente?

Quando o TRELLO_CREATE_CARD é executado, o sistema:

  1. Valida Credenciais: Verifica API Key e Token do Trello
  2. Prepara Dados: Organiza nome, descrição, due date, membros e labels
  3. Faz Requisição: POST para https://api.trello.com/1/cards com autenticação
  4. Cria Card: Trello cria o card na lista especificada (idList)
  5. Se erro: Retorna mensagem de erro (lista não existe, credenciais inválidas, etc.)
  6. Se sucesso: Retorna ID do card criado e URL direta para acesso

Código interno (productivity-executors.service.ts:554-571):

case 'createCard':
  const createCardResponse = await firstValueFrom(
    this.httpService.post(`${trelloApiUrl}/cards${auth}`,
      {
        idList: data.listId,
        name: data.cardName,
        desc: data.description,
        due: data.dueDate,
        idMembers: data.memberIds || [],
        idLabels: data.labelIds || [],
      }
    )
  );
  return {
    success: true,
    cardId: createCardResponse.data.id,
    url: createCardResponse.data.url,
  };

Quando você DEVE usar este Node?

Use TRELLO_CREATE_CARD sempre que precisar de automação na criação de tarefas no Trello:

Casos de uso

  1. Atendimento ao Cliente: "Cliente reportou um problema" → Cria card automaticamente na lista "Suporte"
  2. Captura de Leads: "Novo lead do formulário" → Cria card na lista "Novos Leads" com informações do contato
  3. Gestão de Projetos: "Nova funcionalidade solicitada" → Cria card na lista "Backlog" com descrição completa
  4. Automação de Processos: "Pagamento aprovado" → Cria card na lista "Processamento" com dados da transação

Quando NÃO usar TRELLO_CREATE_CARD

  • Atualizar Card Existente: Use TRELLO_UPDATE_CARD ao invés
  • Mover Card Entre Listas: Use TRELLO_MOVE_CARD ao invés
  • Adicionar Comentário: Use TRELLO_ADD_COMMENT ao invés

Parâmetros Detalhados

apiKey (string, obrigatório)

O que é: Chave de API do Trello para autenticação.

Como obter:

  1. Acesse https://trello.com/app-key
  2. Copie sua "API Key"
  3. Guarde em local seguro (não compartilhe publicamente)

Flow completo para testar:

{
  "name": "Teste Trello - API Key",
  "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": "Coletar API Key",
        "parameters": {
          "message": "Digite sua API Key do Trello:",
          "variableName": "trello_api_key"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "API Key configurada: {{trello_api_key}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite sua API Key do Trello. O sistema confirmará que foi armazenada na variável.

apiToken (string, obrigatório)

O que é: Token de autenticação do Trello que autoriza operações na sua conta.

Como obter:

  1. Acesse https://trello.com/app-key
  2. Role até "Token" e clique em "generate a Token"
  3. Autorize o acesso
  4. Copie o token gerado
  5. IMPORTANTE: Este token dá acesso total à sua conta. Nunca compartilhe!

Padrão: Nenhum (obrigatório fornecer)

Flow completo para testar:

{
  "name": "Teste Trello - API Token",
  "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": "Coletar Token",
        "parameters": {
          "message": "Digite seu Token do Trello:",
          "variableName": "trello_token"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Token configurado com sucesso!"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite seu Token. O sistema confirmará que foi armazenado com segurança.

listId (string, obrigatório)

O que é: ID da lista do Trello onde o card será criado.

Como obter o List ID:

  1. Abra seu board no Trello
  2. Clique em uma lista
  3. Clique em "..." (menu da lista) → "Copiar link da lista"
  4. O ID está na URL: https://trello.com/b/BOARD_ID/list/LIST_ID
  5. Ou use a API: GET https://api.trello.com/1/boards/BOARD_ID/lists?key=KEY&token=TOKEN

Flow completo para testar:

{
  "name": "Teste Trello - List ID",
  "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": "Coletar List ID",
        "parameters": {
          "message": "Digite o ID da lista do Trello:",
          "variableName": "list_id"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Card será criado na lista: {{list_id}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite um List ID válido. O sistema confirmará onde o card será criado.

cardName (string, obrigatório)

O que é: Nome/título do card que será criado no Trello.

Padrão: Nenhum (obrigatório fornecer)

Flow completo para testar:

{
  "name": "Teste Trello - Card Name",
  "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": "Coletar Nome",
        "parameters": {
          "message": "Digite o nome do card:",
          "variableName": "card_name"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Card será criado com o nome: {{card_name}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite "Implementar nova feature". O sistema confirmará o nome do card.

description (string, opcional)

O que é: Descrição detalhada do card. Suporta Markdown para formatação.

Padrão: "" (vazio)

Markdown suportado:

  • **negrito**, *itálico*
  • # Títulos
  • - Listas
  • [Links](url)
  • Código com `backticks`

Flow completo para testar:

{
  "name": "Teste Trello - Description",
  "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": "Coletar Descrição",
        "parameters": {
          "message": "Digite a descrição do card:",
          "variableName": "description"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Descrição:\n{{description}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite uma descrição detalhada. O sistema mostrará como ficará no card.

dueDate (string, opcional)

O que é: Data de vencimento do card no formato ISO 8601.

Padrão: null (sem data de vencimento)

Formato: "2025-01-31T23:59:59.000Z" ou "2025-01-31"

Flow completo para testar:

{
  "name": "Teste Trello - Due Date",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "date_1",
      "type": "date",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Coletar Data",
        "parameters": {
          "message": "Digite a data de vencimento:",
          "variableName": "due_date",
          "format": "DD/MM/YYYY"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Card vence em: {{due_date}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "date_1" },
    { "source": "date_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite "31/01/2025". O sistema confirmará a data de vencimento.

memberIds (array, opcional)

O que é: Array com IDs dos membros do Trello que serão atribuídos ao card.

Padrão: [] (sem membros)

Como obter Member IDs:

  1. Use a API: GET https://api.trello.com/1/boards/BOARD_ID/members?key=KEY&token=TOKEN
  2. Ou pegue do perfil: clique no membro → URL tem o ID

Flow completo para testar:

{
  "name": "Teste Trello - Members",
  "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": "Coletar Member IDs",
        "parameters": {
          "message": "Digite IDs dos membros (separados por vírgula):",
          "variableName": "member_ids"
        }
      }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Converter Array",
        "parameters": {
          "variableName": "members_array",
          "value": "{{member_ids}}.split(',')"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Card será atribuído aos membros: {{members_array}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 900, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "variable_1" },
    { "source": "variable_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite IDs separados por vírgula. O sistema criará array e confirmará.

labelIds (array, opcional)

O que é: Array com IDs das etiquetas (labels) que serão aplicadas ao card.

Padrão: [] (sem etiquetas)

Como obter Label IDs:

  1. Use a API: GET https://api.trello.com/1/boards/BOARD_ID/labels?key=KEY&token=TOKEN
  2. Labels comuns: vermelho (urgente), amarelo (aviso), verde (aprovado), azul (info)

Flow completo para testar:

{
  "name": "Teste Trello - Labels",
  "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": "Coletar Label IDs",
        "parameters": {
          "message": "Digite IDs das labels (separados por vírgula):",
          "variableName": "label_ids"
        }
      }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "Card terá as labels: {{label_ids}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 700, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "input_1" },
    { "source": "input_1", "target": "message_1" },
    { "source": "message_1", "target": "end_1" }
  ]
}

Teste: Digite IDs de labels. O sistema confirmará quais etiquetas serão aplicadas.

Parâmetros

Campo Tipo Obrigatório Descrição
operation string Sim Sempre "createCard"
apiKey string Sim API Key do Trello
apiToken string Sim Token de autenticação
listId string Sim ID da lista onde criar o card
cardName string Sim Nome/título do card
description string Não Descrição (suporta Markdown)
dueDate string Não Data de vencimento (ISO 8601)
memberIds array Não IDs dos membros atribuídos
labelIds array Não IDs das etiquetas aplicadas

Exemplo 1: Criar Card de Suporte a partir do WhatsApp

Objetivo: Automatizar criação de tickets de suporte quando cliente reporta problema no WhatsApp

JSON para Importar

{
  "name": "Suporte Trello - Criar Ticket",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Boas-vindas",
        "parameters": {
          "message": "Olá! Vou criar um ticket de suporte para você.\n\nQual é o problema?"
        }
      }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Descrever Problema",
        "parameters": {
          "message": "Descreva o problema em detalhes:",
          "variableName": "problema"
        }
      }
    },
    {
      "id": "trello_1",
      "type": "trello_create_card",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Criar Card Trello",
        "parameters": {
          "operation": "createCard",
          "apiKey": "sua_api_key_aqui",
          "apiToken": "seu_token_aqui",
          "listId": "id_lista_suporte",
          "cardName": "Suporte - {{contact_name}}",
          "description": "**Cliente:** {{contact_phone}}\n**Problema:** {{problema}}\n**Data:** {{timestamp}}",
          "labelIds": ["id_label_urgente"]
        }
      }
    },
    {
      "id": "message_2",
      "type": "message",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Confirmar",
        "parameters": {
          "message": "✅ Ticket criado com sucesso!\n\n🎫 Número: {{cardId}}\n🔗 Link: {{url}}\n\nNossa equipe entrará em contato em breve."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1100, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "message_1" },
    { "source": "message_1", "target": "input_1" },
    { "source": "input_1", "target": "trello_1" },
    { "source": "trello_1", "target": "message_2" },
    { "source": "message_2", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: Olá! Vou criar um ticket de suporte para você. Qual é o problema?
Usuário: Meu aplicativo não está abrindo
Sistema: Descreva o problema em detalhes:
Usuário: Quando clico no ícone, ele fecha imediatamente
Sistema: ✅ Ticket criado com sucesso!

🎫 Número: 507f1f77bcf86cd799439011
🔗 Link: https://trello.com/c/abc123

Nossa equipe entrará em contato em breve.

Exemplo 2: Captura de Leads com Qualificação

Objetivo: Criar card no Trello para cada lead capturado, com informações de qualificação

JSON para Importar

{
  "name": "Captura de Leads - Trello",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 250, "y": 100 },
      "data": {
        "label": "Boas-vindas",
        "parameters": {
          "message": "Olá! Vamos qualificar seu interesse em nosso produto."
        }
      }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 400, "y": 100 },
      "data": {
        "label": "Nome",
        "parameters": {
          "message": "Qual é o seu nome?",
          "variableName": "nome"
        }
      }
    },
    {
      "id": "email_1",
      "type": "email",
      "position": { "x": 550, "y": 100 },
      "data": {
        "label": "Email",
        "parameters": {
          "message": "Qual é o seu email?",
          "variableName": "email"
        }
      }
    },
    {
      "id": "input_2",
      "type": "input",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Empresa",
        "parameters": {
          "message": "Qual é a sua empresa?",
          "variableName": "empresa"
        }
      }
    },
    {
      "id": "number_1",
      "type": "number",
      "position": { "x": 850, "y": 100 },
      "data": {
        "label": "Funcionários",
        "parameters": {
          "message": "Quantos funcionários?",
          "variableName": "funcionarios",
          "min": 1,
          "max": 100000
        }
      }
    },
    {
      "id": "variable_1",
      "type": "variable",
      "position": { "x": 1000, "y": 100 },
      "data": {
        "label": "Qualificar",
        "parameters": {
          "variableName": "qualificacao",
          "value": "{{funcionarios}} > 50 ? 'Empresa Grande' : 'Empresa Pequena'"
        }
      }
    },
    {
      "id": "trello_1",
      "type": "trello_create_card",
      "position": { "x": 1150, "y": 100 },
      "data": {
        "label": "Criar Lead Trello",
        "parameters": {
          "operation": "createCard",
          "apiKey": "sua_api_key_aqui",
          "apiToken": "seu_token_aqui",
          "listId": "id_lista_novos_leads",
          "cardName": "Lead: {{nome}} - {{empresa}}",
          "description": "**Nome:** {{nome}}\n**Email:** {{email}}\n**Empresa:** {{empresa}}\n**Funcionários:** {{funcionarios}}\n**Qualificação:** {{qualificacao}}\n**Telefone:** {{contact_phone}}\n**Origem:** WhatsApp\n**Data:** {{timestamp}}",
          "labelIds": ["id_label_novo_lead"],
          "memberIds": ["id_vendedor_responsavel"]
        }
      }
    },
    {
      "id": "message_2",
      "type": "message",
      "position": { "x": 1300, "y": 100 },
      "data": {
        "label": "Obrigado",
        "parameters": {
          "message": "✅ Obrigado {{nome}}!\n\nSuas informações foram registradas.\n\nNosso time comercial entrará em contato em até 24 horas."
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1450, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "message_1" },
    { "source": "message_1", "target": "input_1" },
    { "source": "input_1", "target": "email_1" },
    { "source": "email_1", "target": "input_2" },
    { "source": "input_2", "target": "number_1" },
    { "source": "number_1", "target": "variable_1" },
    { "source": "variable_1", "target": "trello_1" },
    { "source": "trello_1", "target": "message_2" },
    { "source": "message_2", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: Olá! Vamos qualificar seu interesse em nosso produto.
Sistema: Qual é o seu nome?
Usuário: João Silva
Sistema: Qual é o seu email?
Usuário: joao@empresa.com
Sistema: Qual é a sua empresa?
Usuário: TechCorp
Sistema: Quantos funcionários?
Usuário: 150
Sistema: ✅ Obrigado João Silva!

Suas informações foram registradas.

Nosso time comercial entrará em contato em até 24 horas.

Exemplo 3: Gestão de Tarefas com Prazo

Objetivo: Criar card com data de vencimento para gestão de projetos

JSON para Importar

{
  "name": "Criar Tarefa com Prazo - Trello",
  "nodes": [
    {
      "id": "start_1",
      "type": "start",
      "position": { "x": 100, "y": 100 },
      "data": { "label": "Início" }
    },
    {
      "id": "message_1",
      "type": "message",
      "position": { "x": 300, "y": 100 },
      "data": {
        "label": "Início",
        "parameters": {
          "message": "Vamos criar uma nova tarefa no projeto."
        }
      }
    },
    {
      "id": "input_1",
      "type": "input",
      "position": { "x": 500, "y": 100 },
      "data": {
        "label": "Título",
        "parameters": {
          "message": "Qual é o título da tarefa?",
          "variableName": "titulo"
        }
      }
    },
    {
      "id": "input_2",
      "type": "input",
      "position": { "x": 700, "y": 100 },
      "data": {
        "label": "Descrição",
        "parameters": {
          "message": "Descreva a tarefa:",
          "variableName": "descricao"
        }
      }
    },
    {
      "id": "date_1",
      "type": "date",
      "position": { "x": 900, "y": 100 },
      "data": {
        "label": "Prazo",
        "parameters": {
          "message": "Qual é o prazo? (DD/MM/YYYY)",
          "variableName": "prazo",
          "format": "DD/MM/YYYY"
        }
      }
    },
    {
      "id": "trello_1",
      "type": "trello_create_card",
      "position": { "x": 1100, "y": 100 },
      "data": {
        "label": "Criar no Trello",
        "parameters": {
          "operation": "createCard",
          "apiKey": "sua_api_key_aqui",
          "apiToken": "seu_token_aqui",
          "listId": "id_lista_todo",
          "cardName": "{{titulo}}",
          "description": "{{descricao}}\n\n---\n**Criado por:** {{contact_name}}\n**Data criação:** {{timestamp}}",
          "dueDate": "{{prazo}}",
          "labelIds": ["id_label_projeto"]
        }
      }
    },
    {
      "id": "message_2",
      "type": "message",
      "position": { "x": 1300, "y": 100 },
      "data": {
        "label": "Sucesso",
        "parameters": {
          "message": "✅ Tarefa criada!\n\n📋 {{titulo}}\n📅 Prazo: {{prazo}}\n🔗 {{url}}"
        }
      }
    },
    {
      "id": "end_1",
      "type": "end",
      "position": { "x": 1500, "y": 100 },
      "data": { "label": "Fim" }
    }
  ],
  "edges": [
    { "source": "start_1", "target": "message_1" },
    { "source": "message_1", "target": "input_1" },
    { "source": "input_1", "target": "input_2" },
    { "source": "input_2", "target": "date_1" },
    { "source": "date_1", "target": "trello_1" },
    { "source": "trello_1", "target": "message_2" },
    { "source": "message_2", "target": "end_1" }
  ]
}

Saída esperada:

Sistema: Vamos criar uma nova tarefa no projeto.
Sistema: Qual é o título da tarefa?
Usuário: Implementar autenticação OAuth
Sistema: Descreva a tarefa:
Usuário: Adicionar login com Google e Facebook
Sistema: Qual é o prazo? (DD/MM/YYYY)
Usuário: 15/02/2025
Sistema: ✅ Tarefa criada!

📋 Implementar autenticação OAuth
📅 Prazo: 15/02/2025
🔗 https://trello.com/c/xyz789

Resposta do Node

{
  "success": true,
  "cardId": "507f1f77bcf86cd799439011",
  "url": "https://trello.com/c/abc123/nome-do-card"
}

Boas Práticas

SIM:

  • Use nomes descritivos para os cards (inclua contexto: "Bug - Login falha em iOS")
  • Adicione descrições detalhadas com informações relevantes
  • Use labels para categorizar (urgente, bug, feature, melhoria)
  • Atribua membros responsáveis desde a criação
  • Defina prazos realistas para tasks importantes
  • Capture informações de contexto (telefone, email, nome do cliente)
  • Use markdown na descrição para melhor formatação

NÃO:

  • Não crie cards sem nome ou com títulos genéricos ("Tarefa", "Item")
  • Não omita descrição em cards complexos
  • Não esqueça de validar List ID (card vai para lugar errado)
  • Não exponha API Key e Token em logs ou mensagens de usuário
  • Não use labels aleatórias (crie padrão de categorização)
  • Não crie dezenas de cards sem organização (use listas adequadas)

Dicas

💡 Automação Inteligente: Combine com CONDITION para criar cards apenas quando critérios forem atendidos (ex: lead qualificado, valor > R$1000)

💡 Webhooks Trello: Configure webhooks no Trello para receber notificações quando cards são movidos, comentados ou concluídos, criando automações bidirecionais

💡 Templates de Cards: Crie variáveis com templates de descrição padrão para diferentes tipos de cards (suporte, vendas, bugs, features)

💡 IDs Dinâmicos: Use variáveis para labels e members, permitindo que o flow decida dinamicamente quem atribuir baseado em regras (horário, disponibilidade, especialidade)

💡 Integração com CRM: Crie cards no Trello quando leads chegam em outras plataformas (Salesforce, HubSpot, RD Station) para centralizar gestão

💡 Priorização Automática: Use labels de prioridade baseadas em regras (valor do negócio, SLA, tipo de cliente)

Próximo Node

TRELLO_UPDATE_CARD - Atualizar cards existentes → TRELLO_MOVE_CARD - Mover cards entre listas → TRELLO_ADD_COMMENT - Adicionar comentários aos cards