Everyone,
Iām developing some new features for SuiteCRM that Iām hoping to get accepted to the project, and Iām looking for input and guidance as Iām working on it.
These features all revolve around how email is handled. The biggest is how incoming email is assigned.
Currently, we can use workflows to assign email. However, the system has no way to know if an incoming email is related to email already in the system. For instanceā¦
Frank sends an email from SuiteCRM to Bob and itās associated with the account āBobās Barbellsā. When Bob replies, and if the reply makes it to SuiteCRM, SuiteCRM has no idea that itās a reply to the original outgoing email. The only way it would have any idea itās related to āBobās Barbellsā is if the āFromā field matches the Account, or one of the Accountās contacts. Even then, it doesnāt associate it with the account. It only shows it in the history subpanel because of the matching email address.
On top of this, unless the email came in a personal incoming email account check, the email will not be assigned to Frank. If the system roles are not permissive enough that Frank can see all incoming mail, he wonāt even see the email from Bob, since itās not assigned to him.
My fix works like this:
- All outgoing email has itās Message Id saved in the āemailsā table.
- All incoming mail thatās retrieved via group email accounts has itās āReply Toā and āReferencesā headers checked against the list of emails sent from the system.
- If SuiteCRM finds that the incoming mail matches an outgoing mail, it will associate it with the record that the outgoing mail is associated with. In other words, it sets its parent record to the same record.
It can set the owner of the incoming email to either:
- The owner of the replied to email
- The owner of the parent record of the replied to email
- Do Nothing
Note that because this is using the āreferencesā field of the email, it doesnāt matter how many replies or forwards the conversation goes though (as long as the email clients preserve the references, like Gmail does), the incoming email will be recognised as being part of the thread. When it comes in, these functions will be followed. Even if the email gets forwarded to a 3rd party, and they reply back, the email will come in and be assigned/associated.
So, Iām looking for input. Other than the original email owner, or the owner of the parent record of the original email, who would you like to see the incoming email get assigned to? Any other suggestions?
(A thought as Iām typing thisā¦) Would you like to see an option to delete email it receives that doesnāt match an existing thread? This would allow someone to forward emails, or all their incoming mail to a group mailbox, and it wouldnāt keep mail it didnāt need.