Studio — gestiona tus apps instaladas

Studio es tu centro de control para todas las aplicaciones que tienes instaladas en tu organización. Aquí ves qué apps tienes activas, qué recursos (formularios, listas, dashboards) cada una proporciona, y de dónde viene cada pieza de configuración.

Qué resuelve este módulo

Studio te ayuda a entender el estado de tus aplicaciones instaladas (como el CRM, el helpdesk, o cualquier otra app del marketplace de uKore). Sin tecnicismos: te muestra qué viene original del template, qué ha personalizado tu organización, y qué varía según el rol del usuario.

¿A quién va dirigido?

Administrador u owner de la organización. Los usuarios normales no ven Studio, solo pueden usar las apps ya instaladas.

Cambiar de app desde cualquier pantalla

En la barra de navegación superior, junto al logo de uKore, hay un selector de apps que muestra en qué app estás ahora mismo (por ejemplo, "uKCRM").

  1. Haz clic en el selector para abrir el menú desplegable.
  2. Verás la lista de todas las apps instaladas en tu organización, con la app activa marcada.
  3. Haz clic en uKCRM para ir directamente al CRM.
  4. Haz clic en cualquier otra app instalada para abrirla: llegas a su página de inicio, que lista las entidades de la app (por ejemplo, "Tareas", "Pedidos") como tarjetas — haz clic en una para ver y gestionar sus registros. Si la app todavía no tiene entidades, verás un enlace para construirla en Studio.
  5. Haz clic en "+ Más apps" para ir al Marketplace e instalar otra app.

Cómo se usa paso a paso

0. Crear una app nueva

Disponible en P1-N23 F1. Requiere rol admin u owner.

Puedes crear tu propia app en blanco, sin plantilla, dándole solo un nombre. La app se crea vacía (sin entidades todavía) y aparece de inmediato en el selector de apps y en el listado de Studio — ya puedes "saltar" a ella.

  1. En Studio, pulsa el botón "+ Nueva app" (arriba a la derecha del listado, o dentro del estado vacío si aún no tienes ninguna app instalada).
  2. Escribe el Nombre de tu app (por ejemplo, "Tareas").
  3. El campo Namespace se rellena automáticamente a partir del nombre (por ejemplo, tareas) — es el identificador técnico interno de tu app. Puedes editarlo a mano si lo prefieres: solo letras minúsculas, números y guiones, entre 3 y 32 caracteres, empezando por una letra.
  4. Pulsa "Create app". Se crea la app y se te lleva directamente a su página de detalle en Studio.

Nota: la app se crea vacía — para añadir tus propias entidades y campos, sigue con la siguiente sección, "Construir tu app: entidades y campos".

Errores comunes:

  • "Invalid name or namespace" — el namespace no cumple el formato (minúsculas, números y guiones, 3-32 caracteres, empieza por letra). Corrígelo a mano en el campo Namespace.
  • "That namespace is already in use in your organization" — ya existe una app con ese namespace en tu organización. Elige otro nombre/namespace.

0b. Construir tu app: entidades y campos

Disponible en P1-N23 F2b. Solo para apps creadas por ti (paso "0. Crear una app nueva") — las apps del marketplace (como uKCRM) tienen una estructura fija que no se edita aquí. Requiere rol admin u owner.

Después de crear tu app, pulsa "Construir" en su página de detalle para abrir el constructor. Aquí defines de qué está hecha tu app: qué entidades (los tipos de cosas que guarda — "Tareas", "Clientes", "Productos"…) tiene, y qué campos guarda cada una. A la derecha ves en todo momento una vista previa en vivo de cómo quedará el formulario y la lista para tus usuarios — sin necesidad de guardar nada para comprobarlo.

