Remove WalkMe from Concur

Removes WalkMe integration from Concur

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Remove WalkMe from Concur
// @namespace    https://github.com/ajlanghorn
// @version      1.0
// @description  Removes WalkMe integration from Concur
// @author       ajlanghorn
// @match        https://*.concursolutions.com/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    
    // Function to remove WalkMe
    function removeWalkMe() {
        if (window._walkMe && typeof window._walkMe.removeWalkMe === 'function') {
            window._walkMe.removeWalkMe();
            console.log('WalkMe removed from Concur');
        }
    }
    
    // Try to remove WalkMe immediately
    removeWalkMe();
    
    // Also try after page load in case WalkMe loads later
    window.addEventListener('load', removeWalkMe);
    
    // Check periodically in case WalkMe loads asynchronously
    const checkInterval = setInterval(() => {
        if (window._walkMe) {
            removeWalkMe();
            clearInterval(checkInterval);
        }
    }, 1000);
    
    // Stop checking after 30 seconds
    setTimeout(() => {
        clearInterval(checkInterval);
    }, 30000);
})();