Genesys Cloud - Main

 View Only
Discussion Thread View
  • 1.  Inbound Chat Flow examples

    Posted 05-28-2020 20:54

    We are up and running with PureCloud for call, chat, and message channels.  While it is working, the implementation is less than ideal, especially on chat. Our inbound chat flow is incredibly basic and is resulting in a poor customer experience. I am wondering if anyone has a flow they would be willing to share that implements a EWT that is updated on a regular basis.  The fundamental issue I am having is that the chat doesn't appear in our queue until the flow reaches the "Transfer to ACD" step.  To update the EWT I need the flow to loop, but if it does, the chat never enters the queue until someone is available to answer it.  That completely screws up our metrics.

    Advice, examples, and positive thoughts are all welcome.


    #DigitalChannels

    ------------------------------
    Marty Hand
    The Hotline
    ------------------------------


  • 2.  RE: Inbound Chat Flow examples

    Posted 05-28-2020 22:09
    How are you implementing your EWT check?

    ------------------------------
    Vaun McCarthy
    NTT New Zealand Limited
    ------------------------------



  • 3.  RE: Inbound Chat Flow examples

    Posted 05-28-2020 22:15
    We are not doing an EWT right now.  Because the chat doesn't show in queue until it goes to hits the Transfer to ACD step we can't put a loop in place to check for idle agents. If we do that, then the ASA is going to look like only a few seconds since the interactions is just dropped in the queue when someone is available to answer it.  At least that is how it is working in our setup.  That seems like a massive oversight so my assumption is our project team didn't really know how to build it and the documentation is spotty at best.  It tells you some of what you can do, but not how to do it.

    ------------------------------
    Marty Hand
    The Hotline
    ------------------------------



  • 4.  RE: Inbound Chat Flow examples

    GENESYS
    Posted 05-29-2020 07:58
    Edited by Lucie DeCristofaro 05-29-2020 07:57
    Can you share what you are trying to accomplish? Are you trying to continuously update the EWT for the end user in the widget as they are waiting for an agent?

    ------------------------------
    Lucie DeCristofaro
    Genesys - Employees
    ------------------------------



  • 5.  RE: Inbound Chat Flow examples

    Posted 05-29-2020 11:28
    Sure.  Here is the experience we would like for survivors reaching out to us via web chat:

    When the initiate the chat request they answer a small number of question:
    1. Preferred screen name (text box)
    2. Are you in crisis right now? (pick list)
    3. Age - our services are only available to people 13 years or older (number)
    4. Race (pick list)
    5. Gender identity (pick list)
    6. How they heard about us (pick list)
    7. Have they contacted us in the past? (pick list)

    These responses are passed to the Genesys interaction as variables that can be used inside the script and passed to URL's that are set as Open URL actions in the script.

    The screen name should be seen by the agent when the chatter sends messages. Today it just says Customer regardless of whether the chatter enters a screen name or not.

    After entering this information, they should get a pre-defined privacy and safety message and then be given an estimated wait time.  The wait time should be updated every 20-30 seconds or so.

    Once an agent is available and the chat interaction has been answered by the agent, the chatter should receive the "Chat started" message.

    Once the chatter requests the chat, they should appear as Waiting in the appropriate queue. If they close the chat before connecting to an agent, it should register as an abandon.

    Lastly, for safety reasons, once the chat is over, the chatters screen should close the chat popup.  This is to prevent their abuser from seeing the interaction if they forget to close it themselves.

    Again, we are an anonymous hotline and collect no PII data. Every chat is a unique and independent interaction.

    Any help is appreciated.

    ------------------------------
    Marty Hand
    The Hotline
    ------------------------------



  • 6.  RE: Inbound Chat Flow examples

    GENESYS
    Posted 05-29-2020 11:39
    Ok thank you for the thorough description. We can do most of the items on the list, but not all. Some of the unavailable items will be possible soon using our latest enhancements, others may be future enhancements.

    1. We do all the question selections. This would be a good place to start: https://developer.mypurecloud.com/api/webchat/widget-version2.html#customizable_pre_chat_registration_form
    2. You can send the pre-defined privacy and safety message. You can also send the initial estimated wait time using data actions. Once the chat is connected to the agent, the survivor would be able to see "Chat started" message or it may say "Agent connected."
    3. Abandon works the way you'd expect.
    4. You should be able to close the chat on the website by reacting to the chat close event https://developer.mypurecloud.com/api/webchat/widget-version2.html#chat_start_and_end_events

    Now what you cannot do yet:
    1. Continuously updated estimated wait time while the survivor is waiting in queue
    2. Show the preferred name of the survivor to the agent - we did recently add new fields to the chat API that allows you to pass in the name but we still need to do a little more work to display that name to the agent in an easy to access way https://developer.mypurecloud.com/api/webchat/guestchat.html



    ------------------------------
    Lucie DeCristofaro
    Genesys - Employees
    ------------------------------



  • 7.  RE: Inbound Chat Flow examples

    Posted 05-29-2020 12:33
    I appreciate the links, but there is absolutely nothing here about how to configure the chat flow.  Are there any examples that someone can share that shows how to configure them?  I have done it the way I thought it should be done, but the Chat Started message appears before the chat is answered by an agent and the chatter starts typing and gets frustrated that they aren't getting a response.  It's a horrible experience and while the API links are great, they aren't answering the fundamental question.  This is been a common experience with Genesys so far.  Plenty of "yes you can do it", but no examples or quality documentation on HOW TO DO IT!

    ------------------------------
    Marty Hand
    The Hotline
    ------------------------------



  • 8.  RE: Inbound Chat Flow examples

    Posted 05-29-2020 14:25
    Hi Marty,

    From what Lucie mentioned, is the below section the part you need help with?
    You can send the pre-defined privacy and safety message. You can also send the initial estimated wait time using data actions. Once the chat is connected to the agent, the survivor would be able to see "Chat started" message or it may say "Agent connected.

    For Chat flows in general, have you looked at the resource center?
    https://help.mypurecloud.com/articles/inbound-chat-flows-overview/

    You would use the "Send Response" step to send the pre-defined message and the EWT once you get it from a data action. Getting the EWT is not built in, so you must use a PureCloud Data Action to get the value (see the link below).
    https://help.mypurecloud.com/articles/about-purecloud-data-actions-integration/

    Once you enable the PureCloud Data Actions integration, copy the code below into a .json file and import it as an action:

    {
      "name": "Get Estimated Wait Time - Exported 2020-05-29 @ 14:20",
      "integrationType": "purecloud-data-actions",
      "actionType": "static",
      "config": {
        "request": {
          "requestUrlTemplate": "/api/v2/routing/queues/${input.QUEUE_ID}/mediatypes/${input.MEDIA_TYPE}/estimatedwaittime",
          "requestType": "GET",
          "headers": {
            "UserAgent": "PureCloudIntegrations/1.0",
            "Content-Type": "application/x-www-form-urlencoded"
          },
          "requestTemplate": "${input.rawRequest}"
        },
        "response": {
          "translationMap": {
            "estimated_wait_time": "$.results[0].estimatedWaitTimeSeconds"
          },
          "translationMapDefaults": {},
          "successTemplate": "{\n   \"estimated_wait_time\": ${estimated_wait_time}\n}"
        }
      },
      "contract": {
        "input": {
          "inputSchema": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "Estimated Wait Time Request",
            "description": "The estimated wait time for a specific media type and queue.",
            "type": "object",
            "required": [
              "QUEUE_ID",
              "MEDIA_TYPE"
            ],
            "properties": {
              "QUEUE_ID": {
                "type": "string",
                "description": "The queue ID."
              },
              "MEDIA_TYPE": {
                "type": "string",
                "description": "The media type of the interaction: call, chat, callback, email, social media, or video communication.",
                "enum": [
                  "call",
                  "chat",
                  "callback",
                  "email",
                  "socialExpression",
                  "videoComm"
                ]
              }
            }
          }
        },
        "output": {
          "successSchema": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "title": "Get Estimated Wait Time Response",
            "description": "Returns the estimated wait time.",
            "type": "object",
            "properties": {
              "estimated_wait_time": {
                "type": "integer",
                "title": "Estimated Wait Time in Seconds",
                "description": "The estimated wait time (in seconds) for the specified media type and queue. "
              }
            }
          }
        }
      },
      "secure": false
    }​

    In the flow, you'll need to call this data action to get the EWT.

    Thanks,

    ------------------------------
    Daniel McLeod
    Qsect LLC
    ------------------------------



  • 9.  RE: Inbound Chat Flow examples

    Posted 06-01-2020 16:46
    Thanks for the help.  I was able to setup the integration and saw the Get Estimated Wait Time. I have built a flow that will work for now.  Still isn't idea, but better than what we had before.  Still need to work with my web developer to figure out how to close the chat window once the chat is complete.  I'm sure we'll figure it out.

    ------------------------------
    Marty Hand
    National Domestic Violence Hotline
    ------------------------------



Need Help finding something?

Check out the Genesys Knowledge Network - your all-in-one access point for Genesys resources