Cómo utilizar Regex para definir el dominio o los dominios que inyectan WalkMe.

Last Updated marzo 13, 2026

Directrices generales

Regex debe ser lo más específico posible, pero también lo suficientemente general como para funcionar en diferentes páginas. Para lograr este equilibrio, utiliza prefijos específicos del cliente.

El Regex para cada entorno debe ser diferente. Los prefijos también son útiles aquí.

Comienza y termina cada cadena de regex con .*.

  • Ejemplo: .*salesforce.com.*

En lugar de utilizar dígitos, utiliza .*. Reemplaza cualquier número en una URL con .*.

Asegúrate de poner un \ antes de cada punto.

  • Ejemplo: .*salesforce \. com.*

No es necesario que se escapen los guiones.

  • Ejemplo:
    • No utilices: .*panasonic\-\-full\.salesforce\.com.*
    • Utiliza :  .*panasonic--full\.salesforce\.com.*)

Para incluir una URL con dos o más prefijos diferentes (primero|segundo|tercero|etc.) donde se encuentren los prefijos.

Para que el regex excluya una palabra, consulta el siguiente ejemplo, donde deseas crear una extensión con una cuenta de editor en Salesforce Classic y otra en Salesforce Console.

  • Ejemplo:
    • Regex clásico de Salesforce: .*cs.*.salesforce.com(?!console).*
      • Nota: Esta (?!consola) excluye la palabra consola del regex.
    • Consola de Salesforce regex: .*cs.*.salesforce.com/console.*

Para incluir más de un regex en un paquete, coloca un | entre cada regex sin espacios.

  • Ejemplo: .*cs.*.salesforce.com.*|.*cs.*.visual.force.com.*

Asegúrate de nunca dejar dos || consecutivos en un paquete, ya que esto causará una lista de permisos que coincidirá con todas las URL e introducirá errores en ciertos sitios.

Regex reconoce las mayúsculas y minúsculas. Asegúrate de que coincida con el uso correcto de mayúsculas y minúsculas de la URL dentro de la expresión regular.

Regex de dominio más estricto.

Puede haber un escenario en el que debas "ajustar" el regex para excluir un marco específico. Por ejemplo, es posible que desees que WalkMe solo inyecte en un iFrame específico, pero el dominio de ese iFrame se incluye en muchos otros iFrames como referencia.

Ejemplo de dominio de iFrame en el que deseas que aparezca WalkMe:

  • https://visual.force.com/1000

Ejemplo de dominio de iFrame en el que estamos intentando evitar que WalkMe se inyecte:

  • salesforce.com/referrer?=https://visual.force.com/1000

Para especificar que el regex debe estar al principio de la URL, utilizamos:

  • ^https?://[^/]*(visual.force).com

Al utilizarlo, este WalkMe solo inyectará en el https://visual.force.com iFrame si es la primera parte de la URL.

Consejos Regex específicos de la plataforma

A menudo se nos pide que configuremos una serie de extensiones que son estándar.

Salesforce

Es extremadamente importante crear extensiones de Salesforce con cuidado y probarlas en varios escenarios de prueba debido a la variación en la plataforma en todas las páginas y la presencia de muchos iFrames de análisis que ocupan 0px.

