This project is read-only.

account matching

Jun 11, 2008 at 10:51 AM
Will it be possible to relate the case to the customer? At this point it is related to a contact person.
I know you can achieve this by workflow, but an extra option here would be smart.

Kind regards
Jun 12, 2008 at 9:24 PM
Do you mean the account? I thought most people tracked individuals using contacts. It's not a big change to attempt to look up the account instead. How are you using it? First attempt to look up a contact and, if no contact found, try to look up the account? Or should it be only the account/contact? Should the account (optionally) be automatically created?
Jun 26, 2008 at 10:02 PM

I was wondering about this. We have used C360 for many years and we have just upgraded to CRM 4.0
Our company uses cases as requested above. We assign cases to Accounts rather than Contacts for Billing purposes.
We have serveral contacts associated to one account. With C360 we would look up the contact record that sent in the email and create the case based on the associated Account.
So when a case is created in our system we would create the case against the account rather than the contact inside CRM.
We assign the contact that sent in the request to the responsible contact field in the case so that notification is sent to the responsible contact rather than the contact associated to the account.

Is this feature avalaible or in the works or can this be done with what is already built.
Jun 27, 2008 at 9:03 AM

Ok, now I see. There's no problem creating functionality that allows us to associate the case with the parent account of the contact that e-mailed in. A few questions:

- When someone e-mails you that's isn't a contact in CRM, what to do? Carry on as normal (automatically create contact, send out a verification etc based on the settings)?
- The reponsible contact field has a description that is confusing: "Unique identifier of the contact responsible for resolving the case.". Are you using it for follow up? I can add an option to automatically fill this out.
- What to do when a contact exists but doesn't have a parent account? Assign it to the contact?

I can implement this for a version 1.6. Give one or two weeks.
Jun 27, 2008 at 3:08 PM

When someone emails that is not a contact you can carry one as normal, Add the contact automatically or send out verification that they are not in the CRM System. Is there an option to do nothing just leave the email in the queue and let someone handle it manually??


Yes we are using to follow up with the case rather the primary account contact, because the primary account contact may not be the person with that company opening the case. We have some Accounts that over 10 to 20 contacts associated with them and any one of those contacts can open case against that account. By using the reposible contact that lets the system know who from the Company opened the case and all transactions email, phone, etc are with them.

When the contact exsist but no account associated to then they my be a great option say create the case against the contact or leave the email in the system and do nothing.




Jun 28, 2008 at 11:02 AM
Setting createcontact and sendverificationmail to false means the e-mail will be left on the queue when the contact doesn't exist.

So, when an e-mail arrives a case will be created with the parent account as customerid of the case (option maptoaccount="true/false", default false). I will add an option setresponsiblecontact="true/false". Another option, contactparentaccountmissing="true/false", will be added as well when the contact is missing parent account.
Jun 28, 2008 at 3:36 PM


That would be great. Can you update the post when these options are available. I made arrangemnts with our service department to create the cases manually until we can get this function.

I told them that it would be a week or two.

I really appreciate you adding the code for this feature.



Jun 30, 2008 at 2:35 AM
I also use the cases in the same way. These additional features will be greatly appriciated. Thanks for all the work creating this.

Jul 2, 2008 at 11:20 PM
Version 1.6 has support for this. Please download and give it a try.
Jul 9, 2008 at 9:58 AM

Hi all,

Nice to see that this feature already is supportet this fast. I started this post just before I went on holiday.

I'll try it out asap.

Thanks for helping

Oct 22, 2010 at 9:11 PM

Hello Manso,

Great work so far. It is really helpful. However, we have a new request which you might want to consider, written below:

We've set mapcasetoaccount to true and parentaccountmissing to true.

Suppose we have list of contacts having free email accounts such as gmail, hotmail, yahoo etc.

Suppose we have account in CRM, whose owner is using free email service such as gmail.

Current Working:

Now, when a new person sends email to CRM Queue from email address such as, right now it automatically associate that contact to the Account whose Primary Contact is having email address as a primary email.

Our request is,

It is best if we can add exception for such domains so that it does not automatically associate the newly created Contacts or Contacts already exists in CRM having free emails (gmail, hotmail, etc.) to the Accounts in CRM.

