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