La pantalla tiene tres zonas:

  • Izquierda — Entidades: la lista de entidades de tu app. Pulsa "+ Añadir entidad", escribe un nombre (por ejemplo, "Pedidos") y pulsa "Crear". La nueva entidad aparece seleccionada y sin campos todavía.
  • Centro — Campos: los campos de la entidad seleccionada. Usa el botón de nuevo campo para abrir el diálogo guiado: escribe un nombre, elige un tipo humano (Texto, Número largo, Fecha, Sí/No, Selección…) y, si el tipo es "Selección", añade las opciones. Para editar un campo, selecciónalo en el lienzo; para quitarlo, elimínalo del lienzo — no borra los datos que ya hayas guardado, solo deja de pedirse en formularios/listas nuevos.
  • Derecha — Vista previa: pestañas Formulario y Lista. Muestran en vivo cómo se ve el formulario para añadir un registro y la lista para consultarlos, actualizándose cada vez que añades, editas o quitas un campo. Los datos que ves aquí son de ejemplo — no son registros reales (para eso está la siguiente fase del App Builder).

Los cambios (crear entidad, añadir/editar/quitar campo) se guardan automáticamente en tu app — no hay un botón "Guardar" aparte. Al pie de la pantalla, "Avanzado" muestra los identificadores técnicos (namespace de la app, clave de la entidad activa) por si alguna vez los necesitas; en el uso normal no hace falta tocarlos.

Errores comunes:

  • "Ya existe una entidad con ese nombre" — ya tienes una entidad con esa clave técnica en esta app. Elige un nombre distinto.
  • "Introduce un nombre de entidad válido" — el nombre no se pudo convertir en un identificador válido (por ejemplo, estaba vacío o solo tenía símbolos).
  • "No tienes permiso para editar esta app" — necesitas rol admin u owner.
  • El botón "Construir" no aparece en el detalle de una app — esa app viene del marketplace (por ejemplo uKCRM) y su estructura es fija; solo las apps que creaste tú con "+ Nueva app" se pueden construir aquí.

1. Ver tus apps instaladas

  1. Inicia sesión en tu cuenta de uKore como admin o owner.
  2. En el menú lateral izquierdo, abre Admin (el icono de engranaje).
  3. Dentro de Admin, haz clic en Studio.
  4. Verás la lista de apps instaladas con su nombre, versión y estado (activa o archivada).

2. Explorar el detalle de una instalación

  1. En la lista de Studio, haz clic en el nombre de la app que quieras inspeccionar (por ejemplo, "uKCRM v1.2").
  2. Se abre el detalle con un resumen de cuántos recursos tiene:
    • ✓ Formularios
    • ✓ Listas de datos
    • ✓ Kanban (tableros de arrastre)
    • ✓ Dashboards (paneles de análisis)
    • ✓ Roles y permisos
    • ✓ Configuración avanzada
  3. Cada tipo es un botón clickable. Si haces clic, ves los recursos individuales (por ejemplo, "Formulario de Contacto", "Dashboard de Ingresos", etc.).

3. Ver el contenido de un recurso y sus badges de origen

  1. Desde el detalle de la instalación, selecciona un tipo (por ejemplo, "Formularios").

  2. Se abre la lista de formularios. Haz clic en uno (por ejemplo, "Contacto").

  3. Verás el formulario en modo lectura con badges de color junto a cada campo:

    • 🔒 del template — Este campo viene original del template. Si el template se actualiza a una versión nueva, este campo podría cambiar automáticamente. Si quieres modificarlo y que sea independiente del template, puedes "convertirlo en personalizado".

    • tu org — Tu organización añadió o personalizó este campo. Los updates del template NO afectan tus personalizaciones.

    • 👥 por rol — Este campo existe de forma distinta según el rol del usuario. Por ejemplo: los vendedores ven el campo "Teléfono", pero los managers ven además "Probabilidad de cierre".

    • 👤 mis preferencias — Este es tu setting personal (no organizacional). Otros usuarios de tu org ven algo distinto según sus preferencias.

4. Actualizar una app a una versión nueva

Disponible en S9-PRE-B3b. Requiere rol admin u owner.