Crear la extensión

  • Utiliza un regex negativo para evitar el servidor de sesiones y otras inyecciones innecesarias: (?!/(login/sessionserver|s.gif).
  • Utilizar la lógica "O" dentro del paquete es más eficiente que crear dos extensiones separadas.
  • "na"  puede ser a veces  "ap", " eu" o "cs" dependiendo de la ubicación geográfica del servidor de Salesforce, pero generalmente no cambia, así que mantén la URL que tienes
    • na significa NorthAmerica, ap significa Asia-Pacific y eu significa Europe, Middle East or Africa. cs representa un entorno de sandbox
    • El número junto al código de 2 letras indica la instancia del servidor en el país asignado. Esto puede cambiar al cargar un nuevo entorno o actualizar uno existente.
    • Puedes ver el estado de salud de los servidores de Salesforce en  http://trust.salesforce.com/trust/instances

Pruebas de la extensión

  • Pide al CSM que proporcione una página "pesada" con mucho contenido o, alternativamente, una página importante en la implementación y asegúrate de que funcione bien allí.
  • Verifica que la extensión no se esté inyectando en demasiados iFrames utilizando la  Herramienta de diagnóstico de extensión maestra
Nota

Al crear/probar en Salesforce Lightning, utiliza una extensión  nueva sin el componente "walkme_"; por ejemplo, walkmecs funcionará y walkme_cs no.

Prueba

Sitio web  URL de ejemplo  Regex sugerido
Salesforce Classic https://panasonic--fullcopy.cs24.my.salesforce.com/
https://panasonic--fullcopy--field-trip.cs24.visual.force.com/
 .*customername.*.cs.*.my.salesforce.com.*|.*cs.*.salesforce.com/(?!console).*|.*cs.*.visual.force.com.*
Salesforce Lightning  https://cs24.lightning.force.com/  .*cs.*.lightning.force.com.*
Consola de Salesforce  https://cs6.salesforce.com/console?tsid=02u50000000e56v  .*cs.*.salesforce.com/console.*


Producción

Sitio web  URL de ejemplo  Regex sugerido
Salesforce Classic https://panasonic.my.salesforce.com/home/home.jsp
https://panasonic--c.na34.visual.force.com/
 .*customername.my.salesforce.com.*|.*na.*.salesforce.com/(?!console).*|.*na.*.visual.force.com.*
Salesforce Lightning https://na34.lightning.force.com/  .*na.*.lightning.force.com.*
Consola de Salesforce https://na2.salesforce.com/console?tsid=02u50000000e56v  .*na.*.salesforce.com/console.*

En los ejemplos anteriores, notarás que hemos añadido (?!console) al regex de Salesforce Classic. Dado que estos paquetes están dentro de la misma extensión y las URL clásicas y las URL de la consola son bastante similares, no queremos que WalkMe se confunda y se cargue WalkMe donde no debería (o no se cargue en absoluto). La única diferencia entre una de las URL clásicas y la URL de la consola es que la URL de la consola tiene "/console" al final. Por lo tanto, añadimos la (?!consola) al regex de Salesforce Classic para garantizar que no se cargue ningún contenido destinado a la consola de Salesforce.

Workday®

Prueba

 URL de ejemplo  Regex sugerido
  impl.workday.com/tripadvisor/d/home.htmld  .*impl.workday.com/customername.*

Producción

 URL de ejemplo  Regex sugerido
 https://www.myworkday.com/sunbeltrentals/login.flex  .*myworkday.com/customername.*

SuccessFactors

Prueba

 URL de ejemplo  Regex sugerido
https://hcm4preview.sapsf.com/ .*hcm.*preview.sapsf.com.*

Producción

 URL de ejemplo  Regex sugerido
https://performancemanager5.successfactors.com/ .*performancemanager.*.successfactors.com.*
Nota

Las URL de SuccessFactors no tienen un patrón constante. La producción y las pruebas pueden ser prácticamente idénticas, por ejemplo: https://performancemanager5.successfactors.eu.
Si ese es el caso, utiliza diferentes extensiones con el mismo regex.

Distinguir entre URL similares pero diferenciadas de forma crítica.

Al configurar una extensión, a menudo necesitarás varios paquetes para diferentes plataformas, por ejemplo, uno para Salesforce normal (SFDC) y otro para Service Cloud. En tales casos, la extensión de navegador utilizará regex para diferenciar entre plataformas e inyectar diferentes fragmentos en estas diferentes plataformas según corresponda. En el SFDC Service Cloud hipotético, podríamos utilizar Regex para diferenciar entre estas plataformas de la siguiente manera:

URL normal de SFDC:

URL normal de Service Cloud:

Declaración Regex para que la extensión capture cualquier URL de Service Cloud:

  • .*cs2.salesforce.com/console.*

Esto se basa en la aparición del término "consola" inmediatamente después del salesforce.com domain.

Debido a que una diferencia clara entre la URL de Service Cloud y la URL de SFDC es la aparición de la palabra "consola" inmediatamente después de "salesforce.com", podemos utilizar esto para nuestra ventaja.

Utilizando los símbolos de regex "?!", podemos distinguir todas las instancias de "salesforce.com" que no estén seguidas de la palabra "console" y, dadas nuestras dos URL base, sabemos que serán URL de SFDC.

SFDC regex:

  • .*cs2.salesforce.com/(?!console).*

Aquí, "?!console" significa cualquier URL que posea los elementos en este regex, donde "console" NO aparece en esta posición de la expresión.

Esto no coincidirá https://cs2.salesforce.com/console?tsid=02u5000000e56v, pero coincidirá https://cs2.salesforce.com/home/home.jsp?tsid=02u0000000000hV.se

Was this article helpful?

Thanks for your feedback!

Be part of something bigger.

Engage with peers, ask questions, share ideas

Explore our community
×