Escaping quotes while enqueuing scripts

Since you are using dollar sign in conjunction with some other variables, I assume you are trying to get a php variable inside your inline script. You will have 3 options.

Closing and opening the quotes

You can echo a variable in this way:

echo 'Hello' . $world;

Using double quotes

The same above code can be written in this way:

echo "Hello $world";

Pay attention to the double quotes.

Using curved brackets & double quotes

This is the cleanest way to do it, since it makes reading the code much easier:

echo "Hello {$world}";

So, your code can be turned into this:

add_action('wp_enqueue_scripts', function () {

    wp_enqueue_style('sage/main.css', asset_path('styles/main.css'), false, null);
    wp_enqueue_script('sage/main.js', asset_path('scripts/main.js'), ['jquery'], null, true);

    $inline_js = "
    var {$zoho} = {$zoho} || {};
    {$zoho}.salesiq = {$zoho}.salesiq || {
        widgetcode:'a7d50e2c5dd79539b3393dbeaf47ed569e663414dbe68c618856655be9267b02', 
        values:{},
        ready:function(){}
    };
    var d=document;
    s=d.createElement('script');
    s.type="text/javascript";
    s.id='zsiqscript';
    s.defer=true;
    s.src="https://salesiq.zoho.com/widget";
    t=d.getElementsByTagName('script')[0];
    t.parentNode.insertBefore(s,t);
    d.write('<div id=\'zsiqwidget\'></div>')";

   wp_add_inline_script('sage/main.js', $inline_js);
}, 100);

I also formatted the code so it’s easier to be read.

error code: 523