Implicit FrontEnd for SugarCRM –
Microsoft Exchange Installation and Configuration Guide

Introduction

Overview

Implicit FrontEnd for SugarCRM – Exchange synchronizes email, contacts, calendars and tasks between
SugarCRM and Microsoft Exchange users’ mailboxes. The software consists of a Microsoft Windows system
service that runs as a background process and performs the synchronization and a configuration tool to
allow Exchange/IT administrators to configure the software.

Solution Architecture

The following diagram describes the overall architecture of this solution:

Implicit FrontEnd supports multiple configurations:

  • SugarCRM can be either on premise or hosted
  • Microsoft Exchange can be either on premise or hosted
  • FrontEnd Server – A single or multiple server depending on require scalability

Implicit FrontEnd Scalable Architecture

Implicit FrontEnd offers a highly scalable architecture. The basic configuration consists of a single
server where all the services are installed: configuration server, SQL database and a synchronization
server. Depending on the number of users and amount of data to synchronize, the architecture can scale
up to multiple servers.

Trademarks

Implicit, the Implicit Logo, Implicit FrontEnd, Implicit FrontEnd for Exchange, Implicit FrontEnd Gateway
and combinations thereof are trademarks of Implicit Inc.

Microsoft, Microsoft Office, Microsoft Outlook, Microsoft Exchange, Exchange Online, Office 365,
Microsoft Sync Framework and Windows are registered trademarks of Microsoft Corporation.

SugarCRM is registered trademarks of SugarCRM Inc.

Other product names used in this publication are for identification purposes only and may be
trademarks of their respective companies.

Disclaimer

The contents of this document are provided in connection with Implicit Inc. (“IMPLICIT”) Implicit FrontEnd product. IMPLICIT makes no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to specifications and product descriptions at any time without notice. No license, whether express, implied, arising by estoppel, or otherwise, to any intellectual property rights are granted by this publication. Except as set forth in Implicit FrontEnd License Agreement, IMPLICIT assumes no liability whatsoever, and disclaims any express or implied warranty, relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or infringement of any intellectual property right. IMPLICIT’s products are not designed, intended, authorized or warranted for use as components in applications intended to support or sustain life, or in any other application in which the failure of IMPLCIT’s product could create a situation where personal injury, death, or severe property or environmental damage may occur. IMPLICIT reserves the right to discontinue or make changes to its products at any time without notice.

Installation

Preparing for the installation

Before you install Implicit FrontEnd for SugarCRM – Exchange (“Sync Gateway”) installation, please make of the following:

  • Your Exchange Server version and the machine you are installing the Sync Gateway are supported.
    See Supported Platforms.
  • The Exchange service account you will be using for Sync Gateway has been granted Impersonation
    privileges or Delegate Access permissions so that it can use Exchange Web Services (EWS) client
    applications to access other users’ mailboxes. See Setting up Exchange Service Account
    on how to configure impersonation privileges or delegate access permissions.

Supported Platforms

  • Supported Microsoft Exchange Versions: Exchange 2016/ 2019 / 2022, Microsoft 365 (Exchange Online).
  • Supported Operating Systems: Microsoft Windows Server 2012, 2016, 2019, 2022.

Setting up Exchange Service Account

For information on how to set up an Exchange Service Account with impersonation or delegation privileges, click here

Setting up Master Exchange Categories

To allow users to manually select which Exchange data will be synchronized with the CRM,
you can create global Exchange categories which would be visible via Outlook to all users.
This configuration can be as simple as a single category e.g.: “CRM” which is just a
global switch that be can be used to mark items (emails, contacts, appointment/meetings
and tasks) for synchronization or you can create multiple categories such as clients,
accounts, opportunities etc.

Installing the Pre-Requisites Components

Before installing the Sync Gateway, the installer will check the desktop for required components
and install/upgrade any missing component:

  • .Net Framework 4.6
  • Microsoft Sync Framework 2.0 Core Components
  • Microsoft Sync Framework 2.0 Provider Services
  • Microsoft SQL Compact Edition 4.0

