In my role at ClickDimensions, a question I commonly hear is “How can I implement an approval process for my email templates?” Fortunately, with just a couple of customizations, we can implement a robust and easy-to-use approval process.
Before we get started, please note that you may need assistance from your CRM admin or partner to implement these changes and any issues with implementing this process is not supported by ClickDimensions.
Let’s first outline the process that a user will go through to have a template approved:
- When the user creates an email template, its status will be Draft.
- Once the user has built the template, they will set the status to Needs Approval.
- The email template will then appear in the user’s manager’s queue who will either approve or send back for review.
- Once the template has been approved, it will then be visible on the Email Send lookup to be used.
- Dynamics security roles can be used in conjunction with this process.
The first thing we need to do is edit Status Reason Transitions for the Status Reason field on the Email Template form:
Status Reason Transitions will dictate the path a record must take. For more information on Status Reason Transitions, see this article from Microsoft.
In our example, we need the following transitions:
- Needs Approval
- Needs Review
Status Reason Transitions will dictate how the record can reach the Approved stage:
So, we can see from the above image that an email template can never go directly from Draft to Approved. It will need to go from Draft to Needs Approval and then to Approved.
Once we have implemented the transitions, we now need to associate the user’s manager (or whomever you wish to have approve the templates). First, we will add the Manager field to the Email Template form:
This is a simple lookup field that references a System User record. Once the field has been added, we need to write a real-time workflow that will automatically update the Approving Manager value on creation of the email template record. Here’s a look at that workflow:
It’s important to note that this was set up as a real-time workflow that runs on creation of the email template record. The workflow simply sets the Approving Manager field by checking the Created By user and filling in the listed manager on the record:
That data is available on the user’s record; however, you always have the option of putting in a default manager here instead. So, now once the record is created, the user’s manager value will automatically be populated into the field.
Now that we have populated the approving manager’s information on the template record, we can assign and reassign the record according to the Status Reason, which is again handled by a real-time workflow. So, when the Creating User sets the status to Needs Approval, the record is then reassigned to the approving manager.
The workflow is set up to fire as soon as the Status Reason field changes and will reassign the record in line with its status.
If the template status is in Draft, Needs Review or Approved, the template will be assigned to the Created By user. If the template is in Needs Approval or Retired, it will be assigned to the Creating User’s manager.
Next, we can set up some business rules to make the Review Notes section of the template required if the template status is set to Needs Review. If the Approving Manager sets the template status to Needs Review, we want to ensure some notes are passed back to the Creating User to detail what needs to be changed.
Once this process has been implemented, there are some additional processes we can build out to reinforce the functionality. I highly recommend building out some custom views to see the templates by status.
This will easily allow a manager to view all templates and what status they are in. Another benefit of implementing these new security views is the ability to now limit the lookup field on the email send record to just show approved templates.
The final piece to the puzzle will be to implement some security around the new process. As always, it is recommended that you do not modify the existing security roles, but instead make a copy and modify the copy. More information on ClickDimensions security roles can be found here.
It is worth considering only allowing the user access to templates that they own so that they cannot move their own templates straight to Approved as the email template can only be approved by the Creating User’s manager.
If you’re interested in creating an approval process for email sends, you can read all about it here.