- Synchronize contacts, tasks and appointments
- Process outgoing emails
- Process incoming emails
- Automatically tracking emails based on Correlation rules (smart matching or/and tracking token)
All this without the need for the CRM Outlook client.
In the past appointments could only be synchronized with the CRM Outlook client installed and configured, if you booked an appointment with multiple people the appointment would only appear in other users Outlook Calendar if those same users had the CRM client installed and synchronizing with CRM. With Exchange Synchronization you eliminate this need for the CRM client, appointments created by you that require multiple people get directly written to their exchange profile so you automatically get an appointment alert to accept or decline.
On this article I will walk-through how to set up Exchange synchronization with Dynamics CRM 2013, here is an overview of the steps:
- Set up an IIS self-signed certificate
- Configure Exchange Impersonation
- Create and configure a CRM 2013 Exchange profile
- Configure User Mailboxes
- Configure CRM global Email Settings
- Test synchronization
- Design Overview
- known issues
- Summary and References
1. Self-signed Certificate
To generate the certificate open IIS and highlight the server name and double click Certificates
On the right-hand side click on Self-signed certificate
Give it a Name (I call it MyCertificate) leave Personal and click OK
You should see the certificate listed on the list:
Next step is to bind the Dynamics CRM website to HTTPS (443)
Highlight the Dynamics CRM web site under sites and on the right-hand side chose Bindings. The below window opens and on the type field you choose HTTPS this will enable the SSL certificate field to choose a certificate and we choose the MyCertificate, click OK
2. Exchange Account Impersonation
Before we start Configuring profiles in CRM we want to make sure CRM service account has impersonation rights on the Exchange side to do this we run the following PowerShell command:
Exchange 2010
New-ManagementRoleAssignment -Name "
For example: New-ManagementRoleAssignment -Name "CRM ExServiceAcc" -Role:ApplicationImpersonation -User crm13.service
Exchange 2007
Get-MailboxServer "" | Add-AdPermission -User "" -AccessRights ExtendedRight -ExtendedRights ms-Exch-EPI-May-Impersonate, ms-Exch-EPI-Impersonation
The second PowerShell command requires the Distinguished Name (DN) of the Microsoft Client Access Server (CAS).
To enable impersonation rights on a single Microsoft CAS server use the following command:
Get-ClientAccessServer -Identity "" | Add-AdPermission -User "" -ExtendedRights ms-Exch-EPI-Impersonation
3. Configuring CRM Exchange Profile
With the https binding in-place navigate to CRM using https://server/organization and settings > Email Configuration
Click on Email Server Profiles and then New Exchange Profile:
Fill in the details as per the below screenshot, you could use auto-discovery if it's working okay for you, I have tested in my environment and worked perfectly. The service account we specified has been given server-wide impersonation.
I've named the profile UK Mailboxes if you have users across different countries and exchange servers located on these sites you should create multiple profiles with the corresponding Exchange servers.
Leave the Advanced settings as they are:
Navigate to Mailboxes and on the Ribbon choose Add Existing Mailbox, by default every user created or imported during an organization import it's automatically generated a mailbox in the system, so when you click add existing mailbox the system will list all available user accounts.
4. Configuring Mailboxes
At this stage we have created an Email Server Profile and added 2 mailboxes, lets double click on one of the mailboxes:
Change the:
Server Profile: UK Mailboxes (the profile we just created)
Incoming Email: Server-Side Synchronization or Email Router
Outgoing Email: Server-Side Synchronization or Email Router
Note: on the configuration test results you should see Not Run instead of Success the screenshot was taken after the configuration was completed
Approve the Email and then click on Test & Enable Mailbox:
You then get the following alert message on the mailbox profile:
Click on Alerts and in a few seconds you will see the following messages coming up:
This means all checks completed successfully and you ready to test it in Outlook. If you look back at the Mailbox General tab you should now see the Configuration test results as Success.
During this test a test email is sent to your Inbox:
This is a test message to check the outgoing email
configuration for [User].
5. CRM Global Email settings
Before we start the Outlook test, lets first look at the CRM Global Email settings navigate to: Settings > Administration > System Settings
Go to the Email Tab, on this section there are a number of important settings that you should think from a design phase rather than implementation.
Configure email processing:
here you define which default method you want to process users email as it says if you choose Server-Side it will block Email Router. As we want to test server-side synchronization choose server-side instead of Email router.
Configure default synchronization method:
This will define users profile preferences and this is very important from a design perspective because will avoid duplicating work. If all your users are in UK you can default a server profile to UK Mailboxes, if you have users across different countries you could still define a default Email Server Profile using auto-discovery and then workout manually any specific users that require a manual Server Profile.
On the incoming, outgoing email and appointments, contacts and tasks default this to Server-Side synchronization or Email Router this will make sure it can use both.
Below you define if you should only process emails for approved users, this means if email processing is not a sensible subject in your implementation then I would recommend you untick this boxes because it removes an extra click on the configuration steps as we have seen above.
Configure email correlation, by default both tracking token and smart matching are enabled this is a business requirements rather than a performance or optimization issue. The tracking token will add a token CRM:Number to the emails subject which get processed by CRM and smart matching will be more transparent to users and attempt to use a matching pattern to find emails that should be tracked in CRM.
Note: Using a tracking token will be more efficient than smart matching but at a cost of being less transparent to users.
6. Test Synchronization
You ready to test the exchange synchronization create one appointment in CRM and include as required yourself and another CRM user fill in the other details and SAVE in a few minutes if all works well a meeting request is received in Outlook by all users.
To test sending emails confirm that on the Configure Email processing in the Global email settings is set to server-side synch, send an email to someone from CRM and ask that person to reply back, you should see the email tracked automatically in CRM.
7. Design Overview
On the design overview I just want to share a high-level diagram on the possible design routes for server-side synchronization.
The above diagram illustrates a possible scenario where there is a main office Lisbon and all other 3 branch offices have CRM users but out of the 3 only 2 offices use their own Exchange server. In CRM you define 3 Email Exchange Server Profiles:
- Default Exchange Profile configured with Lisbon Exchange server
- New-York CRM Profile configured with New-York Exchange Server
- London CRM Profile configured with a London Exchange server
The Default Exchange server profile it's applied to all users mailboxes so you only have to apply manually Exchange profiles on users mailboxes in London and New-York. Toquio and Lisbon will both default to the default Exchange profile which points at Lisbon.
8. Known issues
While testing the server-side synchronization I found that some mailboxes didn't get processed though the Test configuration results passed successfully. Enabling logging on the Asynchronous servers I found the below error; this has been logged with Microsoft and currently being investigated so if you do find yourself unable to test the server-side synchronization bear in mind this could apply to your mailbox create a new user with a brand new mailbox to test your CRM configuration.
When this happens you may see the following error message:
On the Asynchronous service logs we found:
>Exception occurred while retrieving folder data from
exchange server. Exception: Unhandled Exception: System.ArgumentNullException:
Value cannot be null.
Parameter name: s
Server stack trace:
at System.Convert.FromBase64String(String s)
at Microsoft.Exchange.WebServices.Data.MapiTypeConverter.<.cctor>b__14(String
s)
at
Microsoft.Exchange.WebServices.Data.MapiTypeConverterMapEntry.ConvertToValue(String
stringValue)
at
Microsoft.Exchange.WebServices.Data.ExtendedProperty.TryReadElementFromXml(EwsServiceXmlReader
reader)
at
Microsoft.Exchange.WebServices.Data.ComplexProperty.InternalLoadFromXml(EwsServiceXmlReader
reader, XmlNamespace xmlNamespace, String xmlElementName, Func`2 readAction)
at
Microsoft.Exchange.WebServices.Data.ComplexProperty.LoadFromXml(EwsServiceXmlReader
reader, XmlNamespace xmlNamespace, String xmlElementName)
at
Microsoft.Exchange.WebServices.Data.ExtendedPropertyCollection.LoadFromXml(EwsServiceXmlReader
reader, String localElementName)
at Microsoft.Exchange.WebServices.Data.ComplexPropertyDefinitionBase.InternalLoadFromXml(EwsServiceXmlReader
reader, PropertyBag propertyBag)
at
Microsoft.Exchange.WebServices.Data.ComplexPropertyDefinitionBase.LoadPropertyValueFromXml(EwsServiceXmlReader
reader, PropertyBag propertyBag)
at
Microsoft.Exchange.WebServices.Data.PropertyBag.LoadFromXml(EwsServiceXmlReader
reader, Boolean clear, PropertySet requestedPropertySet, Boolean
onlySummaryPropertiesRequested)
at
Microsoft.Exchange.WebServices.Data.EwsServiceXmlReader.ReadServiceObjectsCollectionFromXml[TServiceObject](XmlNamespace
collectionXmlNamespace, String collectionXmlElementName,
GetObjectInstanceDelegate`1 getObjectInstanceDelegate, Boolean
clearPropertyBag, PropertySet requestedPropertySet, Boolean
summaryPropertiesOnly)
at
Microsoft.Exchange.WebServices.Data.GetItemResponse.ReadElementsFromXml(EwsServiceXmlReader
reader)
at
Microsoft.Exchange.WebServices.Data.ServiceResponse.LoadFromXml(EwsServiceXmlReader
reader, String xmlElementName)
at Microsoft.Exchange.WebServices.Data.MultiResponseServiceRequest`1.ParseResponse(EwsServiceXmlReader
reader)
at
Microsoft.Exchange.WebServices.Data.ServiceRequestBase.ReadResponse(EwsServiceXmlReader
ewsXmlReader)
at
Microsoft.Exchange.WebServices.Data.SimpleServiceRequestBase.ReadResponse(IEwsHttpWebResponse
response)
at
Microsoft.Exchange.WebServices.Data.ExchangeService.InternalLoadPropertiesForItems(IEnumerable`1
items, PropertySet propertySet, ServiceErrorHandling errorHandling)
at
Microsoft.Crm.Asynchronous.EmailConnector.MonitoredExchangeService.LoadPropertiesForItems(IEnumerable`1
items, PropertySet propertySet)
at
System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr
md, Object[] args, Object server, Object[]& outArgs)
at
System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage
msg, IMessageSink replySink)
Exception rethrown at [0]:
at
System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg,
Boolean bProxyCase)
at
System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed,
MessageData& msgData)
at
Microsoft.Crm.Asynchronous.EmailConnector.ExchangeSyncSteps.LoadPropertiesForItemsStep.LoadPropertiesForItemsDelegate.EndInvoke(IAsyncResult
result)
at
Microsoft.Crm.Asynchronous.EmailConnector.ExchangeSyncSteps.LoadPropertiesForItemsStep.EndRequest(IAsyncResult
response)
at
Microsoft.Crm.Asynchronous.EmailConnector.ExchangeSyncSteps.ExchangeSyncAsyncRemoteStep`2.AfterCall()
9. Summary & References
Hope you have enjoyed this article please leave your feedback.
Hi Nuno,
ReplyDeleteWe are seeing a similar error in calendar sync to the one you describe in section 8, but ours appears to be timezone related - see http://pastebin.com/hQ1qLBMY
How did you report your issue to Microsoft? Have they come back with a solution yet?
Regards,
Edward
Hi Edward,
DeleteDid you get to the bottom of your issue? We are having the exact same error message relating to timezones here, I notice in the error that it isn't being passed a string id for the timezone however it looks like its trying to use userid 00000000-0000-0000-0000-000000000000
Paul
Hi Edward and Paul,
DeleteCould you attempt a mailbox repair, and let me know if it was successful?
http://technet.microsoft.com/en-us/library/ff625221(v=exchg.141).aspx
Regards
Nuno
Hi Nuno,
DeleteUnfortunately a mailbox repair doesn't appear to do anything - we're still not able to sync calendar events. I have opened a case with Microsoft and they are looking into it. I'll let you know when I have any news.
Regards
Edward
Were any of you able to find a solution to this problem?
DeleteThanks,
Mike
Hi Michael,
DeleteMicrosoft is still investigating my issue. I'll keep you posted when I have more information.
Hi
DeleteI Think I've sort of solved the problem, I hade the exact same problem as described. What I did was I cleaned up some old calendar items. I added the column Outlook Version as a field in the view, I used the List view. I removed all calendar items with version 12.0 (old Exchange version), I also removed all old calendar items ut to version 14.2Ex (not shure if you need to go ut to this version, just test).
Then the sync started to work. My guess is that old Calendar items stored with a old Exchange version doesn't have all the required fields (like the Regional field).
Still Think that this is a bug in CRM that needs to be fixed.
/K1
Hi K1,
DeleteThanks for your update, hope helps someone. In my case the issue ins not the calendar but some odd attribute on the mailbox which Microsoft is still trying to figure out which one is it.
if you are Facing hotmail account problem Contact Hotmail Outlook Support Nz to solve all Hotmail/Outlook account related issue, call at: +64-9-28-062-35
DeleteHi Edward,
ReplyDeleteThat's interesting. I've logged it via the Microsoft premier support premier.microsoft.com.
The issue has been escalated so far, I'll let you know when I hear from them.
did you try with a brand new user mailbox?
Regards
Nuno
Hi Nuno,
DeleteWe are only seeing the issue with some mailboxes. Mine does not work, but one of my colleagues has no trouble with it. We can't see any obvious difference between the two accounts/mailboxes. I did try creating a brand new user, and that worked as well. Not sure what to make of that yet.
Regards,
Edward
This comment has been removed by the author.
ReplyDeleteIn step 2 you refer to the "CRM Service Account". WHICH service account are you referring to?
ReplyDeleteThanks,
Bill
Hi Bill,
DeleteThis is the service account that has impersonation rights in Exchange which you configure in the CRM Exchange Profile, this account will impersonate users permissions to access their mailbox items, contacts, emails, appointments etc... You can see that on the exchange profile screenshot under credentials I've specified crm13.service account, I would recommend a dedicated service account just for exchange sync.
I will amend the text to be more clear which service account I'm referring to. Thanks for your feedback.
This is clear. Thanks for the answer. One issue I'm running into. I didn't do a self-signed certificate, but instead requested an SSL cert from GoDaddy.com. I installed this successfully on the CRM server; however, when I test an email account, I get an error stating that "The email message "Test Message" cannot be sent because a server certificate required to connect to the email server using SSL could not be validated.". Does anything need to be done on the Exchange side to elminate this error?
DeleteHi Bill,
DeleteYou want to check if you need a CA certificate from GoDaddy that needs installing on the Trusted root CA store. let me know if you need help email me on: nuno.m.costa@gmail.com
Bill what was your resolution, I also have an SSL cert and am having the same issue?
DeleteHi Bill/Nuno/Russ,
DeleteDid anyone get to solve the SSL issue. We also have the same issue and taking a long time. Any guidance to solve the issue would be appreciated.
Hi Nuno, do you do consultancy work
ReplyDeleteHi,
DeleteYes I do, please send me an email to: nuno.m.costa@gmail.com.
Regards
Nuno
Hi Guys - I too am having the same issue - has anyone heard from Microsoft. Has anyone got a fix? - any resonses will be greatly appreciated.
ReplyDeleteCase logged with MS - fingers crossed
ReplyDeleteHi Nuno,
ReplyDeletecan I create server profile with an external exchane server on different AD domain?
Thanks
Michele
Hi Michelle,
DeleteIf the account can reach and authenticate against the server then I would be confident it would work fine though I haven't tested in that particular scenario. Let me know how you get on.
Thanks
Nuno
Great article about a very useful feature of CRM 2013 as our users have been crying out for server side sync as the managers are often out of the office so their Outlook isn't always on. Thanks for writing
ReplyDeleteHi Scott, many thanks for your commends. Let me know if you need assistance.
DeleteThanks
Nuno
Hi Guys, any update on when the server-sync is available for CRM 2013 online?
ReplyDeleteVery Handy Article, Question, when using server side sync, should emails created in web interface sync to sent items in outlook. currently this isn't happening. The email sends fine but doesn't land in outlook sent items.
ReplyDeleteHi Travis, I've tested on my side and is the same, I think this is by design and not expected to be tracked on the sent items. Tried to reply to your email but bounced back saying gmail is blacklisted.
DeleteRegards
Nuno
Very nice and elegant article
ReplyDeleteAnyone tried to sync Lotus Notes via server side?
ReplyDeleteWe are having the same issues with existing mailboxes. Users with newer mailboxes are able to sync. Any word back?
ReplyDeleteThank you for this article. I used to successfully migrate from our old E-Mail router to the new Server-Side Synchronization.
ReplyDeleteThis might be obvious, but would you what security roles are required to sync tasks, appointments, etc. Some of our mailboxes fail at this stage, and giving maximum privileges resolves the issue.
Thanks in advance for any advice!
HI I am getting error when I tried first Powershell command on 2007 that command cannot take input pipeline
ReplyDeleteThank you for the detailed step by step for installing Dynamics CRM. After setting up the email server profile I ran the test and enable mailboxes command. But I keep getting the following error " One or more mailboxes associated to the email server profile XXXXXXXXXX have been disabled for receiving email because a server certificate that is required to connect to the email server using SSL could not be validated. Make sure that a valid certificate is installed for Microsoft Dynamics CRM to connect to the email server. Then, enable the mailboxes for receiving email."
ReplyDeleteI would appreciate any assistance. I've been struggling with the error for the past week. Everything else (except email) is working great.
Hi Masri,
DeletePlease feel free to contact my via email: nuno.m.costa@gmail.com and I'll be happy to help you.
Regards
Nuno
HI Nuno.
DeleteI sent u an email regarding this case.
Would appreciate your help.
Regards, Frank.
Hi Masri
DeleteWere you able to resolve your certificate issue?
I am having exactly the same error message.
I have been trying to resolve this for over a week.
Any help would be greatly appreciated.
Thanks
Dan Plouffe
Hi Nuno,
ReplyDeleteThanks much for the article. Could you please update Step 2 to include Exchange 2013? I'm a bit stuck at the moment and that would help tremendously.
Thanks!
Hi Christopher,
DeleteThanks for your comments. I have recently helped a client with Exchange 2013 and configuring impersonation was similar to 2010. What error you getting? Feel free to contacting me by email.
Regards
Nuno
Hello Nuno
ReplyDeleteEver been able to stop invitations being sent when appointments have a Contact in the Required field? My client doesn't want the invitations to leave, but does want the users to add the Contact(s) as Required on the appointments for visibility.
With Outlook client sync this was fine as the appointment records syncd from CRM didn't actually get sent. The Email Router method historically, and now Server-side Sync, automatically send the invitation to any Required parties without anywhere I can see to intervene.
I had considered an Exchange rule to trap and block these at point of delivery but that seems overkill.
Anyone found ways around this?
Thanks
I'd be curious as to how you solved this. We just tell the users to leave Regarding at the Customer and put Required as blank to make sure the customer does not get notified.
DeleteThis is tricky. Had the same requirement for a Customer. We solved it by moving all external Contacts to separate manual intersect entity with a plugin. Tricky but it worked.
DeleteWe solved this by adding a tag identifier to the Subject of every CRM appointment where we wanted to prevent the meeting invitation. Then configuring an Exchange Transport Rule hooking onto that subject where it is a calenaring object, with the rule re-routing the invitation email to a quarantine inbox. So it never left the email platform.
DeleteSimple plugin with conditional rules over the Required and Optional attendees, which updates the subject field did it.
This allowed us to keep the contacts as contact records with the primary emailaddress still set.
Nuno, thank you very much for posting this tutorial. It is VERY helpful. The one question I have is regarding the second power shell command in step 2. You wrote:
ReplyDeleteGet-ClientAccessServer -Identity "" | Add-AdPermission -User "" -ExtendedRights ms-Exch-EPI-Impersonation
Is the CAS the Exchange server or the CRM server? I'm also assuming the User is the same as in step one. CRM13.Service? Can you please clarify that command. The example for the first command was very helpful.
Thank you in advance for your assistance.
Hi there,
ReplyDeletehas anyone experience performance issues after configuring server-side sync, like time-out on different activities or blocking processes in the database?
Thanks
Hi Juan,
DeleteI haven't, because I'm using CRM Online, but if you are using On Premise, consider what the Microsoft Dynamics CRM Online Spring ’14 release notes say here http://www.microsoft.com/en-us/dynamics/crm-customer-center/readme.htm#_Server-side_Synchronization_Known_1
Every enabled mailbox runs server-side synchronization on the CRM Async server periodically, so ensure you have proper testing and hardware
Please ensure you have enough testing and hardware for CRM on-premises and Exchange Server on-premises before using server-side synchronization in your day-to-day environment.
The load and performance impact of server-side synchronization highly depends on the:
· Number of enabled mailboxes
· Load of user usage (daily or peak) on emails, appointments, contacts, and tasks
· Load on the Exchange server and Async server (such as workflows, etc)
· Optimization of the SQL servers
· Data topology of the Exchange server
· Hardware specification and Internet connection of the environments.
Hope it helps!!
Hi,
ReplyDeleteI was trying to set it up following your instructions. I am using self-signed certificate, but getting following error:
DCLabExch
One or more mailboxes associated to the email server profile DCLabExch have been disabled for receiving email because a server certificate that is required to connect to the email server using SSL could not be validated. Make sure that a valid certificate is installed for Microsoft Dynamics CRM to connect to the email server. Then, enable the mailboxes for receiving email.
When I check event logs, I also see this error:
WebHost failed to process a request.
Sender Information: System.ServiceModel.Activation.HostedHttpRequestAsyncResult/20800246
Exception: System.Web.HttpException (0x80004005): There was no channel actively listening at 'https://xxxxxxxx/PRMLab/xrmservices/2011/OrganizationData.svc/msdyn_PostConfigSet?$select=msdyn_EntityName,statecode&$filter=msdyn_EntityName eq 'mailbox''. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening. ---> System.ServiceModel.EndpointNotFoundException: There was no channel actively listening at 'https://dclabcrm02.dclab.com/PRMLab/xrmservices/2011/OrganizationData.svc/msdyn_PostConfigSet?$select=msdyn_EntityName,statecode&$filter=msdyn_EntityName eq 'mailbox''. This is often caused by an incorrect address URI. Ensure that the address to which the message is sent matches an address on which a service is listening.
at System.ServiceModel.Activation.HostedHttpTransportManager.HttpContextReceived(HostedHttpRequestAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()
at System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult result)
at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)
Process Name: w3wp
Process ID: 4264
Hi Chixcancode,
DeleteDid you get to solve the SSL issue. We also have the same issue and taking a long time. Any guidance to solve the issue would be appreciated
I configured server-side Synchronization between CRM 2013 SP1 (italian) and Exchange 2010 SP3 RU6.
ReplyDeleteAll mailboxes at the begin seem to work correctly and tests are passed successfull. After few minutes i receive this alert error multiple times:
Appointments, contacts and tasks for the mailbox Enzo ... couldn't be synchronized. The owner of the associated email server profile ...xxx... has been notified. The system will try again later.
The whole article with logs is posted on https://community.dynamics.com/crm/f/117/t/139539.aspx
Please if anyone has some information, you write me..
Thank you in advance
1. Enzo you should firstly check the security role permissions to include those below.. As far as I can see, they are undocumented dependencies
DeleteService Management:
Calendar: create Org, read Org, Write Org, Append/To Org
Browse availability: Org
Business Management:
Email Server Profile: read Org, Append/To Org
Mailbox: read Org, write User, Append/To Org
2. Check that the primary email address in Exchange for that user is the one configured in the User record in CRM. And ensure that the email address is Approved in the User record. The primary email address is also an undocumented dependency.
Hello Rob,
ReplyDeleteI checked all role permission on my user and I checked that email address has been approved, but I receive the same error.
How can I track a verbose debug log for the problem?
Thank you
Hi Enzo, I had the same problem. Strangely enough, I managed to resolve it by adding the Sync to Outlook permission! Under Business management- Privacy Related Privileges.
DeleteThank you for the course content On Servicenow Administration Online Training it will be Most usefull for Beginners
ReplyDeleteOther than the ApplicationImpersonation permission on Exchange 2010, are there any other permissions needed by the Email server profile account to allow appointments, contacts, and tasks to be sync'ed? I'm being requested to allow fullacccess permissions for the Email server profile account to the CRM users because appointments are failing but E-mail is working.
ReplyDeleteWe have CRM 2015 On Premise install and have configured server side synchronization We are constantly have issues were certain emails do not enter crm queue however are present in the mailbox.
ReplyDeleteSometimes if you forward the email back to the mailbox it will enter the queue other times it wont and you have to make some changes to the subject line and then forward the email for it to enter the queue.
Has anyone encountered such issues and how can we resolve such a problem.
Any help would be great.
Thanks
Hi Maria,
DeleteI have the same issue, did you get a solution? I hear creating a forward mailbox is a good solution.
Silla
Great Article Nuno,
ReplyDeleteCan you please advise on the below:
1. I have CRM 2015 on premises with Exchange 2016 on premises.
2. Should I Set up an IIS self-signed certificate and then Configure Exchange Impersonation in order to work fine?
Currently no SSL and in the Email Server Profile authentication is set to Windows Authentication; however, the following error is occurring "The email message "Test Message" cannot be sent because an error occurred while connecting to the email server. The mailbox "..." has been disabled for sending email. The owner of the associated email server profile "..." has been notified."
Please advise.
No need for Cert in that deployment model. Check you can browse to EWS of the Email Server Profile from the CRM async / Email Integration Service server. Check that service account running async service /Email Int Service has ApplicationImpersonation rights over Mailbox you are testing. Check User of Mailbox Email Address field value is the Primary SMTP of the user mailbox in Exchange. If all those good, turn in CRM tracing and retest. You may find a more meaningful fail reason that the rubbish SSS error.
ReplyDeleteHaving and issued with Server Side Sync and appointments; they do not sync to the users. If I use the CRM Outlook sync client all works. Contacts & Task as expected. Just not the appointments.
ReplyDelete- User A creates an opportunity
- rums a workflow that creates an appointment
- User A gets the appointment
- User B does not get the appointment
- User B modifies the opportunity, workflow is triggers, appointment is created
- User A gets the appointment
- User B does not
the above ONLY happens with Server Side Sync enabled. If using the Outlook sync then both User A and B always get the appointment
this leads me to believe the appointment Organizer is not the issue and the Sync Filters are not the issue.
Please HELP!!!
SSS requires the organizer and owner to be the same CRM user. Check the workflow is being run as User not Owner of workflow (who is the owner of appointment when activity created?) That user must have an exchange mailbox with the primary email address matching the CRM user primary email address.
ReplyDeleteIf all of that ok, check the A and B user has an Outlook filter for appointments where they are Party to appointment (not just Owner).
Also check did you enable the Mailbox in CRM, test and enable Mailbox and did you get Success in all incoming outgoing and appointment/contact/task?
ReplyDeleteOutlook sync does not require this. SSS does.
Thank you for your response. Workflow has Owner = Team, Organizer = Opportunity Created By
ReplyDeleteSync filters:
- Start Time = Contains Data
- End Time = Contains Data
- Appointment Type - Not Recurring
Activity Parties (activity)
- Party = Current User And His Teams and his......
SSS for each mailbox runs successfully. Service Account has mailbox and is member of CRM Org. That mailbox also runs successfully. Task and Contacts have no issue.
Is there something I am missing?
Sorry Owner = Opportunity Created By NOT Team
ReplyDeleteAfter very testing what I have determined is that the appointment I would like sync will only be accessible to the organizer of the appointment. Which ever user or user type (I.e. Opportunity modified by, Opportunity created by) will be able to sync the appointment.
ReplyDeleteAny further thoughts?
If Owner and Organizer match and are a user record with active enabled mailbox then start looking at the other Parties. What do you have mapped to Required Attendee field? What do you have in the ExchangeSyncError table (on prem) or SSS troubleshooting dashboard (2016 on)
ReplyDeleteHello, so I was trying to avoid using the Required Attendee field. But with SSS this might not be possible. Either it is a bug, a design oversight or a by-design. Either way, with SSS enabled you cannot just sync the appointments to the owners or another other form.
ReplyDeleteI finally solved this by using a custom plugin
- custom look up field on appointment (hidden from users)
- Look up field in workflow is populated with Team
- plugin monitors this field
- when field is populated plugin will pull team members and populate individual team members in the Required Attendee field
Thank you for your support.
Required attendee is not mandatory for appointment to sync to the Owner/Organizer. I do this in one of our deployments already. Once added Required attendee at later time the appointment syncs to their calendar too.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteQuestion to all: Has the original problem "Exception message: Value cannot be null" ever been fixed? I am experiencing this problem currently and I do not see a fix in this thread! Has Microsoft gotten back to you? Did they provide a reference number to the issue?
ReplyDeleteQuantum Dynamics With Microsoft Crm: Dynamics Crm 2013 Configuring Exchange Syncronization >>>>> Download Now
ReplyDelete>>>>> Download Full
Quantum Dynamics With Microsoft Crm: Dynamics Crm 2013 Configuring Exchange Syncronization >>>>> Download LINK
>>>>> Download Now
Quantum Dynamics With Microsoft Crm: Dynamics Crm 2013 Configuring Exchange Syncronization >>>>> Download Full
>>>>> Download LINK