Template: runbook_clone_steps

Índice de la página
  1. 01Cliente a provisionar
  2. 02Checklist de pasos manuales
  3. A. Infraestructura cloud
  4. B. Decisión de dominio
  5. C. WhatsApp / BSP
  6. D. Pasarelas de pago
  7. E. Branding y assets
  8. F. Tracking
  9. G. Acceso humano y comunicación
  10. H. Test E2E del funnel desde dispositivo limpio
  11. I. Go-live
  12. 03Variables usadas en este template

Esta es una plantilla. Las variables {{ ... }} son reemplazadas por el clone-script al provisionar un cliente nuevo. Lista de variables al pie.
Este runbook lista los pasos manuales que no se pueden automatizar desde el clone-script. Tienen que hacerse a mano antes o después de correr el script.


Cliente a provisionar

  • Slug: {{client_slug}}
  • Nombre: {{client_name}}
  • Marca: {{brand_name}}
  • Tech contact: {{tech_contact_name}} ({{tech_contact_wa}})
  • AM TooAudience: {{am_name}}
  • Fecha objetivo de go-live: {{go_live_date}}

Checklist de pasos manuales

A. Infraestructura cloud

  • A1. Crear nuevo proyecto en Supabase
  • Ir a https://supabase.com/dashboard → New Project
  • Nombre: toa-{{client_slug}}
  • Región: {{supabase_region}}
  • Copiar y guardar en secrets/{{client_slug}}/:
    • Project URL → archivo supabase_url.txt
    • anon public key → archivo supabase_anon.json
    • service_role key → archivo supabase_service_role.json
  • Correr migraciones base desde infra/supabase/migrations/

  • A2. Crear nuevo Railway service para el bot WA

  • Ir a https://railway.app → New → Deploy from GitHub repo
  • Repo: tooaudience/wa-bot-paraguas
  • Nombrar el service: wa-bot-{{client_slug}}
  • Cargar env vars desde secrets/{{client_slug}}/:
    • CLIENT_SLUG={{client_slug}}
    • SUPABASE_URL=...
    • SUPABASE_SERVICE_ROLE=...
    • BSP_API_KEY=...
    • OPENAI_API_KEY=... (compartido)
    • ANTHROPIC_API_KEY=... (compartido)
  • Verificar deploy verde antes de continuar

  • A3. Crear / asociar Vercel project

  • Ir a Vercel dashboard → Add New → Project
  • Importar repo tooaudience-paraguas
  • Cargar env: NEXT_PUBLIC_CLIENT_SLUG={{client_slug}}
  • Anotar Project ID en client_config.json > infra.vercel_project_id

B. Decisión de dominio

  • B1. Decidir modalidad (escribir la elegida en client_config.json > infra.domain_mode)
  • Opción 1: Subpath en deacademia.com/{{client_slug}}/...
  • Opción 2: Subdominio nuevo {{client_slug}}.deacademia.com
  • Opción 3: Dominio propio del cliente {{client_own_domain}}
  • B2. Si elegiste subdominio nuevo o dominio propio:
  • Crear registro DNS (CNAME a cname.vercel-dns.com)
  • Esperar propagación (5-30 min)
  • Asociar dominio en Vercel project
  • Verificar SSL activo

C. WhatsApp / BSP

  • C1. Provisionar número WhatsApp Business
  • Provider elegido: {{bsp}}
  • Comprar / portar número: {{wa_number}}
  • Display name a verificar: {{wa_display_name}}
  • Subir logo cuadrado (mínimo 640x640): {{logo_url}}
  • C2. Verificar Business Manager
  • Asociar número al BM de TooAudience o del cliente (según deal scope: {{deal_scope}})
  • Esperar verificación de Meta (puede tardar 24-72h)
  • C3. Configurar webhook inbound
  • URL: {{wa_webhook_url}}
  • Verify token: guardar en secrets/{{client_slug}}/wa_verify_token.txt
  • C4. Probar envío y recepción desde 2 números diferentes

D. Pasarelas de pago

  • D1. Hotmart
  • Decidir: cuenta del cliente o sub-producto en master de TooAudience
  • Si cuenta nueva: cliente abre cuenta y nos da acceso colaborador
  • Crear producto por cada SKU listado en _CONFIG.template.md § 4
  • Configurar webhook a {{api_base_url}}/wh/hotmart
  • D2. dLocal Go
  • Crear plan por SKU
  • Configurar webhook a {{api_base_url}}/wh/dlocal
  • Pedir firma del contrato KYC si es cuenta nueva (puede tardar 7-14 días)
  • D3. Shopify (solo si el cliente vende físico o quiere checkout propio)
  • Crear store o usar la del paraguas
  • Crear variant por SKU
  • Configurar webhook a {{api_base_url}}/wh/shopify
  • D4. Skool (solo si vende membresía via Skool)
  • Crear group para el cliente
  • Definir precio y configurar checkout