Cuando el template de una app tiene una versión más nueva, puedes revisar y aplicar el update desde Studio sin perder tus personalizaciones.

4.1 Iniciar el análisis

  1. Desde la lista de Studio, haz clic en el nombre de la app que quieres actualizar.
  2. En la cabecera del detalle, haz clic en "Actualizar app".
  3. Se abre la pantalla de actualización con la lista de manifests de update disponibles.
  4. Selecciona el manifest de la versión de destino.
  5. Studio ejecuta automáticamente un análisis en seco (dry-run): revisa qué cambiaría sin tocar ningún dato real.

4.2 Revisar el informe

El informe clasifica cada cambio en tres categorías:

Categoría Qué significa
Añadidos Campos o recursos nuevos que se incorporarán sin riesgo.
⚠️ Requieren atención Cambios reversibles (renombrar un campo, mover datos). Tu organización puede decidir cómo proceder.
🔴 Bloqueantes Cambios que necesitan acción manual antes de poder aplicar el update (por ejemplo, una versión de plataforma incompatible o la eliminación de un campo con datos importantes).

Si hay elementos con "Requieren atención" del tipo "conflicto con tu personalización", verás un selector para decidir por cada uno:

  • Mantener mi personalización — conserva lo que tu org configuró.
  • Usar el template — acepta la versión del template (tu personalización se pierde).
  • Decidir después — deja el conflicto aparcado (el update queda bloqueado hasta que decidas).

4.3 Aplicar el update

El botón "Aplicar update" solo se activa cuando:

  • No hay elementos Bloqueantes pendientes.
  • Todos los conflictos de personalización tienen una decisión.

Al hacer clic en "Aplicar update":

  1. Studio aplica la migración en tu organización.
  2. Ves la confirmación con el estado aplicado y el ID de operación.

4.4 Revertir (rollback)

Si el update es reversible, verás el botón "Revertir update" en la pantalla de confirmación. Al hacer clic:

  1. Studio deshace todos los cambios del update.
  2. Ves la confirmación con el estado revertido.

Nota: no todos los updates son reversibles. Un update que elimina datos de forma permanente no puede deshacerse. El informe previo indica si el update es reversible.

Casos comunes

  • "Acabo de contratar uKore y quiero saber qué incluye el CRM" — Abre Admin → Studio → uKCRM → explora las secciones (Formularios, Listas, Dashboards).

  • "¿Puedo cambiar este campo del formulario de Contacto?" — Abre Admin → Studio → uKCRM → Formularios → Contacto. Si el campo tiene badge "🔒 del template", puedes convertirlo en personalizado (eso llegará en una versión futura de Studio). Si tiene badge "✎ tu org", lo cambió tu organización y podría ser editable (también en una versión futura).

  • "Tengo dos CRM instalados y no sé cuál es cuál" — En Studio, cada CRM aparece con su nombre diferente (ej. "CRM Principal" y "CRM para Resellers"). Haz clic en cada uno para ver sus recursos.

Editar una instalación

Disponible en S9-PRE-B4b. Requiere rol admin u owner.

Desde el detalle de un recurso puedes cambiar los valores simples de su configuración (textos, números y activar/desactivar opciones) y guardarlos como una personalización de tu organización. Los valores que modifiques se marcarán con el badge naranja ✎ tu org para que siempre sepas qué has cambiado.

Paso a paso

  1. En Studio, abre una instalación y haz clic en el nombre de un recurso (por ejemplo forms / contactForm).
  2. Pulsa el botón "Edit installation". Aparece el banner azul "✎ Editando instalación" en la cabecera.
  3. Modifica uno o varios campos del formulario. Los campos avanzados (estructuras internas como columnas o esquemas de campos) aparecen en modo lectura con la nota "La edición avanzada no está disponible aún".
  4. Pulsa "Save" para guardar. La página recarga automáticamente y los campos que hayas cambiado muestran el badge ✎ tu org.
  5. Para descartar los cambios antes de guardar, pulsa "Cancel".

