On Premises

Dependencies

  • A SharePoint Online Environment.

  • SharePoint connected App (Only necessary if the 'Client Id' and 'Client Secret' settings are used for authentication instead of 'User Name' and 'Password') Check this for more details SharePoint Authentication

Follow the instructions below to install the CRM Customer Relationship Management, or CRM, is (usually) a software-based, data management method to deal with interactions with customers and potential customers. Service for SharePoint.

Deploy package

  1. Unzip the Anywhere365 CRM Service package from the Bundle Package

  2. Edit the properties.ps1

    • Domain = Domain of the install account

    • UserName = Username of the install account

  3. Run InstallCrmService.ps1 in PowerShell as administrator

(Optional) More than one CRM Service - use the CRM Service variable

Used in file: properties.ps1

$crmservice = "CrmService"

The variable $crmservice allows you to change the name under which the CRM Service will be installed in IIS, as well as it’s folder name in wwwroot.

If you need to have more than one CRM Service on a server or want to make clear which CRM Service is installed you can alter this value to suit your needs. All CRM Services fall under the applicationpool CrmApplicationPool.

Configure Plugin

Deploy plugin

  1. Unzip the SharePoint package

  2. Paste the SharePoint folder inside the Plugin folder of the CRM Service:

    Copy
    Default path
    C:\inetpub\wwwroot\CrmService\Plugins

Activate plugin

  1. Open the CrmConfiguration.yaml

    Copy
    Default path
    C:\inetpub\wwwroot\CrmService\CrmConfiguration.yaml
  2. Change the description to:

    Copy
    CrmConfiguration.yaml
    # Plugin
    description: SharePoint
  3. Change the useSharePoint to:

    Copy
    CrmConfiguration.yaml
    # Use SharePoint to get configuration
    useSharePoint: true

Add Endpoint

  1. Open the UCC A Unified Contact Center, or UCC, is a queue of interactions (voice, email, IM, etc.) that are handled by Agents. Each UCC has its own settings, IVR menus and Agents. Agents can belong to one or several UCCs and can have multiple skills (competencies). A UCC can be visualized as a contact center “micro service”. Customers can utilize one UCC (e.g. a global helpdesk), a few UCC’s (e.g. for each department or regional office) or hundreds of UCC’s (e.g. for each bed at a hospital). They are interconnected and can all be managed from one central location. Config page on SharePoint

  2. Open the Plugin Settings list

  3. Add CRMService settings endpoint to ListsPlugin ListsEndpoints

Note: Add to the existing item and separate with "Enter".

Setting

Value

Scope

ListsEndpoints

http://FQDN FDQN stands for Fully Qualified Domain Name and specifies the exact location in the tree hierarchy of the Domain Name System (DNS). An example for [hostname].[domain].[top level domain] is [www].[microsoft].[com]/webagentservice/api/v1/settings

http://FQDN/CrmServiceSharePoint/api/v1/settings

Note: The CrmService name could be different if a custom name was provided so could be http://fqdn/CrmService or http://fqdn/CrmServiceSharePoint

Warning: Make sure to configure the setting to the ".local" URL when using multiple services in the same region. If this is not done, you may experience unexpected behavior.

ListsPlugin

Add WebAgentService URL

  1. Open the UCC Config page on SharePoint
  2. Open the Plugin Settings list
  3. Add the following setting:

Setting

Value

Scope

CrmServiceUrl

http://fqdn/CrmServiceSharePoint

Note: URL (Value) needs to be accessible from the WebAgentService to this CRM Service.
If on the same server this can be http and a local address.
Note: The CrmService name may be different if a custom name was provided or if muliple CrmServices are configured.
The URL values http://fqdn/CrmService or http://fqdn/CrmServiceSharePoint may therefore be different.

Warning: Make sure to configure the setting to the ".local" URL when using multiple services in the same region. If this is not done, you may experience unexpected behavior.

WebAgentService

Add PluginSettings

Warning: This CRM service depends on primary settings shared across multiple UCCs, meaning the value should remain consistent across all UCC configurations using it. A primary setting is initiated only during startup of the UCC with the first UCC to publish its settings defining the primary setting for all UCCs sharing this service. If values vary across multiple UCCs this will lead to unpredictable behavior after a restart, so it is extremely important to keep the values consistent and valid.
  1. Open the UCC Config page on SharePoint

  2. Open the Plugin Settings list

  3. Add the following settings

Setting

Value

Scope

ApplicationHost

SharePoint application URL.

Note: Only one ApplicationHost URL allowed per CrmService (for all configured UCC's)

CrmService

IsOnlineEnvironment

Value should be True for SharePoint Online environment, and should be False for SharePoint on-premises environment.

CrmService

UserName

See chapter SharePoint Authentication

CrmService

Password

See chapter SharePoint Authentication

Note: Encrypt with the A365 password tool.

CrmService

ClientId

See chapter SharePoint Authentication

Note: Encrypt with the A365 password tool.

CrmService

ClientSecret

See chapter SharePoint Authentication

Note: Encrypt with the A365 password tool.

CrmService

SiteName

SharePoint lists contain site name. This is for initial validation.

Note: Only one SiteName name allowed per CrmService (for all configured UCC's)

CrmService

ContactListName

Contact list name. Ex: Contacts

Note: Only one ContactListName allowed per CrmService (for all configured UCC's)

CrmService

BaseContactQuery

Copy
XML
<View>
   <Query>
      <Where/>
   </Query>
   </ViewFields>
   <RowLimit>100</RowLimit>
</View>
Warning: RowLimit is mandatory.

CrmService

For additional or optional configuration parameters see Additional configuration CRM Service for SharePoint

SharePoint Authentication

There are two ways to access the SharePoint Online environment. Below are the two ways. But SharePoint on-premises environment only supports Using Login Credentials option.

  • Using Login Credentials

    • If the login credentials are used, only the "UserName" and "Password" fields are mandatory credentials.

    • It is mandatory to encrypt the password value and store the encrypted value in the Password field in PluginSettings.

    • Anywhere365 allows encryption using the A365.PWTool.exe.

    • The used user account should have "Edit" rights. The configured user account should have enough rights to add and modify the Contacts and Cases lists. If the user account does not have enough rights, it will be logged in the Crm Service log.

    • "ClientId" and "ClientSecret" parameters are optional.

  • App-Only Access

    • If this option is selected, then the Crm Service will need a SharePoint APP to access the SharePoint environment.

    • Please refer the given link to create the APP: Grant access using SharePoint App-Only | Microsoft Learn

    • Both "ClientID" and "ClientSecret" value should be encrypted using the password tool (A365.PWTool.exe).

    • The app should be given full rights to access the SharePoint lists.

      For more information please refer: Add-in permissions in SharePoint | Microsoft Learn

      Copy
      XML
      <AppPermissionRequests AllowAppOnlyPolicy="true">
      <AppPermissionRequest Scope="http://sharepoint/content/sitecollection/web/list" Right="FullControl"/> </AppPermissionRequests>
    • "UserName" and "Password" parameters are optional.