What if we have a requirement to identify keywords separately and route them to different ACD queue accoridngly.
For example: If in the email body or email subject, if the keyword contains car, automobile, scooter (similar other keywords) then it has to go to the automobile queries queue OR If in the email body or email subject, if the keyword contains claim, reimburse, repay (similar other keywords) then it has to go to the claims queries queue. How exactly can we do this using data table and by keeping the design simple.
Original Message:
Sent: 08-27-2021 07:11
From: Asad Saqlain
Subject: Searching list of keywords from a data table - Email routing
Hi Tobias,
You don't need to use makelist for. Split(State.Keywords, "|") should work fine. And yes indeed you need to use variable Count(State.CollectionKeywords) as a max loop count.
My decision looks like, where i'm using Trim(State.CollectionKeywords[State.Index]) to get the index value of a keyword:
If(IsSet(Email.Message.subject), Contains(Email.Message.subject, Trim(State.CollectionKeywords[State.Index]), true), false)
Or
If(IsSet(Email.Message.body), Contains(Email.Message.body, Trim(State.CollectionKeywords[State.Index]), true), false)
I guess this should help to get things working otherwise let me know and I can help further :).
------------------------------
Kind regards,
Asad Saqlain
Original Message:
Sent: 08-27-2021 06:54
From: Tobias Junghans
Subject: Searching list of keywords from a data table - Email routing
Hi Asad,
I have the same requirement to look for different keywords in a data table which I want to check step by step using a loop.
I assume I have created a flow with your mentioned steps but it is not working.
Where exactly did you use the split() function? In the MakeList() or in Decision?
My data table looks like that one
keywords buzzwords
<myKeyword> word1|word2|word3
My MakeList looks like that.
MakeList(ToString(Split(State.keywords,"|")))
Decision: Contains(Email.Message.subject, GetAt(State.collectionKeywords, State.collectionCount), true)
My problem is that my variable State.collectionCount is only "1" although I have 3 words pipe seperated in my data table.
Why doesn't work the update data "collectionCount" = Count(State.collectionKeywords) ?
How did you configure the loop? your provided configuration should work only once, isn't it?
I have configured my loop step as follows.
Is this correct or should I rather set the Max loop Count = State.collectionCount
Thanks in advance!
Tobias
------------------------------
Tobias Junghans
NTT Germany AG & Co. KG
Original Message:
Sent: 06-11-2021 18:24
From: Asad Saqlain
Subject: Searching list of keywords from a data table - Email routing
Hi,
I've found/fixed the issue. I needed to use split to parse the pipe and everything went fine.
KR,
------------------------------
Asad Saqlain
Frontline Solutions
Original Message:
Sent: 06-11-2021 06:29
From: Asad Saqlain
Subject: Searching list of keywords from a data table - Email routing
Hi Robert or other intellectuals,
Good idea. I've tried this but my pipe delimited keywords e.g. Sales|HR|Cars are apperantly not being parsed or something is not good with loop.
Here below my decision statements. Also Keywords are being found but i think not parsed or loop is failing.
Contains(Email.Message.subject, GetAt(State.CollectionKeywords, State.CollectionCount), true)
Or
Contains(Email.Message.body, GetAt(State.CollectionKeywords, State.CollectionCount), true)
Thanking you in advance.
#Architecture and Design
------------------------------
Asad Saqlain
Original Message:
Sent: 05-17-2020 15:19
From: Robert Wakefield-Carl
Subject: Searching list of keywords from a data table - Email routing
When you read in the Data Table, you will get a string. You use the Make List - MakeList(DataTableLookup) - to split that string into multiple elements in a collection and then use Count(ConnectionName) to get the number of elements in the collection.
------------------------------
Robert Wakefield-Carl
Avtex Solutions, LLC
Contact Center Innovation Architect
robertwc@avtex.com
https://www.Avtex.com
https://RobertWC.Blogspot.com
Original Message:
Sent: 05-17-2020 08:42
From: Reginald Sheraton
Subject: Searching list of keywords from a data table - Email routing
hi there,
please advise if you have received the below and if you managed to get this working as i am faced with same issue?
Can you please share a copy of the makelist, count and contains expressions used please?
------------------------------
Reginald Sheraton
Bytes Systems Integration a Division of Altron
Original Message:
Sent: 03-09-2020 05:48
From: Richard Chandler
Subject: Searching list of keywords from a data table - Email routing
Thanks Robert,
Can you please share a copy of the makelist, count and contains expressions used please?
------------------------------
Richard Chandler
G3 Comms Ltd
Original Message:
Sent: 03-07-2020 14:27
From: Robert Wakefield-Carl
Subject: Searching list of keywords from a data table - Email routing
My choice would be a list of words divided by a pipe and then use a loop in the Email flow to parse through the pipe-delimited field a word at a time with the same search parameter each time until you are out of words. Saves worrying about blank fields or adding fields and allows any number of words to be used.
So you would have:
Sales Sales|Richard|Mark|ETC This is my custom autoreply
------------------------------
Robert Wakefield-Carl
Avtex Solutions, LLC
Contact Center Innovation Architect
robertwc@avtex.com
https://www.Avtex.com
https://RobertWC.Blogspot.com
Original Message:
Sent: 03-06-2020 13:20
From: Richard Chandler
Subject: Searching list of keywords from a data table - Email routing
I have a requirement to manage a list of keywords to search in the subject or body of an email from a data table so this can be easily updated by the end user without editing the email flow in Architect.
I've tried the following.
Creating a data table with a column for each key word and then using an expression contains(email.message.body,flow.word1) or expression contains(email.message.body,flow.word2)
This works but I have to account for blank data and I have to fix the number of words available.
I also tried something a bit odd which was adding an expression inside a string to use. This had two issues. 1 is that quotes were modified to \" and as far as I can see when I used a combination of the two so replaced the quotes with flow.word1 it still failed so I assume this is not possible.
Has any one come up with a way to achieve this? I've looked at makelist but I don't think that will work in this case. My other option is to send the email body or subject to an external service possibly by lambda to Amazon Comprehend.
#DigitalChannels
#Routing(ACD/IVR)
------------------------------
Richard Chandler
Conn3ct
------------------------------