Campos personalizados
Extender la ficha del cliente con datos de tu negocio — tipos, visibilidad, uso en salud y playbooks.
Los campos personalizados te permiten capturar la información que tu negocio necesita y que no viene en el set estándar (ARR, dominio, owner, etc.).
Dónde se crean
Admin → Campos personalizados → Nuevo campo
No hay un límite de campos por workspace. Dicho eso, una cartera con 40 campos personalizados suele ser una señal de que hay que repensar el modelo, no de que falten campos.
Tipos de campo
| Tipo | Para qué | Ejemplo |
|---|---|---|
| TEXT | Texto libre, hasta 500 chars | "Notas del champion", "ICP fit score (texto)" |
| NUMBER | Números enteros o decimales | "Employees", "Score NPS", "Months to value" |
| DATE | Fecha ISO 8601 | "Kickoff date", "First value date", "Next QBR" |
| BOOLEAN | Verdadero/falso | "Is strategic", "MSA signed", "Sandbox activo" |
| DROPDOWN | Valor de una lista predefinida | "Tier: Platinum/Gold/Silver", "Industry", "Segment" |
| URL | Link validado | "Slack channel", "Notion workspace", "Status page" |
| CURRENCY | Monto con moneda | "ACV target", "Expected expansion USD" |
Cómo elegir el tipo
Regla de oro: usa DROPDOWN siempre que sea posible. Valores estandarizados son la única manera de filtrar, agrupar y usar en playbooks.
- ¿"Industry" con texto libre? Vas a tener "Fintech", "fintech", "Fin-Tech", "FinTech"… imposible agrupar.
- ¿"Industry" con DROPDOWN? 10 valores limpios, dashboard instantáneo.
Si no sabes los valores todavía, crea el campo como TEXT y conviértelo después (LealUp ofrece migración con sugerencia de valores).
Configuración de un campo
Al crear, defines:
- Clave interna — snake_case, no cambiable después (ej.
tier,acv_target). - Etiqueta visible — la que ven los usuarios (ej. "Tier", "ACV Target USD").
- Tipo — TEXT, NUMBER, etc.
- Obligatorio —
true/false. Si true, los clientes nuevos no se pueden guardar sin este campo. - Opciones (solo DROPDOWN) — lista de valores, con orden.
- Orden de display — dónde aparece en la ficha.
- Visibilidad por rol — quién lo ve y quién lo edita.
Visibilidad y permisos por rol
Cada campo tiene matriz de visibilidad:
| Rol | View | Edit |
|---|---|---|
| admin | ✅ | ✅ |
| director | configurable | configurable |
| csm | configurable | configurable |
| viewer | configurable | ❌ |
Casos típicos:
- "ACV Target USD" — admin + director lo ven y editan. CSM lo ve pero no lo edita. Viewer no lo ve.
- "Notas del champion" — todos los que trabajan la cuenta (admin, director, csm) lo editan. Viewer lo ve.
- "MSA signed" — solo admin lo edita (es legal). Todos lo ven.
Campos comunes en LATAM B2B SaaS
Si recién empiezas, considera estos:
Segmentación básica
segment(DROPDOWN) — Enterprise / Mid-Market / SMB / Startup.industry(DROPDOWN) — Fintech / Healthtech / Retail / Edtech / Logistics / Other.country(DROPDOWN) — Chile / Colombia / México / Brasil / Argentina / Perú / USA / Other.employees(NUMBER) — tamaño de empresa.
Comercial
tier(DROPDOWN) — Platinum / Gold / Silver / Bronze.acv_target_usd(CURRENCY) — cuánto deberíamos cerrarle.renewal_currency(DROPDOWN) — USD / BRL / MXN / CLP.payment_terms(DROPDOWN) — Monthly / Quarterly / Annual.
Salud
kickoff_date(DATE) — para onboarding.first_value_date(DATE) — cuándo logró value.sandbox_active(BOOLEAN) — indicador técnico.msa_signed(BOOLEAN) — legal.
Relacional
slack_channel(URL) — canal shared.notion_workspace(URL) — notas internas.exec_sponsor_internal(TEXT) — nombre del exec nuestro que sponsorea la cuenta.
Usar campos en playbooks
Un campo personalizado puede ser condición de trigger en un playbook. Ejemplos:
- Playbook "Enterprise At-Risk" → trigger:
salud < 60 AND segment == "Enterprise". - Playbook "QBR Platinum" → trigger:
next_qbr <= today + 14 AND tier == "Platinum". - Playbook "Onboarding Fintech" → trigger:
created_at <= today - 7 AND industry == "Fintech".
Ver Playbooks y tareas para crear uno.
Usar campos en salud
Puedes crear una dimensión personalizada del health score basada en campos. Ej.:
dimensión "Fit comercial" =
IF tier == "Platinum" THEN 100
ELSE IF tier == "Gold" THEN 80
ELSE IF tier == "Silver" THEN 60
ELSE 40Ver Modelo de salud → Dimensiones personalizadas.
Usar campos en segmentos
Los segmentos se pueblan con reglas sobre campos:
- Regla:
industry == "Fintech" AND country IN ("Chile","Argentina","Colombia"). - Resultado: todos los clientes que matchen quedan en el segmento "Fintech Cono Sur".
Los segmentos se actualizan en tiempo real — si cambias la industry de un cliente, se reasigna.
Bulk update
Admin → Campos personalizados → [campo] → Bulk update
Te permite:
- Setear valor para un set de clientes (por segmento o CSV).
- Migrar valores — ej. convertir "Finance" y "Fintech" al mismo valor único "Fintech".
- Limpiar campo — borrar valor de un set.
Todas las operaciones quedan en audit log y se pueden revertir dentro de 24h.
Validación
- TEXT — max 500 chars, no HTML.
- NUMBER — rango configurable (min/max).
- DATE — rango configurable (no futuro, no pasado, entre fechas).
- DROPDOWN — solo valores de la lista.
- URL — se valida que sea HTTPS y responda 200.
- CURRENCY — moneda fija o configurable por registro.
Si la validación falla, el API devuelve 422 Unprocessable Entity con detalles.
Eliminación de campos
Eliminar un campo es destructivo — pierde todos los valores históricos. LealUp requiere:
- Confirmación doble.
- Export previo del campo (se ofrece automáticamente).
- Queda en "soft-delete" por 30 días, recuperable.
Tras 30 días, purge definitivo.
Mejores prácticas
- Menos es más — 15–20 campos bien pensados valen más que 80 inconsistentes.
- Revisa cada 6 meses — qué campos nadie usa, cuáles hay que crear.
- Nombres cortos — "ACV" > "Annual Contract Value Target USD".
- Dropdowns con <10 opciones — si tienes 40 valores, pensá si es realmente DROPDOWN.
- No duplicar data estándar — no crees "customer_name" si ya existe el campo nombre.
- Documenta internamente — qué significa cada campo, quién lo llena, cuándo. Un Notion con el glosario te salva.