Installing Implicit FrontEnd for Exchange

If you are installing the Exchange Sync Gateway on a single server, select “Primary Server” installation.

Otherwise, If you are installing on a server farm and you have already installed the primary server,
select “Secondary server” to install one or more secondary servers.

Click Next to continue. You will be prompted to select the installation folder.
By default the installation folder will be set to: \Program Files\Implicit\Implicit FrontEndSugarCRMExchnage.
Choose Browse to select a different folder. Then click ‘Next’.

Next, the installer will be prompt you to confirm the installation and start copying the files:

Upon completion of the installation, the installer automatically starts the gateways synchronization service.

Configuring Implicit FrontEnd for SugarCRM – Exchange

Activating License

Upon launching the configuration tool for the first time, you will be prompted to enter a license key:

Click the “License” button and enter the license key:

You can repeat the process any time you need to upgrade the license (e.g. add additional users).

Configuring Servers

SugarCRM Server

  • Server – SugarCRM server instance URL
  • User ID / Password – Specify the SugarCRM admin account

Microsoft Exchange Server

Note: If you are evaluating / testing this tool for the first time, we highly recommend that
you start by setting a test mailbox (or your own mailbox) both as the ‘Service Account’
and as the user account (Configuring User Accounts).
This way you can test all the functionality on a test mailbox that does not require impersonation
privileges. After you test all the functionality with the test mailbox, ask your Exchange administrator
to create an account that has impersonation privileges to login and synchronize data on behalf of those Exchange
users that would be participating in the synchronization service
(Setting up Exchange Service Account).

Configuring General Synchronization Options

To configure general synchronization options, click the Sync tab:

The configurable parameters include:

  • Run synchronization every N minutes – The checkbox turns on/off the actual synchronization. Un-checking the checkbox will put Sync Gateway on hold
  • User Accounts – See Configuring User Accounts
  • Synchronization priority – Select which entity should have priority in case a conflict is detected and the same item has modified on both Exchange and SugarCRM
  • Removal option – Check the boxes if you allow deleted items on Exchange to be removed from CRM and vice versa
  • Log file – Should be used for troubleshooting purposes
  • Stop/Start service – You may stop and start Implicit Synchronization system service from within the configuration tool

Configuring User Accounts

Click the button to select which user mailboxes will take part in the synchronization:

To select user accounts, click “Add” to manually select user from Active Directory
user list or “Import” to import users from a CSV file.

Each user account is composed of:

  • Exchange Mailbox Name
  • SMTP Email Address
  • CRM user ID

To add user accounts click “Add”:

You can also import user list from a CSV file. Each lie in the CSV should be formatted as follows:

<Mailbox Name1>,<Exchange Email Address1>,<SugarCRM User ID1>

<Mailbox Name2>,<Exchange Email Address2>,<SugarCRM User ID2>

<Mailbox Name3>,<Exchange Email Address3>,<SugarCRM User ID3>

Note: When you add users, each Exchange mailbox that you add will consume one user license.
When you remove Exchange mailbox you will free one user license per mailbox.

Configuring Email Archiving

Email Archiving Settings

You may configure which emails should be archived:

  • Archive / Do not archive email to SugarCRM – Turn on/off email archive functionality
  • Incoming Email – Turn on email archive of incoming email
  • Outgoing Email – Turn on email archive of outgoing email
  • Emails associated with Exchange Master Category List – Specify a list of global categories to be used for marking
    emails for archiving (see Setting up Master Exchange Categories)
  • Emails that meet specified Rules – Select this option to define specific rules as described in the next section.
  • Archive Attachments – Turn on attachments archive
  • Attachments Size – Archive only attachments that are smaller than a specified size limit
  • Attachments Type – Archive attachments of certain file types only (comma delimited list of file extensions)

Email Archiving Rules Engine

Similar to Outlook’s native rules engine, you can define different rules for email archiving:

You can create new rules, modify, enable/disable or delete them.

Under Rule Description you can see a summary of the rule: From/To, subject contains,
and the CRM to which FrontEnd should archive the email.

