Loading
Automatizar sus procesos comerciales con Salesforce Flow
Contexto de ejecución de flujo

Contexto de ejecución de flujo

Los flujos se ejecutan en contexto de usuario o contexto de sistema. Para un flujo que se ejecuta en contexto de usuario, el perfil y los conjuntos de permisos del usuario que ejecuta determinan los permisos de objetos y el acceso a nivel de campos del flujo. Para un flujo que se ejecuta en un contexto del sistema, el acceso de flujo se determina por si el flujo se ejecuta en contexto del sistema con colaboración o sin colaboración.

Ediciones necesarias

Ver ediciones compatibles.

El contexto en el que se ejecuta el flujo afecta a lo que los siguientes elementos de flujo pueden hacer con datos de Salesforce:

  • Acción
  • Crear registros
  • Eliminar registros
  • Obtener registros
  • Subflujo
  • Actualizar registros
  • Cualquier otro elemento del flujo que accede a los campos desde un registro

Los flujos se ejecutan en contexto de usuario o contexto de sistema, dependiendo desde dónde se inicie el flujo. Cuando un flujo se ejecuta en un contexto de sistema, se ejecuta para todos los usuarios, incluyendo los usuarios con el perfil Usuario invitado.

Método de iniciación de flujo Contexto predeterminado
Apex Depende del código
Sitio de Experience Cloud Usuario
Integrado como un componente visual dentro de un componente Aura personalizado Usuario
Integrado como un componente visual dentro de una pƔgina de Visualforce Usuario
Botón personalizado Usuario
VĆ­nculo personalizado Usuario
VĆ­nculo directo Usuario
Acción de flujo Usuario
PƔgina Lightning Usuario
Evento de plataforma Contexto del sistema sin colaboración
Procesos construidos en Process Builder Contexto del sistema sin colaboración
Desencadenadores de registros Contexto del sistema sin colaboración
API de REST Usuario
Ejecución desde un método Apex de un controlador de componente Aura personalizado Depende del código
Ejecución desde un método Apex de un controlador de Visualforce Depende del código
Desencadenado por programación Contexto del sistema sin colaboración
Ficha Web Usuario

Usuario que ejecuta un flujo

El usuario que ejecuta un flujo es el usuario que inició el flujo. El usuario que ejecuta determina lo que puede hacer un flujo que se ejecuta en contexto de usuario con los datos de Salesforce.

Para un flujo que se ejecuta en contexto de usuario, el perfil y los conjuntos de permisos del usuario que ejecuta determinan los permisos de objetos y el acceso a nivel de campos del flujo. Cuando un flujo intenta crear, leer, modificar o eliminar datos de Salesforce, aplica los permisos y el acceso a nivel de campos del usuario que ejecuta. Por ejemplo, si el usuario que ejecuta no tiene permiso de modificación para el objeto Cuenta y el flujo intenta actualizar registros de cuentas, se produce un error. Si el usuario que ejecuta no tiene permiso para modificar el campo Calificación en el objeto Cuenta y el flujo intenta actualizar ese campo, se produce un error.

La configuración predeterminada de toda la organización, las jerarquías de funciones, las reglas de colaboración, la colaboración manual, los equipos y los territorios también afectan a los datos que estÔn accesibles para los flujos que se ejecutan en contexto de usuario. Si la configuración predeterminada de toda la organización del objeto Oportunidad es privada y no se han compartido registros de oportunidades con el usuario que ejecuta, el flujo no puede leer ni modificar ningún registro de oportunidad.

Limitaciones

  • Los componentes Lightning, como los componentes de pantalla y las acciones locales, siempre se ejecutan en contexto de usuario.
  • Si el contexto depende del código, Apex utiliza las palabras clave with sharing y without sharing para especificar si se aplica la configuración predeterminada de toda la organización, jerarquĆ­as de funciones, reglas de colaboración, colaboración manual, equipos y territorios. Un flujo llamado por Apex siempre ignora los permisos de objetos y acceso a nivel de campos.
  • Cuando un flujo desencadenado por registro, un flujo desencadenado por programación o un proceso invoca un mĆ©todo invocable de Apex desde una clase de Apex con la declaración de colaboración heredada, el mĆ©todo invocable se ejecuta en contexto del sistema con colaboración. Los flujos y procesos se ejecutan en contexto del sistema sin colaboración.
  • Si un proceso desencadena el flujo para iniciarse, el usuario que desencadenó el proceso requiere a veces otros permisos. Por ejemplo, si un proceso inicia un flujo que intenta guardar asignaciones de licencias de conjunto de permisos y el usuario que ejecuta no tiene el permiso Asignar conjuntos de permisos, se produce un error.
  • Un flujo siempre se ejecuta en contexto de usuario cuando ejecuta la acción Publicar en Chatter.
  • Seguridad de datos al ejecutar flujos de pantalla e iniciados automĆ”ticamente en contexto del sistema
    Los flujos de pantalla y los flujos iniciados automƔticamente sin desencadenadores pueden exponer mƔs datos de los previstos. Este posible problema afecta principalmente a sitios de Experience Cloud a los que acceden usuarios externos. Configure permisos de usuario apropiados para la seguridad a nivel de campo y a nivel de registro en vez de ejecutar flujos en contexto del sistema. Cuando el contexto del sistema es necesario, utilice solo los campos y registros mƭnimos requeridos.
  • Establecer contexto de ejecución de flujo en modo del sistema
    Forzar la ejecución de un flujo en contexto del sistema con o sin colaboración, sustituyendo su contexto predeterminado. Con la colaboración, el flujo respeta las reglas de colaboración pero ignora los permisos de objeto y campo. Sin colaboración, el flujo accede a todos los datos.
 
Cargando
Salesforce Help | Article