Genesys Cloud - Main

 View Only

Sign Up

  • 1.  Custom Knowledge Logic Question

    Posted 11 days ago

    Hello,

    When using the custom knowledge logic option in a Digital Bot Flow, is there a way to offer multiple articles for the customer to select from similar to the Disambiguation option instead of looping through the articles? 

    Thanks,

    Nicole


    #ArchitectandDesign

    ------------------------------
    Nicole VanWie
    UC Engineer
    ------------------------------


  • 2.  RE: Custom Knowledge Logic Question

    Posted 11 days ago

    Hi Nicole,

    From my understanding, the built-in Disambiguation experience is tied to the standard Knowledge action. With Custom Knowledge Logic, I believe you would need to build the experience yourself.

    We are currently working through a Digital Bot POC using Custom Knowledge Logic where we retrieve and display article answers in batches of five at a time, then allow the customer to continue through the remaining results. That flexibility is one of the advantages of Custom Knowledge Logic, although it does require additional bot logic compared to the standard Knowledge action.

    I'd be interested to hear if anyone has found a way to reuse the native Disambiguation experience with Custom Knowledge Logic.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------



  • 3.  RE: Custom Knowledge Logic Question

    Posted 11 days ago

    Hi Phaneendra.

    When you retrieve and display 5 articles at a time, how are you displaying those? Do you display the text of the title and have the customer type an associated number or the article title then using a show knowledge article? Essentially that is what I want to do using Custom Knowledge logic but not sure how to display the Flow.searchresults list for the customer to view.

    Thanks,

    Nicole



    ------------------------------
    Nicole VanWie
    UC Engineer
    ------------------------------



  • 4.  RE: Custom Knowledge Logic Question
    Best Answer

    Posted 11 days ago
    Edited by Jason Kleitz 10 days ago

    Hi Nicole,

    My approach is a little different. I am currently building a POC using paging logic where I take Flow.searchResults, count how many articles were returned, and then display the results in batches of five articles at a time.

    For example, if Flow.searchResults returns 18 matching articles, the customer is informed that 18 articles were found. I then display:

    Article 1
    [Title + Article Answer]

    Article 2
    [Title + Article Answer]

    Article 3
    [Title + Article Answer]

    Article 4
    [Title + Article Answer]

    Article 5
    [Title + Article Answer]

    After each batch of five articles, I ask the customer whether any of the articles resolved their issue or whether they found what they were looking for. If not, the next five articles are displayed and the process repeats until all results have been shown. I am also looking at introducing a cap on the total number of articles displayed, but that part is still being worked through.

    Initially, I tried retrieving and displaying the article title separately before the article answer. However, I ran into issues where the title extraction became unreliable once the result set grew larger, even though I was still only displaying five articles at a time. As a workaround, I ended up incorporating the title into the displayed article content itself.

    The intention for this POC is to use it during after-hours support periods when live assistance is unavailable, allowing customers to work through relevant self-help knowledge articles before needing to wait for business hours.

    I am also using the Knowledge Feedback action to send feedback back to Knowledge Optimizer, which appears to work almost immediately.

    I'm interested to hear how others are handling title selection and presentation with Custom Knowledge Logic.



  • 5.  RE: Custom Knowledge Logic Question

    Posted 11 days ago

    Hey, thanks Phaneendra.

    That was exactly what I was looking for, although I am capping my list at 5. But I just tested and it worked exactly like I wanted it to.

    Thanks!

    Nicole



    ------------------------------
    Nicole VanWie
    UC Engineer
    ------------------------------



  • 6.  RE: Custom Knowledge Logic Question

    Posted 11 days ago

    Glad to hear it helped, Nicole.

    Out of curiosity, are you displaying the article titles first and asking the customer to select an article, or are you displaying the article content directly?

    I'd also be interested to know how you're determining the top 5 articles from the results. Are you simply taking the first 5 returned by Flow.searchResults, or are you applying any additional filtering or ranking before presenting them to the customer?

    Looking forward to hearing how you've implemented it.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------



  • 7.  RE: Custom Knowledge Logic Question

    Posted 7 days ago

    I ended up setting my displayed knowledge to the first 4 matched articles, and I am certain there are better ways to do what I am testing but this is what I put together after your note the other day.

    Create a Reusable Task linked as the custom knowledge path with the following objects:

    1. Use an Update Data object to determine the COUNT(Flow.searchResults and set a Flow.MaxIndex of 4
      • If((COUNT(Flow.searchResults)) > 4, 4,(COUNT(Flow.searchResults)))
    2. Use a switch Object to display the Article Titles according to the Flow.MaxIndex number
      • Under each Switch Case, use an Ask Slot to assign the customer's choice to the Switch Case
        • If No Articles or Only 1 Article Case 1 & 2:
          • Case 1: Flow.MaxIndex = 0: Communicate Slot: I am sorry, I did not find any articles that match your query.
          • Case 2: Flow.MaxIndex = 1: Communicate Slot: Here is what I found; Show Knowledge Article: Flow.searchResults[0]
        • If 2 or more articles match Case 3 - 5 
          • Set Slot result, then use Switch Object to Show Knowledge Article customer selected)
          • Case 3: Flow.MaxIndex = 2: MakeCommunication("To help me clarify your goal, *choose a number* from the following list." + "*\n1.* " + Flow.searchResults[0].name + "*\n2.* " + Flow.searchResults[1].name + "*\n3.* None of these")
          • Case 4: Flow.MaxIndex = 3: MakeCommunication("To help me clarify your goal, *choose a number* from the following list."+ "*\n1.* " + Flow.searchResults[0].name + "*\n2.* " + Flow.searchResults[1].name + "*\n3.* " + Flow.searchResults[2].name + "*\n4.* None of these)
          • Case 5: Flow.MaxIndex = 4: MakeCommunication("To help me clarify your goal, *choose a number* from the following list."+ "*\n1.* " + Flow.searchResults[0].name + "*\n2.* " + Flow.searchResults[1].name + "*\n3.* " + Flow.searchResults[2].name + "*\n4.* " + Flow.searchResults[3].name + "*\n5.* "None of these)
    3. For queries where there was Knowledge Surfaced, use Digital Menu to ask customer if this answered their question with Yes, No or Exit options.
    4. Use Send Knowledge Feedback based on customer selection. 

    I assumed that the knowledge articles are ordered by the highest matching to least matching. Do you apply any filtering or ranking in your process? I may need to do some testing today to see if this works but I believe it is much closer to what I wanted to do than where I was before!



    ------------------------------
    Nicole VanWie
    UC Engineer
    ------------------------------



  • 8.  RE: Custom Knowledge Logic Question

    Posted 7 days ago

    Hi Nicole,

    This looks like a solid approach and is quite similar to the pattern I was considering, especially for avoiding long responses when multiple articles are returned.

    To answer your question, I haven't applied any additional filtering or custom ranking in my process. I've generally relied on the order returned by the Knowledge search results, which I understand are already ranked by relevance. In other words, I treat Flow.searchResults[0] as the best match, followed by [1], [2], and so on.

    I would be interested to hear how your testing goes, particularly in cases where multiple articles have similar titles. One thing I've found is that customers don't always know which title is the most relevant, but your numbered selection approach should help keep the conversation concise and focused.



    ------------------------------
    Phaneendra
    Technical Solutions Consultant
    ------------------------------



  • 9.  RE: Custom Knowledge Logic Question

    Posted 11 days ago

    Adding to this, Phaneendra Avatapalli mentioned that there is an article about this topic:

    https://help.genesys.cloud/articles/control-knowledge-behavior-in-your-voice-or-digital-bot-flow/

    I hope this helps.



    ------------------------------
    Luiz Rosa
    Full stack developer
    ------------------------------