Revertir al template

Si quieres eliminar todas las personalizaciones de tu organización en un recurso y volver a los valores originales del template:

  1. Abre el recurso en modo lectura (sin entrar en modo edición).
  2. Pulsa "Revert to template" (visible solo si el recurso tiene al menos una personalización de la capa org).
  3. Confirma el diálogo. La página recarga y los badges vuelven a mostrar 🔒 del template en todos los campos.

Nota: "Revertir" elimina la personalización de todo el recurso, no campo a campo. La vuelta campo a campo llegará en una próxima versión.


5. Editar columnas de lista (P1-49 E1)

Disponible en P1-49 E1. Requiere rol admin u owner. Solo disponible para recursos de tipo lista (sección "Lists" dentro de Studio).

Puedes elegir qué campos aparecen como columnas en una lista de datos, establecer su orden de visualización y decidir si cada columna puede ordenarse por los usuarios. Los cambios se guardan como una personalización de tu organización y tienen efecto inmediatamente — sin redeploy.

Paso a paso

  1. En Studio, abre una instalación (ej. "uKCRM v1.0") y haz clic en Lists.

  2. Haz clic en el nombre de una lista (ej. "contacts").

  3. Se abre el visor del recurso. Haz clic en "Editar columnas" entre los botones de acción.

  4. Se abre el editor de columnas con dos paneles:

    Campos disponibles — todos los campos definidos en el esquema de la entidad. La columna "En lista" muestra si el campo ya es una columna, No en caso contrario.

    Columnas seleccionadas (en orden) — las columnas que aparecerán en la lista, en el orden en que se mostrarán.

  5. Añadir una columna: haz clic en cualquier fila de "Campos disponibles" donde "En lista" sea No. El campo pasa a "Columnas seleccionadas" al final.

  6. Quitar una columna: haz clic en cualquier fila de "Campos disponibles" donde "En lista" sea . El campo se elimina de "Columnas seleccionadas".

  7. Reordenar columnas: en "Columnas seleccionadas", haz clic en la fila que quieras mover. Usa los botones "Subir" y "Bajar" que aparecen bajo la lista.

  8. Activar/desactivar ordenación: selecciona una fila en "Columnas seleccionadas" y activa o desactiva el interruptor Ordenable. Si es , los usuarios podrán hacer clic en el encabezado de la columna para ordenar la lista.

  9. Haz clic en "Save" para aplicar. La página recarga y las columnas se actualizan de inmediato.

  10. Para descartar cambios sin guardar, haz clic en "Cancel".

Revertir a los valores del template

Para eliminar todas las personalizaciones de columnas y restaurar las columnas originales del template:

  1. Abre el editor de columnas para la lista.
  2. Haz clic en "Revert to template" (solo visible cuando tu organización tiene personalizaciones guardadas).
  3. Confirma el diálogo. Todas las columnas vuelven a los valores del template.

Notas

  • Solo se pueden usar como columnas los campos definidos en el esquema de la entidad.
  • El orden de columnas afecta a todos los usuarios de tu organización.
  • Revertir elimina toda la personalización de columnas — la vuelta columna a columna llegará en una versión futura.

6. Crear y configurar botones (acciones)

Disponible en ADR-016 F1 + F1.2. Requiere rol admin u owner. Solo disponible para recursos de tipo entidad (sección "Entities" dentro de Studio).

Puedes crear y editar los botones que aparecen en la página de detalle de un registro (por ejemplo, "Convertir a oportunidad" en un lead), sin tocar ningún código ni JSON. Defines la etiqueta, cuándo se muestra el botón y qué hace al pulsarlo, dentro de un conjunto de acciones seguras predefinido.