If you could add:

parentaccountdomainsexception (Parent Account Domains Exception)  for it so that we add exception for the domains for which it does not have to check for the parent accounts and simply uses contact for case creation, that will be really helpful and will not create mess.

Looking forward for your feedback.

Thanks in Advance...


Farrukh S Malik

Oct 23, 2010 at 1:44 AM


You are saying that you want to assign a case to the parent account but only for contacts that don't have a domain listed in the filter. Then it should create it for the contact. You are sure this is the logic you want? This means you will have a mix of cases created on accounts and contacts? Just checking since it sounds messy to manage and apply other rules to (although it's supported by CRMQM as per above).

We discussed something similar in a different forum (think it was a block list or something). Building a list domain filters in a config file feels awkward. This list can potentionally be very long and would be hard to maintain. There's theoretically an infinite number of free e-mail services which makes the solution anything but bullet proof. Could you try the workflow approach? When a case is created using CRMQM...

1. update caseattributes and set Case origin to a value that identifies it as created by CRMQM ("Mail auto" or something)
2. create a workflow that kicks in when case is updated which checks the Case origin attribute (to ignore manually created ones)
3. check to see if the responsible contact's e-mail contains any of the domains (can be tricky since workfolw conditions doesn't supports OR - I think...give it a try or consider custom workflow activity)
4. if it does - update case and set Customer = Responsible Contact which will change from parent account "Google" to the contact in this case.

I'd rather see that people use workflows instead of creating very company specific logic in CRMQM which makes it harder to maintain and understand. Let me know how it goes.

Oct 23, 2010 at 1:24 PM

Hello Manso,

Thanks for your reply.

Right now CRM QM is working as follows:

1. when a new email is received at, it checks if a contact against sender's email exists in CRM or not.

2. If not, it creates new contact in CRM for that sender.

3. If contact already exists, it skips the step 2 and proceeds to the next step.

4. Then it checks if the sender's contact is associated with an account or not. If the contact is already associated with an account, it skips the steps 5 and 6 and proceeds to the next step.

5. If not, it checks if that contact's (sender's) email domain matches to the domain of contacts emails associated with accounts in CRM. If it does not match, it skips the step 6 and proceed to next step.

6. If it matches, it associate the sender's contact to that account. 

7. Then it checks if the email received subject contains any phrases which are mentioned at ignorelist or not. If email subject does contains any phrases which are mentioned at ignorelist, it moves that email to the temp queue for further processing. If email subject does not contains any phrases which are mentioned at ignorelist, it proceed to the next step.

10. Then it creates a new case against the email received and associate a newly created case to the Account (if 6 is true) or contact (if 6 is not true).

11. Then it sends notifications.


My Request:

What I am asking is to add a one more step at step 6.

If the contact's (sender's) email domain matches to the domain of contacts emails associated with accounts in CRM, we'll check if that domain exists in domains exception list or not, before we continue to associate that contact to the account. If the Domain exists, we'll skip the step 6, and proceed to the next step.

This is really helpful since CRM is not only used for B2B and it is also used for B2C. In B2C scenario, many customers uses free emails service and each of them might have or might not have accounts in CRM.  Also, we can also create a Queue for Sales where new contacts can inquire in using their free email accounts but still they are not customers and their accounts do not exists in CRM.

So, if we always associate a contact to the account based on domain matching, it can associate wrong contacts to wrong accounts (If the sender of email is using free email).

***Parent account matching. This allows us to automatically resolve parent account based on existing contacts. Example: Someone e-mails the support queue using If the contact doesn't exist in CRM the normal procedure will kick in (send verification mail or create the contact straight away). When creating the contact we will look up the first 10 contacts with domain name in CRM. If they all have the same parent account it's safe to assume Douglas also belongs to Contoso. Supports internal notification for both failed and successful matches. This solves a lot of time when you have many people from the same organization contacting you. It only uses emailaddress1 since emailaddress2/emailaddress3 is often gmail/hotmail type of addresses.

I agreed that it will be messy if we configure the list in config file since the list can be huge. But if we could manage a csv file with a list of domains and only give path of that csv file in web.config, I guess it will be easy to manage.

Thanks again and looking forward for your thoughts.


Farrukh S Malik