Department Offline Status

Répondu

8 Commentaires

  • Kelsey H
    Actions pour les commentaires Permalien

    Very well said and explained. I have a similar config to you and the exact same problem. Brought this up to Support and was told that if any agent is online, it seems that it will treat the whole widget as online. No solution unfortunately. Hope we find more info.

    0
  • Kay
    Actions pour les commentaires Permalien

    Hi Morgan and Kelsey.

    I think this might be possible with a little additional Javascript.
    Do I understand correctly that depending on 'some value in your site' the chat should only be visible if the department for that specific value is online? And if the department is not available the widget should be hidden or a form should be shown?

     

    0
  • Heather Rommel
    Actions pour les commentaires Permalien

    Hi Morgan! 

    I'm wondering if you're able to leverage Skill based routing? If you have different websites or different KB articles that would correspond to different products, you can use Triggers to set tags on a user's visit and then add the applicable tags as Skills to the Agents with that knowledge.

    Here are some Trigger options available, maybe you'd be able to leverage Visitor page URL?

    You *might* be able to use Account-level hours using this and show offline if you're not covered by at least one person with the given skill per 24 hours which would show the offline form.

    Additionally, you can use Triggers to assign Departments, so if you add a Department for "I'm not sure which product I use" then perhaps you can have all your agents added to that Department as a catch-all and they can manually tell the visitor how best to contact you/what hours are available.

    Hopefully this helps? 

     

    0
  • Kelsey H
    Actions pour les commentaires Permalien

    There is a unique quirk to skill based routing where if it will go to any skill if a group is offline or fully served, right? 

    0
  • Heather Rommel
    Actions pour les commentaires Permalien

    I think after all agents with a given skill are "taken" and have hit their Chat limits, you are right, the program will start hunting for "any" agent with or without the given tag.

    I wonder if you'd be able to leverage a trigger that looks for time not served and automate a message to that user after xxx seconds?

    0
  • Kay
    Actions pour les commentaires Permalien

    ⚠️Fair warning: no guarantees on this code

    Here's how it works in a nutshell.

    • Chat is hidden on page load by default
    • All departments are checked
    • Visitor department is set based on url
    • Chat is toggled if the visitor's department is online
    • Every 10 seconds this process is repeated
    var all_departments;
    var department;
    var $custom_button_chat = $('.help-widget .chat');

    // map url to chat departments
    var url_path = window.location();
    var mapping = {
    'https://website.com/SetA' : 'SetA',
    'https://website.com/SetAA': 'SetAA',
    'https://website.com/SetI' : 'SetI',
    'https://website.com/SetD' : 'SetD',
    };

    autoControlDepartment = function controlDepartmentDropdown(){
    // remove dropdown from chat
    $zopim.livechat.departments.filter('');
    // set the correct visitor department
    $zopim.livechat.departments.setVisitorDepartment(department[0].name);
    }

    checkDepartmentStatus = function departmentStatus(){
    zE(function() {
    $zopim(function() {
    all_departments = $zopim.livechat.departments.getAllDepartments();
    department = all_departments.filter(function (department) {
    return department.name.toLowerCase() == mapping[url_path.toLowerCase();
    });
    });
    });
    }

    toggleChatButton = function chatButton(){
    if ( (!department) || ( department[0].status === "offline" || department[0].status === "away" )) {
    zE.hide();
    } else {
    zE.show();
    }
    }

    zE(function() {
    $zopim(function() {
    $zopim.livechat.hideAll();
    $zopim.livechat.setOnConnected(function() {

    // get all departments
    checkDepartmentStatus();
    autoControlDepartment();

    // hide the chat button if we are offline or away
    toggleChatButton();

    // re-check status of department every 10 seconds and toggle the custom chat button
    window.setInterval(checkDepartmentStatus, 10000);
    window.setInterval(toggleChatButton, 10000);
    });
    });
    zE.hide();
    });

    1
  • Morgan King
    Actions pour les commentaires Permalien

    Heather, we did try skills routing for a period and it caused a lot of confusion and frustrations as it did hunt for any agent (as you mentioned) so it didn't solve the initial problem of letting the client know before chatting that no one was going to be able to help them. An automated message is what we use currently if a user messages a department that is offline, but it would still be nice for the user to automatically be sent to the offline form that is in the chat experience if the department is offline instead of having to use a message. With the auto-message and the fact that we have the auto ticket creation turned on a missed chat converts to a ticket when a user ends the chat or exits their browser.

    Kay mentioned utilizing javascript which would work, but we are trying to avoid customization - the more you have the more likely it is to break if something is changed. Each time we adjust the code it has to go through our sprint and QA cycle which could take 2 - 4 weeks each time something needs adjusted and with 10+ products/solutions and growing, it is troublesome to manage.

    1
  • Brett - Community Manager
    Actions pour les commentaires Permalien

    All things Chat AMA has ended and comments have now been closed. If you have any Chat related questions, you can create a new post in our Chat and Message - Troubleshooting and Q&A topic!

    0

Cette publication n’accepte pas de commentaire.

Réalisé par Zendesk