El editor de un botón es un espacio de dos columnas: a la izquierda vas montando el botón paso a paso; a la derecha ves, en vivo, el botón real dentro de una ficha de ejemplo y una frase en lenguaje llano — "Qué pasa al pulsar" — que se actualiza mientras escribes. No hace falta salir del editor ni consultar un panel de ayuda aparte: elegir un tipo de acción muestra una tarjeta con icono y una frase de una línea, y el resto de esta sección (§6.1–§6.6) es la referencia completa de los tres tipos, para consultar mientras configuras un botón — igual que la documentación de una API.

Paso a paso

  1. En Studio, abre una instalación (ej. "uKCRM v1.0") y haz clic en Entities.

  2. Haz clic en el nombre de una entidad (ej. "contacts").

  3. Se abre el visor del recurso. Haz clic en "Edit actions" entre los botones de acción.

  4. Verás la lista de botones actuales de esa entidad, con su tipo y estilo.

  5. Añadir un botón: haz clic en "+ Add action". Se abre el espacio de construcción, con la vista previa en vivo a la derecha desde el primer momento:

    • Paso 1 — Lo básico: la Clave (identificador único del botón, ej. convert, nunca visible para el usuario), la Etiqueta en español e inglés (ambos idiomas obligatorios — el texto que verá el usuario) y el Estilo del botón (Destacado / Normal / Peligro, elegido con tres botones en lugar de un desplegable).
    • Paso 2 — ¿Qué hace al pulsarlo?: elige uno de los tres tipos de acción, mostrados como tarjetas (icono + nombre + una línea de qué hacen) en vez de un desplegable — ver la referencia completa en §6.1, §6.2 y §6.3. Al elegir un tipo, el Paso 3 cambia para mostrar solo los campos de ese tipo.
    • Paso 3 — Detalles (varía según el tipo): la ruta o la llamada a la API (método + ruta interna en una sola fila), y para "Confirmar y ejecutar" también el mensaje de confirmación. Junto a la ruta verás los chips de "Insertar un campo del registro" (ej. :status, :dealId) — haz clic en uno para insertarlo sin escribir el nombre a mano (ver §6.6). Para "Llamar a la API" y "Confirmar y ejecutar" también aparecen los "Datos a enviar" — ver §6.4.
    • Paso 4 — ¿Cuándo se muestra? (opcional): añade condiciones para que el botón solo aparezca en ciertos casos (ej. "mostrar solo si Estado es igual a Calificado"). Sin condiciones, el botón siempre es visible. Si el campo elegido tiene un conjunto cerrado de valores (por ejemplo Estado) o es un sí/no, el editor te ofrece un desplegable con los valores válidos en vez de un campo de texto libre — ver §6.5.
    • Vista previa (derecha): mientras rellenas los pasos anteriores, ves el botón real (con su etiqueta y estilo) dentro de una ficha de registro de ejemplo, y debajo la frase "Qué pasa al pulsar" actualizada en vivo — para "Confirmar y ejecutar" se muestra como dos pasos encadenados (Pregunta → Llama a la API). Si añades condiciones en el Paso 4, aparece también una nota de visibilidad ("Se muestra solo cuando…").
  6. Pulsa "Save" en la parte inferior del espacio de construcción para guardar el botón en la lista (todavía no se persiste — ver paso 8).

  7. Repite para crear más botones, o pulsa "Edit" / "Delete" / "↑" / "↓" en cada fila para editar, borrar o reordenar los existentes.

  8. Cuando termines, pulsa "Save" en la parte inferior de la pantalla para guardar todos los cambios como personalización de tu organización.

Revertir a los valores del template

Para eliminar todas las personalizaciones de botones y restaurar los botones originales del template:

  1. Abre el editor de acciones para la entidad.
  2. Pulsa "Revert to template" (solo visible cuando tu organización tiene personalizaciones guardadas).
  3. Confirma el diálogo. Todos los botones vuelven a los valores del template.

Por qué no puedo elegir cualquier tipo de acción

Por seguridad, el editor solo permite un conjunto cerrado de tipos de acción y nunca deja apuntar "Llamar a la API" a una web externa. Esto evita que un botón mal configurado pueda filtrar información fuera de uKore. Si necesitas un tipo de acción que no está en la lista, contacta con soporte.

