I was prepping for the NA Sage Summit 2011 which was taking place in Washington, DC just over a week ago and I wanted show off the power and simplicity behind the Sage CRM Exchange Integration that was just recently released in Sage CRM v7.1. Plus, I thought it would be great to send out appointments to the audience during the Sage CRM v7.1 overview sessions and see their responses synch back into the system.
Now, we generally demo the Exchange Integration by setting up a SBS environment on a separate laptop, virtual machine or even a remote desktop session to a live environment but for Summit I decided to try Office 365 as I had read that the Exchange offering included the ApplicationImpersonation management role which is necessary for the integration.
The setup of Office 365 and the integration to Sage CRM v7.1 was very straight forward, but I did run into a couple of head scratching moments during the process that I thought I would share…
Office 365 Setup
1. Sign up for an Office365 account: (http://www.microsoft.com/en-ie/office365/free-trial/small-business.aspx)
2. Sign in (http://login.microsoftonline.com) to the account, and create a number of user mailboxes. For the purpose of this example I set up the following users:
email@example.com (Admin account created during the initial setup)
3: Once your users have been set up, we need to create a user that has the ApplicationImpersonation role. This will allow this the Sage CRM Exchange integration to edit data changes in these users' mailboxes. First of all, we create the new user account, as with the earlier users. For this example, we'll create a mailbox with the following name:
It used to be the case that you needed to set the "Automatically process requests and responses from external senders" option on each user's mailbox. This is no longer the case. Instead, you need to assign the ApplicationImpersonation role to the CRM user. This can be done from within the Exchange Online administrator settings.
To do this, select the Permissions option from the menu on the left hand side. Next, select the Admin Roles option, then the + symbol to add a new role.
A new dialog box will open, and you'll be prompted to add a name for your role group. We'll call ours "CRM Impersonation".
Under the Roles menu, select the + icon to select an RBAC role. Select the ApplicationImpersonation role, then hit Add, then OK.
Finally, in the Members area, select the + icon to add a user account. We'll add the CRM user account that we've just created. Hit Save when you're done.
The role assignment area is one that has changed frequently in Exchange Online. If you run into problems allowing an impersonated user access over your Exchange user mailboxes, you can check out the permissions using Powershell. There's a description of how to do this in KBA 492-16618 on this site.
5: The next step is to take note of the endpoint URL that will be used to interact with Exchange Online's web services API. Previously, you would have had to take note of which server cluster (or "pod") you were connecting to. This has now been standardised to a single URL:
Sage CRM Setup
1. Log on to SageCRM as Admin and to go Administration > System > System Behaviour > Set ‘Use Exchange Server Integration’ to ‘Yes’.
2. Go to Administration > Email and Documents > Exchange Server Integration > Connection Management > Pop in your EWS URL and credentials
Exchange Web Service URL: https://outlook.office365.com/EWS/Exchange.asmx
Exchange Server User Name: firstname.lastname@example.org
Side Note: Here is a great little tool that you can use to test out your EWS connection - https://www.testexchangeconnectivity.com/Default.aspx
3. Go to Administration -> E-mail and Documents -> Exchange Server Integration -> Connection Management -> User Mailbox Management and select the email account that you wish to synchronize with.
4. Go to Administration -> E-mail and Documents -> Exchange Server Integration -> Synchronization Management and Enable the synchronization.
That is it!
You should now be able to create appointments from within Sage CRM and see the meeting invites go out to other Sage CRM Users and any external attendees you add to the appointment. I have to say that the flexibility of having my local installation of Sage CRM on my laptop integrated with my exchange account online was fantastic!
Now you are probably wondering about the rest of the Office 365 offerings and support for them. We have not officially tested Office 365 so we still need our QA crew to give it a once over but here are some of our preliminary thoughts.
Office Professional Plus – As a desktop application paid for via a monthly subscription should allow users to use all the Officey functionality that is currently in Sage CRM v7.1 (Mail Merge, Export to Excel, Outlook Integration).
Exchange Online – Now Exchange Online has been out in the market for a while now but it is important to note that the BPOS Exchange Online offering did not allow administrators to access or set the ApplicationImpersonation management role. Thankfully, Office365 has now been released and the Exchange offering packaged up with it does include the ApplicationImpersonation user role. So far so good.
SharePoint Online – We do not integrate or support this and it is not currently on the roadmap.
Lync Online – We do not integrate or support this and it is not currently on the roadmap.
Office Web Apps - We support Outlook Web App as far as the Exchange Integration is concerned in that meetings etc. created via OWA can sync to Sage CRM. Our Outlook Plug-in however doesn’t integrate with Outlook Web App.
Office 365 has been officially supported within Sage CRM since the release of 7.1 SP1.
Footnote: This blog post has been updated by other Sage CRM team members since it was originally published. The Exchange Online platform is actively modified by Microsoft, so we will endeavour to keep this article up to date, in so far as is possible. Further detail regarding the handling of the ApplicationImpersonation role is available in knowledgebase article 492-16618.