# Status da Migração para GHL

**Data:** 2026-04-30
**Location GHL:** `gUcFh6gZk0tVEUqHHCcl` (Ultralize)
**Token PIT ativo:** `pit-fa74a7ba-fede-4624-a50f-1e1d0ed6801b`

Objetivo final: **aposentar Clint, Calendly, Typebot, Tally, Circle e ManyChat**, consolidando tudo no GHL.

---

## 1. O que JÁ ESTÁ PRONTO no GHL

### 1.1 Cursos (Circle → GHL) — ✅ Estrutura completa
- **12 cursos + 678 lições** criados em 2026-04-19 via endpoint não documentado `POST /courses/courses-exporter/public/import`
- IDs de cursos persistidos em `migracao-ghl/export/ghl_state.json`
- Iframes Gumlet inseridos no campo `description` (não `customCode`) para player funcional
- Curso → lições preservando ordem ASC (script reverte ordem DESC vinda da API Circle)

### 1.2 Pipelines (Clint → GHL) — ✅ 12 de 17 criados
**Comerciais (5):** Comercial 1A1, Aplicação Paga R$500, Workshop Presencial, Workshop Hotmart, Lançamento Mentoria Ultra
**CS (6):** Níveis Ultra (Base→Black), Onboarding, Acompanhamento 30d até AMN, Offboarding, Prospecção Sniper, Disparos NPS/CSAT/MHS
**Pré-existente (1):** Lançamento Prospecção Sniper

Mapeamento completo de IDs em `clint/export/clint_to_ghl_mapping.json`.

### 1.3 Tags estruturais
- **Ultra Levels (6):** ultra-white, blue, green, gold, platinum, black
- **Survey Tracking (6):** mhs/nps/csat-respondido-q1-26 e q2-26
- Tags de edição (WP/MU) aplicadas via webhook Hotmart

### 1.4 Custom Fields — ✅ 45 ativos
- **28 custom fields pré-existentes** (UTMs, idade, estado, faturamento, instagram, m1–m4, etc.)
- **17 fields novos criados** (CPF, Data entrada cliente, Data renovação, Produto atual, Ultracanvas URL, Histórico de nível, Nicho/Segmento, Ticket cobrado, Quantas pessoas equipe, Já participa de outra mentoria, Qual mentoria participa, Serviços prestados, Ultranichado, Como conheceu Rodrigo, Data primeiro cadastro AC, Último lançamento, Cidade) — IDs em `export/custom_field_ids.json`

### 1.5 Webhooks ativos (Hotmart → GHL) — ✅ Em produção
| Receiver | Função | Service |
|---|---|---|
| `webhooks/hotmart_ghl.py` | Workshop (4776141) — tags `wp{N}`, `wp{N} bump amigo/gravacao` | `hotmart-ghl.service` |
| Mesmo receiver | Aplicação Mentoria Ultra (3667801) — tag `pagou-aplicacao-mu` / `aplicacao-estornada` | idem |
- Backfill genérico: `webhooks/backfill_wp.py --wp N --execute`
- Skill `/configurar-wp-ghl` automatiza onboarding de novas edições

### 1.6 Cloudflare Worker — Zoom Redirect → tag GHL — ✅
- `zoom.ultralize.com.br` adiciona tag `acessou-zoom` no contato GHL e redireciona p/ Zoom

### 1.7 Hotmart Redirect Worker — pré-checkout — ✅
- `sniper.ultralize.com.br/hotmart/*` faz bridge form GHL → checkout Hotmart com nome/email/whatsapp pré-preenchidos
- Produtos ativos: `wp21-promo`, `wp21-vip`

### 1.8 Sympla → GHL Sync — ✅
- `webhooks/sympla_ghl_sync.py` mantém compradores Sympla espelhados no GHL

### 1.9 Migração de contatos — ✅ CONCLUÍDA (2026-04-27)
- **4 fontes mergeadas e importadas:** ActiveCampaign + Clint + Planilha 1 (Pesquisa Avatar) + Planilha 2 (Conta AC Antiga)
- **Import full executado em 10.567s (~3h):**
  - **98.393 contatos importados com sucesso** (de 98.430 tentados)
  - 37 erros isolados (registrados em `exec_errors_final.json`)
  - Throughput médio: 9,3 req/s
