How can I identify Appian-originated email thread?

Scenario:

1. John (Appian user) sends an email using the 'Send Email' smart service to an external user Sue.

2. Sue adds her response to John's email and sends it back to John, which comes back to John's Appian process (i.e., Receive Message) for email ingestion.

3. John identifies the incoming email from Sue as a response to his original email sent to her. But John wants to enhance the Appian process so as to emails in the same thread can be identified and categorized as such without his manual effort.

----------

I understand that above scenario can be implemented by inserting a key-value pair (e.g., [CaseID=12345]) into the email content. But I want to hide that custom key-value pair from the end user's view so that it cannot be tampered, intentionally or not.

So, is it doable in Appian to:

  1. Assign/Insert a custom key-value pair to an email
  2. Send it out using the 'Send Email' smart service
  3. Retrieve the original key-value pair from an incoming email if it is part of the same email thread

Any suggestions or comments will be much appreciated!

  Discussion posts and replies are publicly visible

Parents Reply Children
  • - Thanks for sharing the link. I actually had in mind the option of inserting HTML tags (along with a value I can use for tracking) to the email body. Unfortunately, for security reasons or otherwise, Outlook strips out pretty much every custom attribute in those tags, making this option all but useless. 

    Just to clarify, what I tried here is injecting some HTML tags with a key-value pair into my email template in Appian and sending it to my Outlook account. Then I use that same email and send it back to my Appian process as a reply. When I look into the content of the 'bodies' property, I see that the key-value pair has been striped out. 

  • 0
    Certified Lead Developer
    in reply to SailingHome

    My experience is that you can not implement this in a fool-proof way. Important is that you do not expose any internal ID to the user. Create a separate random string and put it into the email. Then your user is not able to modify it in any malicious way. As mail comes in you will need to manually manage mail that can not be assigned to an existing case.

  • As you pointed out, it dawned on me that there's probably no fool-proof way of injecting a custom key-value pair in a way it cannot be tampered by anything/anyone. I wonder if it's at all possible to use Java plugin to embed the custom value anywhere in the email (e.g., not necessarily the email body/content, but the wrapper or header, etc) where the Appian smart service isn't capable of reading from/writing to. 

  • 0
    Certified Lead Developer
    in reply to SailingHome

    Does it need to be 100% foolproof though? There are a lot of online services that use a unique identifier in the subject line and that seems to work well for the most part.

    The 100% foolproof way of doing this AFAIK is to use something else than an e-mail. (either a task directly in Appian or a URL to another app)