Configuración
Configure los componentes de Flexible Team Share, sincronización de propietarios y trabajos programados.
Configuración del Componente
El componente Object Team Member puede configurarse directamente en Lightning App Builder con las siguientes propiedades:
| Propiedad | Tipo | Predeterminado | Descripción |
|---|---|---|---|
| Card Title | String | Team Members | El título mostrado en la tarjeta del componente |
| Max Displayed Members | Integer | 5 | Número máximo de miembros del equipo mostrados antes de contraerse. Establézcalo en 0 para mostrar todos |
Cuando el número de miembros del equipo excede el límite configurado, la lista se contrae y muestra un botón “Show all (X more)”. Al hacer clic en él, se expande la lista completa, con un botón “Show less” para contraerla nuevamente. El propietario del registro siempre aparece primero en la lista, independientemente del límite de visualización.


Comportamiento del Límite de Visualización
| Configuración | Comportamiento |
|---|---|
| Max Displayed Members = 5 (predeterminado) | Muestra los primeros 5 miembros, “Show X more” para el resto |
| Max Displayed Members = 0 | Todos los miembros del equipo visibles, sin contraer/expandir |
| Max Displayed Members = 3 (personalizado) | Muestra los primeros 3 miembros, “Show X more” para el resto |
Roles de Miembros del Equipo
Al agregar usuarios a un equipo, se les asigna uno de los siguientes roles:
| Rol | Descripción | Capacidades |
|---|---|---|
| Owner | El propietario del registro | Se asigna automáticamente cuando se crea un registro. No se puede asignar o eliminar manualmente. Tiene acceso completo para gestionar miembros del equipo. Se elimina automáticamente cuando no hay otros usuarios en el equipo. |
| Manager | Administrador del equipo | Puede agregar, editar y eliminar miembros del equipo. Use este rol para usuarios que necesitan gestionar la composición del equipo. |
| User | Miembro de equipo estándar | Puede ver la lista de miembros del equipo pero no puede modificarla. Use este rol para usuarios que solo necesitan acceso al registro. |

Sincronización de Cambio de Propietario
Cuando el propietario del registro cambia (por ejemplo, una Cuenta se reasigna a otro representante de ventas), el miembro del equipo Owner NO se actualiza automáticamente. El sistema crea el registro Owner cuando se agrega el primer miembro del equipo, pero no rastrea los cambios posteriores de propietario en el registro padre.
Para mantener el Owner del equipo sincronizado con el propietario del registro, debe crear un Record-Triggered Flow.
Configuración mediante Flow (Recomendado)
- Vaya a Setup > Flows
- Haga clic en New Flow > Record-Triggered Flow
- Seleccione el objeto (por ejemplo, Account)
- Configure el disparador: “A record is updated”
- Agregue Entry Condition: Formula >
ISCHANGED({!$Record.OwnerId})se evalúa comotrue - Establezca “When to Run the Flow” en “After the record is saved”
- Agregue el elemento Action
- Busque “Sync Team Member Owner”
- Establezca el parámetro “Record ID” en
{!$Record.Id} - Deje “Object API Name” vacío (se deriva automáticamente del Record ID)
- Guarde y Active el Flow

Configuración mediante Apex Trigger
trigger AccountOwnerSync on Account(after update) {
List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest> requests =
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>();
for (Account acc : Trigger.new) {
Account oldAcc = Trigger.oldMap.get(acc.Id);
if (acc.OwnerId != oldAcc.OwnerId) {
tucariofts.SyncOwnerInvocable.SyncOwnerRequest req =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
req.recordId = acc.Id;
requests.add(req);
}
}
if (!requests.isEmpty()) {
tucariofts.SyncOwnerInvocable.syncOwners(requests);
}
}
Llamada desde Código Apex (Registro Único)
tucariofts.SyncOwnerInvocable.SyncOwnerRequest request =
new tucariofts.SyncOwnerInvocable.SyncOwnerRequest();
request.recordId = accountId;
List<tucariofts.SyncOwnerInvocable.SyncOwnerResult> results =
tucariofts.SyncOwnerInvocable.syncOwners(
new List<tucariofts.SyncOwnerInvocable.SyncOwnerRequest>{ request }
);
if (results[0].success) {
System.debug('Owner synced: ' + results[0].oldOwnerId +
' → ' + results[0].newOwnerId);
} else {
System.debug('Sync failed: ' + results[0].message);
}
Objeto de Resultado
| Campo | Tipo | Descripción |
|---|---|---|
success | Boolean | Si la sincronización tuvo éxito |
message | String | Mensaje de resultado o detalles del error |
oldOwnerId | Id | ID de Usuario del propietario anterior |
newOwnerId | Id | ID de Usuario del nuevo propietario |
Escenarios de Error
| Escenario | Resultado |
|---|---|
| No hay miembros del equipo en el registro | success = false, “No Owner team member found” |
| Propietario sin cambios | success = true, “Owner unchanged, no update needed” |
| Record ID null | success = false, “Record ID is required” |
| Record ID inválido | success = false, mensaje de error |
Limitaciones Importantes
Queue Owners Not Supported — Flexible Team Share no admite Colas como propietarios de equipo. Cuando un registro es propiedad de una Cola:
- El sistema usa el usuario actual (la persona que primero agrega un miembro del equipo) como el Owner en el equipo
- Si luego cambia el propietario del registro de una Cola a un Usuario, ejecute la acción Sync Owner para actualizar el equipo
- Si cambia el propietario de un Usuario a una Cola, el Owner del equipo permanecerá como el usuario anterior
Flow Must Be Created Per Object — Debe crear un Flow separado para cada tipo de objeto donde desee sincronización de propietario. La Invocable Action funciona con cualquier objeto, pero Salesforce requiere Record-Triggered Flows separados por objeto.
Acceso Temporal con Fecha de Finalización
Al agregar un miembro del equipo, puede establecer opcionalmente una End Date para otorgar acceso temporal a un registro. Esto es útil para:
- Colaboraciones basadas en proyectos con plazos definidos
- Consultores o contratistas temporales
- Cobertura de vacaciones o responsabilidades delegadas
- Períodos de auditoría o revisión
Cómo Funciona
- Al agregar o editar un miembro del equipo, establezca el campo End Date en el último día que deben tener acceso
- El miembro del equipo retiene acceso completo hasta el final de ese día
- Después de que pase la End Date, el trabajo de limpieza programado elimina automáticamente al miembro del equipo y revoca su acceso