- **Total atual no GHL:** **99.802 contatos** (98.393 da migração + ~1.4k entrando via webhooks Hotmart/Sympla/Wati desde 27/04)
- Estado persistido: `export/import_state.json` (2,7 MB) + `export/exec_checkpoint.json`
- Tags consolidadas aplicadas: 107 tags distintas (lead-importado, MUx, WPx, cliente-ultrawhite/blue/etc., comprou-mu-aplicacao, ex-cliente, origem-ac/clint/pesquisa/conta-antiga, etc.)
- 17 custom fields novos criados + 28 pré-existentes preenchidos no upsert

---

## 2. ClickUp — O QUE FOI FEITO

> **Nada de migração foi feito no ClickUp.** O ClickUp segue como ferramenta operacional interna da equipe (workspace `90132531186`, MCP ativo).
> A integração existente é só para **gestão de tarefas internas** (não há fluxo de leads/contatos vindo do ClickUp).

**Status atual:**
- API + MCP configurados e funcionais
- Spaces: Operação, OKRs, Marketing, RH Provisório, Eventos, Gestão, Produtos, Projetos, Produto, Comercial
- Não há tarefa ClickUp criada para acompanhar a migração GHL — **isso pode ser uma lacuna**

---

## 3. O QUE ESTÁ EM ANDAMENTO / PENDENTE

### 3.1 Migração de contatos — Pós-import
**Status:** ✅ contatos importados. Falta tratar resíduos:
- ❌ Investigar e reprocessar os **37 erros** de import (`exec_errors_final.json`) — provável bounce/email inválido
- ❌ Sample manual de 20 emails conhecidos (clientes ativos) para validar campos populados corretamente
- ⏸️ Decisões pendentes: blocos de tags **LVLUP, 3K, CGU, IPMU24/25** ainda não aplicadas (Rodrigo precisa investigar)
- ⏸️ Tags pendentes de avaliação (`NãoPreencheuTudo`, `Não Enviar`, `00`, `AÇÃO1`, `L10K+`, etc.) — guardadas pra decisão

### 3.2 Pipelines GHL — 5 ainda faltam
Da especificação original de 17 pipelines, 5 não foram criados (API GHL não permite criar pipelines, só Ask AI ou UI manual):
1. Renovação Mentoria Ultra
2. CS Acompanhamento Mentoria (Health/Risco)
3. Master Ultra
4. Tutorias e Calls (mestre)
5. Eventos Especiais CS (Imersão + Desafio)

### 3.3 Deals/Oportunidades Clint → GHL
**~110.000 deals para migrar** — script de importação ainda não escrito.
- Mapear `pipeline_id` + `stage_id` de cada deal Clint para GHL
- Decidir destino dos deals em stage `[Desativado] MBA` (descartar ou migrar)
- Bulk import via `POST /opportunities/`

### 3.4 Cursos (Circle) — Upload de vídeos
- Fase 2 (estrutura): ✅ concluída
- Fase 1.5 (vídeos AMN 2024+): ⚠️ **upload de 57 AMNs ao Gumlet em andamento em background** desde 2026-04-19 — precisa verificar se concluiu
- Após upload: re-rodar `criar_ghl.py` para substituir iframes Drive por Gumlet
- ❌ Fase 3: Importar 1.218 membros do Circle via `contacts` API + tags
- ❌ Fase 4: Domínio `membros.ultralize.com.br` → GHL Client Portal
- ❌ Fase 5: Comunicação de transição
- ❌ Fase 6: Desativar Circle

### 3.5 Calendly → GHL
**Status:** plano completo escrito (`migracao-calendly-ghl.md`), execução manual pendente.
- ❌ Conectar Google Calendar dos 4 membros (Ludmila, Pedro, Reinam, Rodrigo) ao GHL
- ❌ Criar 8 calendários (3 Round Robin solo + 5 Round Robin pool/equal)
- ❌ Configurar notificações (confirmação + lembretes)
- ❌ Atualizar links em LPs, automações e anúncios
- ❌ Esperar agendamentos futuros do Calendly se esgotarem
- ❌ Desativar event types no Calendly

---

## 4. O QUE NÃO TEM PLANO DE MIGRAÇÃO AINDA

### 4.1 Typebot — ⚠️ ZERO planejamento
- 38 typebots ativos na conta (Aplicações MU2→MU19, Supersal, MHS, Motique, VC Candidaturas, etc.)
- API + token configurados em `.env`, mas **não há script de migração nem plano**
- **Análise rápida:**
  - Typebots são **fluxos conversacionais** — GHL tem **Chat Widget + Forms + Workflows**, mas não bot conversacional 1:1 nativo equivalente
  - Migração possível para: GHL Forms (formulários estáticos) + GHL Workflow (lógica condicional) ou manter Typebot e enviar respostas via webhook → GHL
  - **Decisão pendente:** desativar Typebot ou usar como front-end e GHL como backend?