6.1. Referencia: navigate (Ir a una pantalla)

Qué hace: lleva al usuario a otra pantalla dentro de uKore. No se envía nada al servidor — es solo navegación.

Parámetros:

Campo Qué acepta
Ruta La ruta interna a abrir. Admite :campo para insertar un valor del registro actual.

Ejemplo completo:

Clave: viewDeal
Etiqueta: Ver oportunidad
Tipo: navigate
Ruta: /crm/deals/:dealId/edit

Al pulsar el botón sobre un lead con dealId = "abc123", el usuario llega a /crm/deals/abc123/edit.

Cuándo usarlo: para abrir un registro relacionado o una pantalla concreta — no hace ningún cambio de datos.

Errores comunes: olvidar el : antes del nombre de campo (escribir dealId en vez de :dealId navega literalmente a esa ruta, sin sustituir nada).

6.2. Referencia: callEndpoint (Llamar a la API)

Qué hace: ejecuta una acción en el servidor de uKore de inmediato, sin pedir confirmación. Solo se permiten rutas internas (que empiezan por /) — nunca una web externa, por seguridad (ver "Por qué no puedo elegir cualquier tipo de acción" arriba).

Parámetros:

Campo Qué acepta
Llamada a la API (método + ruta) El método indica qué tipo de cambio hace: GET lee datos, POST crea, PUT/PATCH actualizan, DELETE elimina — la mayoría de botones usan PUT o POST. La ruta es la ruta interna de la API a llamar; debe empezar por / y puede usar :campo. Nunca se permiten webs externas.
Datos a enviar Opcional — ver §6.4.

Ejemplo completo:

Clave: markVip
Etiqueta: Marcar VIP
Tipo: callEndpoint
Método: PUT
Ruta: /crm/contacts/:id
Datos a enviar: isVip = Sí/No → true

Al pulsar el botón sobre un contacto con id = "c1", uKore hace PUT /crm/contacts/c1 enviando { "isVip": true }.

Cuándo usarlo: cambios rápidos y de bajo riesgo que el usuario no necesita confirmar antes.

Errores comunes: dejar la ruta vacía o apuntarla a una web externa (el editor lo bloquea al guardar); esperar que el body admita :campo — no lo admite, solo la ruta (ver §6.4).

6.3. Referencia: confirmAndExecute (Confirmar y ejecutar)

Qué hace: pide confirmación al usuario primero y, si confirma, hace exactamente lo mismo que "Llamar a la API". Mismas reglas de seguridad para la ruta interna.

Parámetros:

Campo Qué acepta
Mensaje de confirmación (inglés) / (español) La pregunta que se muestra antes de ejecutar la acción, en ambos idiomas.
Estilo de confirmación Estilo visual del diálogo: info (neutro), warning (precaución) o error (destructivo).
Llamada a la API (método + ruta) Igual que "Llamada a la API" en callEndpoint — es la llamada que se ejecuta si el usuario confirma.
Datos a enviar Opcional — ver §6.4.

Ejemplo completo:

Clave: archive
Etiqueta: Archivar
Tipo: confirmAndExecute
Mensaje de confirmación: ¿Archivar este lead?
Estilo de confirmación: warning
Método: PUT
Ruta: /crm/leads/:id
Datos a enviar: archived = Sí/No → true

Al pulsar el botón sobre un lead con id = "l1", aparece el diálogo "¿Archivar este lead?"; si el usuario confirma, uKore hace PUT /crm/leads/l1 enviando { "archived": true }. Si cancela, no pasa nada.

Cuándo usarlo: cambios destructivos o difíciles de deshacer (archivar, eliminar, cambios de estado irreversibles).

Errores comunes: dejar el mensaje de confirmación vacío en un idioma (el editor exige ambos); confundirlo con callEndpoint cuando en realidad no quieres pedir confirmación.

