Working version 25.11 25.08 25.05 25.02 24.11 23.11 Cloud Enterprise
Working version 25.11 25.08 25.05 25.02 24.11 23.11 Cloud Enterprise

Administering Graph API synchronization

After Graph API has been enabled and your environment has been deployed, you should use NexJ Admin Console to manage Exchange Online synchronization using Graph API.

You must first set up the synchronization target and then enable user synchronization links. Finally, you must migrate all existing users to the new Graph API target, either individually or in bulk.

Setting up the Graph API Synchronization target

Use NexJ Admin Console to add and configure target servers that NexJ CRM will synchronize with.

After a new server has been added to this list, it cannot be removed or deleted. However, the server can be disabled, so that no synchronization occurs.

To add and configure a Graph API synchronization targets:

  1. In NexJ Admin Console, navigate to the Synchronization page.

  2. In the Synchronization tab, in the Targets list, click Server > Graph API.
    A new Graph API server appears in the Targets list and the new server's details appear in the right side of the page with the default values filled in.

  3. Click the Edit button image-20260305-171936.png on the top right of the page and complete the dialog that appears to modify the fields as needed. For more information, see Administering Graph API synchronization | Graph API target configuration fields.

  4. Click OK to close the dialog and save your changes.

Graph API target configuration fields

Field Name

Field Description

Name

Specifies the name of the target server.

Host

Specifies the fully qualified domain name of the server, for example, https://graph-broker.qa.nexj.cloud/api/v1.

Inbound

Enables or disables inbound synchronization.

Outbound

Enables or disables outbound synchronization.

Keep items older than

Specifies whether NexJ CRM should delete items that are deleted in Outlook. For example, if the value is 30, then any non-recurring meeting or task with a start or end date more than 30 days ago will not be deleted from NexJ CRM if it is deleted from Outlook.

Maximum attachment size, kilobytes

Specifies the maximum attachment size that can be synchronized. Attachments exceeding this limit will not be synchronized.

Maximum allowed request rate per second

Specifies the maximum allowed request rate per second.

Sender

Specifies the channel used for sending notifications. The default channel is GraphAPISender.

Receiver

Specifies the channel used for receiving notifications. The default channel is GraphAPINotificationReceiver.

Global Options

Specifies global settings such as batch synchronization, auto discovery, and restrictions. Click the Configure button to open the Global Exchange Synchronization Options dialog through which you can configure global options. For more information, see Configuring global Exchange synchronization options.

Item Types

Displays the default configuration for synchronizing new tasks and schedule items to NexJ CRM. The Template column displays the action item template that will be used when a new activity (either task or schedule item) is imported from the server and created in NexJ CRM.

The server is now configured, and you can create the user synchronization links.

Every folder in the Exchange server stores a particular type of item for a single user, such as all of the user's tasks. These folders must be linked to NexJ CRM. You can configure this link for each individual user separately, one by one, by using the Synchronization page on NexJ Admin Console. Alternately, you can create multiple links simultaneously by using an SQL script to add users to the NJGraphAPIProspect table. During batch synchronization, the required links are created for each user in the table and then the user is removed from the table.

To add a link to an Exchange server folder for a user, that user must have a default email address in NexJ CRM that corresponds to one of the email addresses in their Exchange user profile.

To ensure full synchronization of user data, all email aliases for a user should be in their NexJ CRM profile. For example, if John Doe's default email address is jdoe@yourcorp.com and he has aliases john.doe@yourcorp.com and john@yourcorp.com, then all three email addresses should be stored in NexJ CRM. You can enable LDAP Sync to synchronize email aliases automatically.

A link is synchronized only when both the link and the corresponding server synchronizations are enabled.

To create and configure links to folders on the Exchange server:

  1. In NexJ Admin Console, navigate to the Synchronization page.

  2. Select the Graph API server in the Targets list of the Synchronization tab.

  3. Click the Create links for a user button  create links for a user.png next to the snapshot synchronization buttons.
    A dialog opens listing the users you can create a link for.

  4. Select the user you want to add links for. You can use the Find tool to search for a specific user.

  5. Click OK.
    The new links appear at the bottom of the Links list.

    • Each user has three folders: Calendar, Contacts, and Tasks. By default, Tasks and Calendar folders are synchronized both inbound and outbound, while the Contacts folder is synchronized outbound. You can change the default synchronizations for these folders.

  6. Select the Outbound checkbox to enable or disable outbound synchronization for each folder.
    Creating links to folders does not automatically synchronize existing information for the user. To import any past or future tasks or schedule items, use batch synchronization. Capture an initial snapshot, followed by expanding snapshots if required. For more information, see Expanding snapshots workflow.

You will not be able to delete a link in the Synchronization tab in NexJ Admin Console if that link has been used to synchronize more than 4096 items between the Microsoft Exchange Server and NexJ CRM.

Every folder in the Exchange server stores a particular type of item for a single user, such as all of the user's tasks. These folders must be individually linked to NexJ CRM. You can create multiple links simultaneously by using an SQL script to add users to the NJExchangeProspect table. During batch synchronization, the required links are created for each user in the table and the user is removed from the table.

To create links to folders on the Exchange server for more than one user at a time:

  1. In your database manager, issue the following command to determine the IDs for the users for whom you need to create folder links.

    SQL
    select up.id, u.loginName from NJUserPerson up, NJUser u
              where up.userId = u.id
    
  2. In your database manager, issue the following command to determine the ID for the target Exchange server.

    select id, name from NJSyncTarget

  3. In your database manager, issue the following command to import the users into the NJExchangeProspect table.

    SQL
    insert into NJExchangeProspect values (newid(),
              UserID, ServerID,
              activate, retries,
              getdate())
    

    where

    • UserID represents the ID from the NJUserPerson table for the user

    • ServerID represents the ID for the target server

    • activate indicates which action should be taken with the user. Specify 1 to activate the user. Specify 0 to deactivate the user.

    • retries is the starting number of retries for creating the folder links for the user. In the NJExchangeProspect table, this number will be incremented with each unsuccessful try. Specify 0.


    The records for these users have now been added to the NJExchangeProspect table. Folder links for the users are created during the next batch synchronization. You can initiate batch synchronization from the Global Exchange Synchronization Options dialog in NexJ Admin Console.

  4. [Optional] Initiate the batch synchronization process.

    1. In NexJ Admin Console, in the Synchronization page, click the Configure button for Global Options.

    2. In the Global Exchange Synchronization Options dialog, ensure that the Enable periodic invocation of batch sync setup option is selected.

    3. Complete other fields as required and click OK. For more information about global Exchange options, see Configuring global Exchange synchronization options | configuringglobalsync.

  5. [Optional] Use NexJ Admin Console to monitor the batch synchronization process.

    • To see a log record for each processed link, review the details in the Audit Trail page.

    • To see a log record for the completed batch process, review the details in the Process Queue page.

The links to folders on the Exchange server are created for all users included in the NJExchangeProspect table. In NexJ Admin Console, in the Synchronization page, you can see the newly added folder links. Review the remaining entries in the NJExchangeProspect table to determine why they were not synchronized as expected.

Migration

Note: This migration process only supports Exchange Online. Other (on-prem) versions will require migrating to Exchange Online first before moving to Graph API. E.g. a client running Exchange 2016 would first need to migrate user sync links to the Exchange Online target, then to Graph API target. @User - fyi, this should be documented.