Proceso de Limpieza Automática
- Un trabajo de lote programado se ejecuta diariamente (por defecto a las 2:00 AM) para eliminar miembros del equipo vencidos
- Cuando se elimina un miembro del equipo, su registro compartido también se elimina, revocando el acceso al registro
- El trabajo de limpieza puede gestionarse desde el Asistente de Configuración

Trabajo Programado
Flexible Team Share incluye un trabajo de limpieza automática que elimina miembros del equipo vencidos. Este trabajo se programa automáticamente durante la instalación del paquete.
Verificar el Trabajo
- Vaya a Setup > Scheduled Jobs
- Busque Flexible Team Share - Expired Member Cleanup
- Verifique que el trabajo esté programado para ejecutarse diariamente

Gestión Manual del Trabajo
Los administradores pueden gestionar el trabajo de limpieza desde el Asistente de Configuración:
- Schedule Job — Programar manualmente si no está ejecutándose
- Unschedule Job — Detener la limpieza automática
- Run Now — Ejecutar la limpieza inmediatamente
Solución de Problemas
Advertencia “Configuration Not Found”
Síntoma: Aparece un modal de advertencia indicando que no existe configuración para este objeto.
Causa: El componente Miembro de Equipo se agregó a una página de registro antes de configurar el objeto en el Asistente de Configuración.
Solución:
- Vaya al Asistente de Configuración (aplicación Flexible Team Share > Configuration)
- Agregue y despliegue una configuración para este objeto
- Regrese a la página de registro — el componente ahora debería funcionar correctamente

Error “No Access”
Síntoma: El componente muestra un mensaje “No Access” con un icono de candado en lugar de miembros del equipo.
Causa: El usuario actual no tiene asignado el Permission Set Group requerido.
Solución:
- Vaya a Setup > Permission Set Groups
- Asigne el Permission Set Group Admin o User a los usuarios afectados
- Los usuarios pueden necesitar cerrar sesión y volver a iniciar sesión para que los cambios surtan efecto

El error “This operation requires the FTS Admin permission set” persiste
Síntoma: Al desplegar una configuración en el Configuration Wizard (seleccionando un objeto y haciendo clic en Deploy Settings), aparece el error “This operation requires the FTS Admin permission set” — aunque el conjunto de permisos Flexible Team Share - Admin ya esté asignado al usuario.
Causa: Se trata de una particularidad del almacenamiento en caché de permisos de Salesforce. Después de asignar un conjunto de permisos, Salesforce a veces continúa evaluando el estado de permisos anterior del usuario durante la sesión activa, por lo que el acceso recién concedido no se reconoce de inmediato.
Solución:
- Verifique que el conjunto de permisos Flexible Team Share - Admin (o el Admin Permission Set Group) esté asignado al usuario en Setup > Permission Set Groups / Permission Sets
- Realice una recarga forzada en el navegador para obligar a Salesforce a reevaluar los permisos:
- Windows:
Ctrl + Shift + R - Mac:
Cmd + Shift + R
- Windows:
- Si el error persiste, cierre sesión y vuelva a iniciar sesión para comenzar una sesión nueva
- Vuelva a intentar la acción Deploy Settings — la operación ahora debería completarse correctamente
Advertencia “Limit Reached”
Síntoma: El botón “Add Team Member” está deshabilitado y un mensaje indica que se ha alcanzado el límite.
Causa: Ha alcanzado el número máximo de miembros del equipo permitidos.
Solución: Elimine miembros del equipo inactivos o innecesarios para liberar espacios.
| Miembros del Equipo Dentro del Límite | Miembros del Equipo Más Allá del Límite |
|---|---|
![]() | ![]() |

El Uso Compartido No Funciona
Síntoma: Los miembros del equipo se agregan exitosamente pero no pueden acceder al registro.
Causa: La configuración de Organization-Wide Default (OWD) del objeto está establecida en Public Read/Write.
Solución:
- Vaya a Setup > Sharing Settings
- Cambie el OWD del objeto a Private o Public Read Only
- Nota: Cambiar la configuración de OWD puede afectar el acceso de otros usuarios — consulte con su administrador de Salesforce
Soporte
Para preguntas o problemas, comuníquese con [email protected].

