agendamento-saas

n8n node for Agendamento SaaS - WhatsApp scheduling system with AI

Package Information

Downloads: 0 weekly / 117 monthly
Latest Version: 1.0.1
Author: upazambuja

Documentation

n8n-nodes-agendamento-saas

n8n.io - Workflow Automation

Nó personalizado para n8n que integra com o sistema Agendamento SaaS - uma plataforma completa de agendamento com WhatsApp e IA.

🚀 Funcionalidades

📅 Agendamentos

  • Criar novos agendamentos
  • Buscar agendamentos por ID
  • Listar todos os agendamentos
  • Atualizar status de agendamentos
  • Reagendar agendamentos existentes
  • Cancelar agendamentos (soft delete)
  • Excluir agendamentos permanentemente
  • Buscar horários disponíveis por período

💼 Serviços

  • Listar todos os serviços
  • Buscar serviço por ID
  • Criar novos serviços
  • Atualizar serviços existentes
  • Excluir serviços (soft delete)

⏰ Horários

  • Buscar horários disponíveis por data
  • Verificar disponibilidade específica (data + hora)
  • Listar configuração de horários de funcionamento
  • Validação automática de conflitos

📱 WhatsApp

  • ✅ Enviar mensagens de texto
  • ✅ Enviar áudios (text-to-speech)
  • ✅ Verificar status da instância
  • ✅ Integração nativa com Baileys

🤖 Inteligência Artificial

  • ✅ Processar mensagens com IA
  • ✅ Gerar respostas personalizadas
  • ✅ Suporte a Groq, Mistral e OpenAI
  • ✅ Análise de linguagem natural

📦 Instalação

Via npm (Recomendado)

npm install n8n-nodes-agendamento-saas

Via n8n Community Nodes

  1. Abra seu n8n
  2. Vá em SettingsCommunity Nodes
  3. Clique em Install
  4. Digite: n8n-nodes-agendamento-saas
  5. Clique em Install

⚙️ Configuração

1. Credenciais

Antes de usar o nó, configure suas credenciais:

  1. API URL: URL base do seu sistema (ex: https://seu-dominio.com)
  2. API Key: Chave de API para autenticação
  3. Empresa ID: ID da sua empresa no sistema

2. Endpoints da API

Certifique-se de que sua API tenha os seguintes endpoints:

# Teste de conexão
GET  /api/test-connection

# Agendamentos
POST /api/agendamentos                    # Criar agendamento
GET  /api/agendamentos                    # Listar agendamentos
GET  /api/agendamentos/{id}               # Buscar agendamento
PUT  /api/agendamentos/{id}               # Atualizar agendamento
PUT  /api/agendamentos/{id}/reschedule    # Reagendar agendamento
PUT  /api/agendamentos/{id}/cancel        # Cancelar agendamento
DELETE /api/agendamentos/{id}             # Excluir agendamento

# Serviços
GET  /api/servicos                        # Listar serviços
GET  /api/servicos/{id}                   # Buscar serviço
POST /api/servicos                        # Criar serviço
PUT  /api/servicos/{id}                   # Atualizar serviço
DELETE /api/servicos/{id}                 # Excluir serviço

# Horários
GET  /api/horarios-disponiveis            # Buscar horários disponíveis
GET  /api/horarios-configuracao           # Configuração de horários
GET  /api/verificar-disponibilidade       # Verificar disponibilidade específica

# WhatsApp
POST /api/whatsapp/send-message           # Enviar mensagem
POST /api/whatsapp/send-audio             # Enviar áudio
GET  /api/whatsapp/status                 # Status da instância

# IA
POST /api/ia/process-message              # Processar com IA
POST /api/ia/generate-response            # Gerar resposta

🎯 Casos de Uso

1. Automação de Agendamentos

Trigger: Webhook (formulário web)
↓
Agendamento SaaS: Criar agendamento
↓
Agendamento SaaS: Enviar confirmação via WhatsApp

2. Lembretes Automáticos

Trigger: Cron (diário às 9h)
↓
Agendamento SaaS: Listar agendamentos do dia
↓
Agendamento SaaS: Enviar lembrete via WhatsApp

3. Chatbot Inteligente

Trigger: Webhook (WhatsApp)
↓
Agendamento SaaS: Processar mensagem com IA
↓
Agendamento SaaS: Criar agendamento (se necessário)
↓
Agendamento SaaS: Enviar resposta personalizada

4. Integração com CRM

Trigger: Novo lead no CRM
↓
Agendamento SaaS: Criar agendamento
↓
Agendamento SaaS: Enviar mensagem de boas-vindas
↓
CRM: Atualizar status do lead

📋 Exemplos de Workflow

Exemplo 1: Agendamento Simples

{
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook"
    },
    {
      "name": "Criar Agendamento",
      "type": "n8n-nodes-agendamento-saas.agendamentoSaas",
      "parameters": {
        "resource": "agendamento",
        "operation": "create",
        "clienteNome": "={{$node['Webhook'].json['nome']}}",
        "clienteTelefone": "={{$node['Webhook'].json['telefone']}}",
        "servicoId": 1,
        "dataAgendamento": "={{$node['Webhook'].json['data']}}"
      }
    },
    {
      "name": "Enviar Confirmação",
      "type": "n8n-nodes-agendamento-saas.agendamentoSaas",
      "parameters": {
        "resource": "whatsapp",
        "operation": "sendMessage",
        "telefone": "={{$node['Webhook'].json['telefone']}}",
        "mensagem": "Olá {{$node['Webhook'].json['nome']}}! Seu agendamento foi confirmado para {{$node['Webhook'].json['data']}}. Obrigado!"
      }
    }
  ]
}

