Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

Email Outlook App

Posted on by 108

Hello, 

I am look for a way to separate internal emails with externals when they come into CRM. For Example, if it is an internal email it will show up on the internal tab in the Opportunity Entity and if it is an external email it will go in the external section in the Opportunity entity. Also, I would like to make the external only view-able to certain users. Is this possible ?? 

Thank you, 

Joseph  

*This post is locked for comments

  • Verified answer
    Wayne Walton Profile Picture
    Wayne Walton 13,726 on at
    RE: Email Outlook App

    This is not actual security separation, but it might work for your needs. Otherwise, David's suggestions are correct.

    Make two forms for Opportunity record.  One with Internal and External email views, one with only Internal email view.  Make two security roles (if you haven't already), one for each form.  Then assign the proper security role to each form, and then assign the security roles to the users.  One for Internal Only, one for Internal and External.

  • Joseph Melillo Profile Picture
    Joseph Melillo 108 on at
    RE: Email Outlook App

    Hi Wayne,

    This worked! Is there away for me to hide the external grid from some users (security role)?? I created two grids 1. internal and 2. external. They both have different tabs.

    Thank you,

    Joseph

  • Verified answer
    Wayne Walton Profile Picture
    Wayne Walton 13,726 on at
    RE: Email Outlook App

    For splitting the emails, you could possibly do this through Views, as a simpler, though less comprehensive option to David's suggestion.

    Make an Internal Email View and make the filter criteria "From Contains yourdomain.com"

    Make an External Email View and make the filter criteria "From Does Not Contain yourdomain.com"

    Then add those Views to your Opportunity.

    That's the easy part.  For limiting views, David's right.  There's no easy way to filter emails like you're asking, the security model of CRM isn't built that way.

  • Joseph Melillo Profile Picture
    Joseph Melillo 108 on at
    RE: Email Outlook App

    Hi David,

    Thank you for your comment and solution. Is there way to do this without custom code for the first part and second part?

    Thank you,

    Joseph

  • Verified answer
    David Jennaway Profile Picture
    David Jennaway 14,063 on at
    RE: Email Outlook App

    This isn't easy. For the internal and external views, you'll need to create an attribute on the email entity to flag if it's internal or external. Once you've done that, you can create a separate view for internal emails and external emails, and display each view in a different subgrid. The main effort will be in populating the attribute as by default, emails come into CRM in a closed state, and you can't update attributes on a closed record. There are 2 ways around this:

    1. Write a plugin on the pre-event, which will allow you to modify data as it is written to CRM. You may also be able to use a synchronous workflow running on the Before stage
    2. Change the status of the email to an open state, modify the email, then change the state back again

    As for controlling access to the external emails, there is no easy secure way to do this. The main problem is that the permissions on activity records apply to all types of activity, so you're limited to what you can do. Some options to consider:

    1. The simplest, but not secure, would be client script to hide the external email subgrid based on a user's security role. However, users could still access the emails via other means - e.g. Advanced Find
    2. You could write a plugin on the RetrieveMultiple event to remove the external emails from the results, based on a user's security role. This is a bit more secure, in that it will hide the data however it is accessed within the CRM UI, but doesn't stop the user accessing the data in other ways (e.g. exporting, or running a report)
    3. If your security model can support it, you could:
      1. Keep users out of the root business unit, and only give at most Parent-Child level permissions on activities
      2. Create a team (or dummy user) in a business unit in a separate branch of the business unit hierarchy
      3. Use a plugin or workflow to assign the external emails to the team/user in step 2, then share permissions to those who should be able to access these records

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,214 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans