Genesys Cloud - Main

 View Only

Discussion Thread View
  • 1.  deep call stack

    Posted 09-17-2019 09:05
    Edited by Jordan Miller 09-17-2019 09:10

    Hi All,

    Within architect I'm adding a filter expression onto a Switch case on our only email flow, as it's required for a new email queue I'm creating. 

    Although the issue I've come across is that my call stack is too deep, basically I have too many key words/phrases I'm using for filtering. 

    I'm using the string "Contains(toString(Email.Message.subject) & Contains(toString(Email.Message.body)" yet receive an error stating the stack can only be 60 deep.

    Is there a better way of doing this? Or a way around it, I don't want to have to create another case to continue on with this.

    Thanks in advance, if you need any information/screenshots etc I can provide! 


    #ArchitectureandDesign

    ------------------------------
    Jordan Miller
    People's Postcode Lottery
    ------------------------------


  • 2.  RE: deep call stack

    GENESYS
    Posted 09-17-2019 09:33
    Can you show the actual expression you are building? Those are not valid Contains() expressions.

    ------------------------------
    George Ganahl GCP (PureCloud) ICCE CCXP
    Principal Technology Consultant
    Genesys
    ------------------------------



  • 3.  RE: deep call stack

    Posted 09-17-2019 09:40
    Edited by Jordan Miller 09-23-2019 04:20
    Hi George, 

    Below is some examples. And from the below key words, I've got that filtering to a specific queue in relation to those words. 

    Contains(toString(Email.Message.subject) , "Cancel", true) or 
    Contains(toString(Email.Message.subject) , "unsubscribe", true) or 
    Contains(toString(Email.Message.subject) , "stop", true) or ​


    The issue I'm having is I can't add more than 60 calls of the above expression. Does this make sense? 

    Thanks

    ------------------------------
    Jordan Miller
    People's Postcode Lottery
    ------------------------------



  • 4.  RE: deep call stack

    GENESYS
    Posted 09-17-2019 10:19
    Edited by George Ganahl 09-17-2019 10:53
    It probably makes sense, but not sure yet...those are not valid Contains() expressions, either, due to the word true in each.

    Should be

    Contains(toString(Email.Message.subject),"Cancel") or
    Contains(toString(Email.Message.subject),"unsubscribe") or
    Contains(toString(Email.Message.subject),"stop") or​

    Is that what you actually have?

    To get around the limit, looks like you will have to use nested Select or Decision actions.


    ------------------------------
    George Ganahl GCP (PureCloud) ICCE CCXP
    Principal Technology Consultant
    Genesys
    ------------------------------



  • 5.  RE: deep call stack

    GENESYS
    Posted 09-17-2019 10:55
    Ignore that...I forgot you can use that Ignore Case boolean statement on the end. Sorry!

    So, back to the nested Select actions idea.

    ------------------------------
    George Ganahl GCP (PureCloud) ICCE CCXP
    Principal Technology Consultant
    Genesys
    ------------------------------



  • 6.  RE: deep call stack

    GENESYS
    Posted 09-17-2019 11:04
    I finally took time to track down the documentation:

    https://help.mypurecloud.com/articles/complex-expression-error/

    ------------------------------
    George Ganahl GCP (PureCloud) ICCE CCXP
    Principal Technology Consultant
    Genesys
    ------------------------------



  • 7.  RE: deep call stack

    Posted 09-18-2019 05:55
    Exactly what I was after! Thanks so much.

    I have little experience with expressions in Purecloud so I have one last question if you can assist. 

    Below would be the line I'd use, do you know where I would put the 'OR' to continue on to the next line? 
    Contains(toString(Email.Message.subject) , Append("abc", Append("abc", Append("abc", Append("abc", "1234")))))


    Thanks!

    ------------------------------
    Jordan Miller
    People's Postcode Lottery
    ------------------------------



  • 8.  RE: deep call stack

    GENESYS
    Posted 09-18-2019 13:21
    That expression checks to see if the email subject contains "abcabcabcabc1234".  What are you wanting to look for?

    ------------------------------
    Melissa Bailey
    Genesys - Employees
    ------------------------------



  • 9.  RE: deep call stack

    Posted 09-19-2019 03:51
    Hi Melissa,

    I have around 70 keywords I want to add, so I'd like to know the best way to do this.

    ------------------------------
    Jordan Miller
    People's Postcode Lottery
    ------------------------------



  • 10.  RE: deep call stack

    GENESYS
    Posted 09-19-2019 10:32
    This checks to see if the email subject contains "abc" or "def" or "ghi".  I'm using the Contains overload with the ignoreCase parameter so it matches if the subject contains "ABC" or "abc" or "Abc", etc.

    Contains(Email.Message.subject, "abc", true) or Contains(Email.Message.subject, "def", true) or Contains(Email.Message.subject, "ghi", true)


    ------------------------------
    Melissa Bailey
    Genesys - Employees
    ------------------------------



Need Help finding something?

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