A rule consists of the following:

  • Rule Name – Assign any name which is meaningful to you
  • Action – ‘Archive Email’
  • Apply To – Choose to apply to received emails, sent emails or both
  • From – The email address from which the email was received from or sent from. The following options are available:
    • Any Contact – Select ‘Any Contact’ if you would like to create a rule that applies to emails from/to any CRM contact
    • Any Lead – Select ‘Any Lead’ if you would like to create a rule that applies to emails from/to any CRM lead
    • Specify Email Address(es) – Specify a comma delimited list of email addresses
  • To/CC – The email address to which the email was sent to. Same options as described above
  • Subject Contains – Rules based on words or phrases in the email subject. The following options are available:
    • Any Case – Select this option to automatically archive all emails to their corresponding case records
      if you are using a standard form of subject line in all your communication related to support cases. For Example,
      if all emails contain in their subject line a string such as ‘Case: NNNN’ where NNNN is a case number. In this case
      FrontEnd will check at run time if the email subject contains such a string and if NNNN is a valid case number and will
      archive the email to the case. You can edit the text to match it to your own format.
    • Specify Text – Specify the text string to search for (anywhere in subject)
  • Select CRM Record – You have two options:
    • Archive the email to all recipients and their respective accounts – In this case the records will be determined
      at run-time based on the email addresses of the recipients (if they are found as CRM contacts/leads and their parent accounts
    • Archive to a specific record that is determined at the time of creating/editing the rule

Configuring Contacts Synchronization

You may configure which contacts should be synchronized:

  • Synchronize / Do not synchronize contacts – Turn on/off contacts synchronization
  • SugarCRM Contacts to Exchange – Synchronize contacts from CRM to Exchange
  • Exchange Contacts to SugarCRM – Synchronize contacts from Exchange to CRM
  • All Contacts in the contacts folder – Synchronize all contacts in the selected Exchange folder (The folder is specified on the Folders tab)
  • Contacts associated with Exchange Master Category List – Specify a list of global categories to be used for marking contacts for synchronization
    (see Setting up Master Exchange Categories)

You may also select which contacts should be synchronized from SugarCRM to Exchange upon the
initial synchronization cycle. Only contacts that have been created or modified after the
specified date will be synced.

Configuring Calendars Synchronization

You may configure which appointments/meetings should be synchronized:

  • Synchronize / Do not synchronize calendars – Turn on/off calendars synchronization
  • SugarCRM calendars to Exchange – Synchronize calendars from CRM to Exchange
  • Exchange calendars to SugarCRM – Synchronize calendars from Exchange to CRM
  • All appointments/meetings in the calendar – Synchronize all calendar events in the selected Exchange calendar (The folder is specified on the Folders tab)
  • Appointments/meetings associated with Exchange Master Category List – Specify a list of global categories to be used for marking calendar events for synchronization
    (see Setting up Master Exchange Categories)
  • All meetings associated with SugarCRM contacts / leads – Select this option to synchronize meetings with SugarCRM contacts / leads as attendees

Configuring Tasks Synchronization

You may configure which tasks should be synchronized:

  • Synchronize / Do not synchronize tasks – Turn on/off tasks synchronization
  • SugarCRM tasks to Exchange – Synchronize tasks from CRM to Exchange
  • Exchange tasks to SugarCRM – Synchronize tasks from Exchange to CRM
  • All tasks in the folder – Synchronize all tasks in the selected Exchange folder (The folder is specified on the Folders tab)
  • Tasks associated with Exchange Master Category List – Specify a list of global categories to be used for marking tasks for synchronization
    (see Setting up Master Exchange Categories)
  • Tasks linked to SugarCRM contacts / leads – Select this option to synchronize tasks which are associated in Outlook with SugarCRM contacts / leads

Configuring Folders

This tab allows you to specify the path for each type of folder under the Exchange mailbox.
This is useful if you’re not synchronizing to the native Exchange mailbox folders:
Inbox, Sent Items, Contacts, Calendar and Tasks. Otherwise leave them empty.