I came across a very common and usual requirement one day.
A business would like to send notifications using Microsoft Dynamic CRM to the contact added on the Invoice entity on due of Invoice end date.
I guess workflows would be the best suitable option here to send an email notifications, probably using the template and adding dynamic content would add a personal touch and even who is not from a developer background can construct a beautiful workflow.
But let me tell you a simple workflow may sometimes can be a very nasty to handle and play around.
Let me outline an example and share my small tips and learning.
On Invoice entity we have following relationships:
- Company : One-to-Many Relationship between Account and Invoice.
- Primary Contact : One-to-Many Relationship between Contact and Invoice.
- Due Date : Date when Invoice is due.
We customize Primary Contact field to allow only contact associated under Company.
Now we will create our workflow which would simply send reminder email to a contact on Invoice due date.
I am creating a very basic workflow and not handling complex logic for workflow getting multiple times when an invoice due date get updated, just to stay focus on showcasing a different situation.
We are done with creating our workflow and we have activate it.
Now, we would test it with some sample data.
We have a Account with two contacts in CRM.
We created an invoice with information as depicted in below diagram.
According to our provided business scenario we need to send an email notification to Mr. Vipin Jaiswal on Invoice Due date (31-Dec-2018).
But let assume here on 1st-Apr-2018 that is before Invoice due date is reached, Mr. Vipin Jaiswal is no longer a Primary Contact for Account Microsoft.
The changes had happened on Account entity and Vipin Jaiswal was removed from the Contact sub grid. But on the Invoice entity CRM is still referring to Vipin Jaiswal as his Primary contact.
Our workflows would still be sending an email to the contact which is no longer associated with the account which invoice is related to.
The business would be interested in sending email notification to the changed Primary contact of an account which is been reflected at the account entity level.
Typically we should always be sending such email notification to the current contact which is associated to the account and not the contact that is got recorded on the Invoice creation.
• Account and Primary contact are tightly coupled.
• At the time of Invoice creation, we select Account first and then we are allowed to select only related contact as a Primary Contact.
• A Primary Contact can move from one organization to other, account will remains the same.
• In this case, we should always send an email notification to the Primary Contact of the Account and not the Primary Contact of any Invoice.
Please let me know if someone came across such issue and resolutions steps taken towards it.