E. Branding y assets

  • E1. Crear carpeta Drive del cliente
  • Path: Drive > TooAudience > Clientes > {{client_name}}
  • Compartir con cliente como editor de su sub-carpeta y solo lector del resto
  • Anotar URL en client_config.json > branding.drive_assets_folder_url
  • E2. Cargar branding en Vercel public folder
  • Subir a apps/paraguas/public/clients/{{client_slug}}/:
    • logo.png (transparente, min 1024px)
    • logo-white.png
    • favicon.ico
    • og-image.png (1200x630 para social cards)
  • Verificar que cargan en producción tras deploy
  • E3. Cargar fuentes
  • Si la fuente es Google Font: agregar a fonts.config.ts
  • Si es propietaria: subir archivos .woff2 a apps/paraguas/public/fonts/{{client_slug}}/

F. Tracking

  • F1. Crear Meta Pixel (o reusar el del cliente si ya tiene)
  • Anotar Pixel ID en client_config.json > tracking.meta_pixel_id
  • Generar Conversions API token y guardar en secrets/{{client_slug}}/meta_capi.json
  • F2. TikTok Pixel (si aplica) — anotar ID
  • F3. Google Ads conversion ID — anotar ID
  • F4. ProveSource site — crear site, anotar ID, instalar snippet en paraguas
  • F5. GA4 — crear property, anotar Measurement ID

G. Acceso humano y comunicación

  • G1. Compartir Drive folder con cliente (paso E1 más permisos finos)
  • G2. Sumar al cliente y closers a grupos internos de Slack/WhatsApp
  • G3. Agendar onboarding call con cliente para repaso de oferta y voz

H. Test E2E del funnel desde dispositivo limpio

  • H1. Abrir browser en modo incógnito desde dispositivo limpio
  • H2. Visitar landing pública: {{base_url}}/{{client_slug}}/
  • Verificar branding: logo, colores, fuente correcta
  • Verificar Meta Pixel disparado (Meta Pixel Helper extension)
  • H3. Registrarse al webinar como lead nuevo
  • Verificar que llega a Supabase (leads table)
  • Verificar que el bot WA escribe el primer mensaje
  • H4. Conversar con el bot WA
  • Pedir info de oferta → debe responder con precio actual del día
  • Pedir transferencia → debe enviar instructivo {{base_url}}/{{client_slug}}/transferencia
  • Pedir handoff → debe pasar a {{closer1_wa}}
  • H5. Comprar el SKU principal en cada pasarela activa
  • Hotmart: pago de prueba con tarjeta de test
  • dLocal: pago de prueba
  • Transferencia: enviar comprobante por form, validar SLA
  • H6. Verificar que tras compra exitosa:
  • Llega email con accesos
  • Pixel dispara evento Purchase
  • Supabase tabla purchases registra el evento
  • Se desactiva del retargeting "no compradores"

I. Go-live

  • I1. Sign-off del cliente firmado (oferta + branding + voz)
  • I2. Sign-off interno TooAudience (AM + tech)
  • I3. Activar campañas de Meta Ads (presupuesto inicial: USD {{budget_inicial_usd}}/día)
  • I4. Anunciar go-live en canal interno

Variables usadas en este template

Variable Descripción Ejemplo
{{client_slug}} Slug interno del cliente martin-rieznik
{{client_name}} Nombre completo Martín Rieznik
{{brand_name}} Marca comercial DeAcademia
{{tech_contact_name}} Tech contact Eric
{{tech_contact_wa}} WA del tech contact +5491150007777
{{am_name}} Account manager TooAudience Jesús Tassarolo
{{go_live_date}} Fecha objetivo de go-live 2026-05-22
{{supabase_region}} Región Supabase sa-east-1
{{client_own_domain}} Dominio propio del cliente (opcional) martinrieznik.com
{{bsp}} BSP provider 360dialog
{{wa_number}} Número WA en E.164 +5491150001234
{{wa_display_name}} Display name del bot Martín Rieznik
{{logo_url}} URL del logo cuadrado https://cdn.deacademia.com/martin/logo.png
{{deal_scope}} Alcance del deal Captación + venta de taller, no membresía
{{wa_webhook_url}} Webhook inbound del bot https://api.deacademia.com/wh/wa/martin
{{api_base_url}} URL base de la API del paraguas https://api.deacademia.com
{{base_url}} URL base pública del paraguas https://deacademia.com
{{closer1_wa}} WA del closer principal +5491150009999
{{budget_inicial_usd}} Budget inicial diario en USD 100