6.4. Datos a enviar (body)

callEndpoint y el "then" de confirmAndExecute admiten, de forma opcional, una lista de pares clave / valor que se envían junto con la llamada — por ejemplo, el nuevo valor de un campo (isVip: true, archived: true, tier: 3).

  • Por cada fila eliges una clave (el nombre del campo tal y como lo espera la API, ej. isVip), un tipo (Texto, Número, Sí/No o Valor dinámico) y un valor.
  • Los valores fijos (Texto/Número/Sí-No) se envían tal cual — a diferencia de la ruta/URL, aquí no se admite :campo. Si necesitas enviar el valor de un campo del registro, contacta con soporte (llegará en una versión futura).
  • Una fila con la clave vacía se ignora al guardar (no rompe el botón).

Valor dinámico: en vez de un valor fijo, el campo se rellena automáticamente al pulsar el botón, con uno de estos dos valores — resuelto siempre por el servidor, nunca por tu navegador:

Opción Qué guarda
Fecha y hora actual El momento exacto en que se pulsó el botón (reloj del servidor).
Usuario actual La persona que ha iniciado sesión y ha pulsado el botón.

Al elegir "Valor dinámico" desaparece el campo de texto/número — no hay nada que escribir, el editor ya sabe qué guardar.

Ejemplo: quieres un botón "Marcar como contactado" en un lead que, al pulsarlo, registre cuándo se contactó por última vez. En el Paso 3 añades una fila de "Datos a enviar" con clave lastContactedAt, tipo Valor dinámico y opción Fecha y hora actual. Cada vez que alguien del equipo pulse el botón, ese campo se actualiza con la fecha y hora exactas — sin que nadie tenga que teclear nada.

6.5. Condiciones "Mostrar cuando…"

Cada fila de condición combina un campo, un operador y (salvo para "has a value") un valor:

Operador Significado
equals El botón se muestra solo cuando el campo tiene exactamente este valor.
is not (notEquals) El botón se muestra solo cuando el campo NO tiene este valor.
has a value (exists) El botón se muestra solo cuando el campo está relleno. Elige "No" para exigir que esté vacío en vez de relleno.

Varias condiciones se combinan siempre con Y (todas deben cumplirse).

El control de valor se adapta al tipo de campo elegido:

  • Si el campo tiene un conjunto cerrado de valores (por ejemplo "Estado": Nuevo / Calificado / Convertido), el editor muestra un desplegable con esos valores en vez de un campo de texto libre — no hace falta adivinar cómo se escribe cada valor internamente.
  • Si el campo es de sí/no, el editor muestra un desplegable Sí/No.
  • Para el resto de campos, es un campo de texto libre con un ejemplo de relleno (placeholder).

6.6. Insertar valores de campo (:campo)

En cualquier ruta (Paso 3: Ruta, o la ruta de la Llamada a la API, incluida la de "Confirmar y ejecutar") puedes escribir :nombreDeCampo para insertar el valor de ese campo del registro que esté abierto en ese momento — por ejemplo, /crm/deals/:dealId/edit inserta el ID de la oportunidad del registro actual. Para no tener que escribir el nombre a mano, usa los chips de "Insertar un campo del registro" que aparecen junto a la ruta en el Paso 3 — un clic inserta el token correcto.

Esto solo funciona en rutas/URLs. Los valores fijos que escribas en "Datos a enviar" (§6.4) siempre se envían tal cual, como texto fijo — la única forma de que un campo del body no sea un valor fijo es elegir Valor dinámico (§6.4), que también se resuelve en el servidor.

Notas

  • Revertir elimina toda la personalización de botones — no botón a botón.
  • Los tipos de acción avanzados (flujos de trabajo/transiciones, avisos externos) llegarán en próximas versiones de Studio.

Desinstalar una app

Puedes desinstalar una app instalada desde la página de detalle del Studio. Al desinstalar se corta el acceso al módulo para todos los usuarios de la organización de forma inmediata. Los datos de negocio no se borran — contactos, deals y demás registros se conservan y puedes recuperar el acceso reinstalando la misma app desde el Marketplace.

