I have a few ideas for this but the easiest is to create a workflow (example here) that pulls the email ToAddr field to the incident record then do a find on it and if it contains your 3 characters then search and link to your target employee.
The link to the example was very helpful. I'm also interested in your other ideas to accomplish the same thing.
For anyone interested, here is what I did (using the link to the example above as reference):
- Created an IncidentAssocJournalEmail relationship and added the condition "$([OtherObject]Incoming == true)" on the relationship. I was only interested in the first email that created the incident.
- Added a field to the Incident business object titled "SenderEmailAddress"
- Created a Quick Action to pull the sender's address into the "SenderEmailAddress" field using the following expression: (ForEachChild("Incident#", RecId, "Journal#Email.Rev2", $(FromAddr))).
- Created a Quick Action to update the Incident with the employee record I wanted as the customer.
- Created a Saved Search to show any Incidents from the Sender's Email Address (or in my case the ones that started with certain letters)
- Created a workflow to pull everything together:
Quick Action Block
Run for Search Block
Nicely done and a good write up, you can do it all in the same workflow if you want, once you have grabbed the email address to a field on your incident record you could use the Find() function to test the email address and set a boolean flag on the incident record then call an if block to test the flag, if it returns true it runs a search and link action to relate the record to a new owner.
The following doesn't effect the work you have done (after all it works) but a couple of things to be aware of:
- Workflows are not always instant, they run on a frequency based service so it is good to get as much of the functionality you want in to a single workflow if possible.
- Using a run for search block over all the records in the database every time to update a single record will take longer as more records over time which could slow down the processing.
- In the saved search ensure you exclude records that have been closed to avoid conflicting with final state rules.