### 4.2 Tally — ⚠️ ZERO planejamento
- Não há diretório `tally/` nem mapeamento de quais formulários estão em uso
- **Necessário:** inventário dos forms Tally em produção e mapeamento → GHL Forms / Surveys
- GHL tem Forms nativos com lógica condicional simples — a maioria dos casos Tally migra direto

### 4.3 ManyChat — ⚠️ Catalogado, sem plano de migração
- 6.818 contatos, FB Messenger + WhatsApp, plano Pro
- API funcional (`MANYCHAT_API_TOKEN` + `MANYCHAT_PROFILE_API_TOKEN` em `.env`)
- Tags e flows de lançamento mapeados
- **Bloqueio técnico:** GHL conversations cobrem WhatsApp/FB messaging via twilio/facebook integration, mas **fluxos automatizados de chatbot** dentro do messenger não têm equivalente direto
- **Decisão pendente:**
  - Migrar contatos ManyChat para GHL contacts (via API export/import) ✅ viável
  - Migrar fluxos de bot (não há automigração — refazer no GHL Workflow + Conversation AI)
  - WhatsApp: hoje usa WhatsApp Business via ManyChat; GHL pode usar Wati (já tem `webhook-ghl-wati.service` ativo) ou WhatsApp Cloud API direto

### 4.4 Circle — Documentado, em execução
- Plataforma de comunidade dos cursos. Já está sendo migrada (item 3.4)

---

## 5. INTEGRAÇÕES JÁ ATIVAS QUE NÃO PRECISAM MIGRAR

| Sistema | Função | Status |
|---|---|---|
| Hotmart | Compras → tags GHL | ✅ Ativo (webhook em produção) |
| Sympla | Eventos presenciais → contatos GHL | ✅ Ativo |
| Cloudflare Workers | Pre-checkout + Zoom redirect | ✅ Ativos |
| Wati (WhatsApp Business) | Conversas WhatsApp via GHL | ✅ Ativo (`webhook-ghl-wati.service`) |
| ActiveCampaign | Já incorporado ao merge — pode ser desligado pós-import | ⏸️ Pós-import |
| ClickUp | Gestão interna da equipe — não migra | ✅ Mantém |

---

## 6. ANÁLISE — O QUE FALTA PARA APOSENTAR CADA FERRAMENTA

| Ferramenta | Bloqueador para desligar | Esforço estimado | Risco |
|---|---|---|---|
| **Clint** | ✅ Contatos importados (98.393). Falta: 110.000 deals + criar 5 pipelines restantes | 2 dias úteis | Médio (rate limit GHL) |
| **Calendly** | Conectar 4 Google Calendars + criar 8 calendários no GHL + atualizar links | 1 dia útil (manual UI) | Baixo (plano detalhado pronto) |
| **Circle** | Subir 57 AMNs no Gumlet + importar 1.218 membros + DNS + comunicado | 1 dia útil + 2 semanas de transição | Baixo (estrutura e cursos prontos) |
| **Typebot** | Inventário dos 38 typebots → decidir: refazer no GHL ou manter como front-end | 3–5 dias úteis (depende da decisão) | **Alto** — não tem equivalente 1:1 |
| **Tally** | Inventariar forms em uso → recriar como GHL Forms | 1–2 dias úteis | Baixo |
| **ManyChat** | ⚠️ Contatos com email já estão no GHL via merge AC. Falta: contatos só-ManyChat (sem email) + decisão sobre flows + WhatsApp via Wati ou Cloud API | 2–4 dias úteis | **Alto** — flows não migram automaticamente |

**Custom fields:** ✅ 45 ativos no GHL (28 antigos + 17 novos)
**Contatos:** ✅ 99.802 no GHL (98.393 importados + ~1.4k via webhooks)
**Pipelines ainda não criados:** 5 de 17
**Deals Clint ainda não migrados:** ~110.000
**Workflows GHL não escritos:** todos — nenhuma automação de funil foi reconstruída no GHL ainda

---

## 7. ORDEM DE EXECUÇÃO RECOMENDADA

### Sprint 1 — Fundação restante (esta semana)
1. ✅ ~~Rodar `criar_custom_fields_ghl.py`~~ — concluído (45 fields no GHL)
2. ✅ ~~Importar 99.430 contatos~~ — concluído (98.393 ok)
3. Reprocessar os 37 erros de import isolados
4. Criar os 5 pipelines GHL pendentes (via Ask AI ou UI manual)
5. Verificar status do upload de AMNs ao Gumlet (background desde 2026-04-19)
6. Sample manual: validar 20 contatos conhecidos (campos + tags corretos)
7. Inventariar Typebots e Tally em uso real (filtrar os 38 typebots — quais ainda têm tráfego)