Exemplo 2: Processamento com IA

{
  "nodes": [
    {
      "name": "Webhook WhatsApp",
      "type": "n8n-nodes-base.webhook"
    },
    {
      "name": "Processar com IA",
      "type": "n8n-nodes-agendamento-saas.agendamentoSaas",
      "parameters": {
        "resource": "ia",
        "operation": "processMessage",
        "mensagemCliente": "={{$node['Webhook WhatsApp'].json['message']}}",
        "nomeCliente": "={{$node['Webhook WhatsApp'].json['pushName']}}"
      }
    },
    {
      "name": "Enviar Resposta",
      "type": "n8n-nodes-agendamento-saas.agendamentoSaas",
      "parameters": {
        "resource": "whatsapp",
        "operation": "sendMessage",
        "telefone": "={{$node['Webhook WhatsApp'].json['from']}}",
        "mensagem": "={{$node['Processar com IA'].json['resposta_cliente']}}"
      }
    }
  ]
}

🔧 Desenvolvimento

Pré-requisitos

  • Node.js 16+
  • TypeScript
  • n8n instalado

Setup Local

# Clone o repositório
git clone https://github.com/seu-usuario/n8n-nodes-agendamento-saas.git
cd n8n-nodes-agendamento-saas

# Instale dependências
npm install

# Build
npm run build

# Link para desenvolvimento local
npm link
cd ~/.n8n/nodes
npm link n8n-nodes-agendamento-saas

Scripts Disponíveis

npm run build      # Compilar TypeScript
npm run dev        # Modo desenvolvimento
npm run lint       # Verificar código
npm run format     # Formatar código

📚 Documentação da API

Estrutura de Resposta

{
  "success": true,
  "data": {
    "id": 123,
    "cliente_nome": "João Silva",
    "cliente_telefone": "5521999999999",
    "data_agendamento": "2024-02-05",
    "hora_agendamento": "14:30:00",
    "status": "agendado"
  },
  "message": "Agendamento criado com sucesso"
}

Códigos de Status

  • 200 - Sucesso
  • 201 - Criado com sucesso
  • 400 - Erro de validação
  • 401 - Não autorizado
  • 404 - Não encontrado
  • 500 - Erro interno

🤝 Contribuição

  1. Fork o projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para detalhes.

🆘 Suporte

🎉 Agradecimentos

  • n8n.io pela plataforma incrível
  • Comunidade n8n pelo suporte
  • Contribuidores do projeto

Feito com ❤️ para a comunidade n8n

Discussion