Paso a paso

  1. En Studio, abre la instalación que quieres desinstalar.
  2. Pulsa el botón rojo "Desinstalar" (visible solo si la app está en estado installed).
  3. Confirma el diálogo: "¿Desinstalar esta app? Todos los usuarios perderán acceso inmediatamente al módulo. Tus datos de negocio se conservan y puedes recuperar el acceso reinstalando."
  4. El sistema desinstala la app y te redirige al listado de apps instaladas.

¿Qué pasa después de desinstalar?

Efecto Detalle
Acceso al módulo Cortado de inmediato para todos los usuarios
Datos de negocio Se conservan (contactos, deals, etc.)
Menú de navegación La sección del módulo desaparece automáticamente
Reinstalación Posible en cualquier momento desde el Marketplace

Errores al desinstalar

Error Causa Solución
"No tienes permiso para desinstalar esta app" Solo pueden desinstalar roles admin/owner Pide a un owner que lo haga
"Instalación de app no encontrada" El slot ya no existe Recarga Studio y comprueba el listado
"Esta app ya está desinstalada" Se desinstalé previamente Reinstala desde el Marketplace si lo necesitas

Errores frecuentes

  • No veo Studio en el menú de Admin — Tu organización no tiene instalada ninguna app aún, o no tienes permiso de admin. Habla con el administrador de tu organización.

  • "Sin permiso para editar" — Necesitas rol admin u owner. Habla con el administrador de tu organización.

  • "Recurso no encontrado" — El recurso puede haber sido eliminado o la instalación ya no está disponible. Vuelve al listado de recursos y recarga.

  • Una app aparece como "archivada" — Se desinstalé. Los datos se conservan. Puedes reinstalarla desde el Marketplace.

Permisos requeridos

Acción Rol mínimo
Crear una app nueva admin
Ver Studio y apps instaladas admin
Actualizar una app (dry-run + apply) admin
Revertir un update admin
Editar una instalación admin
Revertir al template admin
Editar columnas de lista admin
Crear y configurar botones admin
Desinstalar una app admin

Versión actual

P1-N23 F1 — Studio incluye ahora:

  • Crear una app nueva: botón "+ Nueva app" que crea una app en blanco (sin entidades todavía) dando solo nombre + namespace — aparece de inmediato en el selector de apps y en Studio (App Builder MVP, paso 1)
  • Selector de apps en la barra de navegación: ver en qué app estás y cambiar entre las instaladas (P1-N20)
  • Visualización de apps instaladas y sus recursos (badges de origen)
  • Flujo de actualización: análisis en seco → revisión de informe → apply/rollback
  • Editar instalación: modificar valores simples de un recurso y revertir al template
  • Desinstalar app: botón Desinstalar con confirmación en el detalle de instalación
  • Editar columnas de lista: elige qué columnas aparecen, su orden y si son ordenables (E1)
  • Crear y configurar botones: crea, edita, reordena y borra las acciones/botones de una entidad, con condiciones de visibilidad, dentro de un catálogo seguro de tipos de acción — con explicación y ejemplo por tipo, guía de campos, chips de campos disponibles, valores guiados en las condiciones y un body clave/valor para callEndpoint/confirmAndExecute (F1 + F1.1)
  • Abrir y usar tu app: elegir una app que no es uKCRM en el selector ahora abre la app en sí (su página de inicio, con las entidades como navegación) en vez de solo su pantalla de gestión en Studio (App Builder v2 T1)

Las próximas versiones añadirán:

  • Propiedades de visualización de columna: ancho, formato, visibilidad (E4)
  • Edición de propiedades de formularios y estados de kanbans (E2, E3)
  • Editor de flujos de trabajo/transiciones (F2) y de avisos externos (F3)
  • Conversión de personalizaciones en templates propios

Ver también