### Sprint 2 — Deals e Calendários
8. Importar 110k deals Clint nos pipelines GHL (mapear `pipeline_id` + `stage_id`)
9. Migrar Calendly (8 calendários no GHL + atualizar links em LPs/automações)
10. Importar 1.218 membros Circle + apontar `membros.ultralize.com.br` → GHL Client Portal

### Sprint 3 — Bot, Forms e WhatsApp
11. Decidir destino dos Typebots (refazer no GHL Workflow ou manter como front-end)
12. Recriar formulários Tally como GHL Forms
13. Importar contatos ManyChat sem email + redesenhar flows críticos no GHL Workflow
14. Decidir WhatsApp: Wati (já ativo) ou Cloud API direto

### Sprint 4 — Desligamento
15. Desativar Calendly event types (após links migrados)
16. Desativar Circle (após cutoff de membros)
17. Desativar Clint (após validação dos pipelines + deals em produção)
18. Pausar AC, Typebot, Tally, ManyChat conforme cada um for substituído

---

## 8. RISCOS E DECISÕES PENDENTES

### Decisões que precisam do Rodrigo
- [ ] 4 blocos de tags: **LVLUP, 3K, CGU, IPMU24/25** (manter granularidade ou consolidar?)
- [ ] Deals Clint em `[Desativado] MBA` — descartar ou migrar?
- [ ] Typebot — manter como front-end (mais barato e funcional) OU forçar migração para GHL (1 ferramenta a menos)?
- [ ] WhatsApp pós-ManyChat — Wati (já tem service ativo) OU WhatsApp Cloud API direto no GHL?
- [ ] ManyChat flows — quais são críticos e precisam ser refeitos? Quais podem ser descontinuados?

### Riscos técnicos
- **Rate limit GHL** durante import full (testar em chunks de 1.000 com checkpoint)
- **Token PIT pode revogar** — manter o backup `pit-8f6e4f5c-...` documentado
- **Iframe Gumlet** — Fase 1.5 precisa concluir o upload antes do go-live público dos cursos
- **Sticky contact GHL** — precisa estar ativo nas Funnel Pages para identificar leads sem cookie

### Lacunas operacionais
- Nenhum acompanhamento da migração no ClickUp — sugiro criar **1 lista única** "Migração GHL" com as tarefas das Sprints acima
- Sem dashboard de monitoramento dos webhooks Hotmart/Sympla/Wati em produção (logs ficam em `webhooks/*.log`)
- Sem rollback plan se import full der errado (backup de contatos GHL antes do bulk)

---

## 9. ARQUIVOS-CHAVE

```
/root/bindes/migracao-ghl/
├── PLANO_MIGRACAO_CONTATOS.md       # Plano mestre
├── RESUMO_DECISOES_TAGS.md          # Decisões consolidadas
├── ANALISE_TAGS.md
├── STATUS_MIGRACAO_GHL.md           # ESTE DOCUMENTO
├── scripts/                          # 23 scripts (normalizadores, merge, importer, criar_ghl)
└── export/                           # 90 arquivos (contatos_unificados.json, ghl_state.json, etc.)

/root/bindes/clint/
├── RELATORIO_ORIGENS.md             # 223 origens analisadas → 8 pipelines
├── export/clint_to_ghl_mapping.json # IDs de pipelines, stages, tags criados
└── export/contacts.json             # 86.435 contatos brutos (106 MB)

/root/bindes/migracao-calendly-ghl.md # Plano completo Calendly → GHL (8 calendários)

/root/bindes/webhooks/
├── hotmart_ghl.py                   # Receiver Hotmart (Workshop + Aplicação MU)
├── sympla_ghl_sync.py               # Sync Sympla → GHL
├── filtros_testes.py                # Filtro oficial de testes
├── backfill_wp.py                   # Reprocessamento de edições WP
├── zoom-redirect/                    # Worker Cloudflare zoom.ultralize.com.br
└── hotmart-redirect/                 # Worker Cloudflare sniper.ultralize.com.br/hotmart/*
```

---

**Próxima ação concreta:** o gargalo agora é **importar os ~110k deals do Clint** nos pipelines GHL e **criar os 5 pipelines restantes**. Sem isso, o Comercial e o CS continuam dependendo do Clint mesmo com os contatos já migrados.
