Resco CRM sync

From Resco's Wiki
Jump to navigation Jump to search
Integration with third-party systems

Resco CRM Connector (web APIs):

Resco CRM Sync is a tool that allows connecting two organizations with each other. By creating a connection, you can synchronize data and metadata between these two organizations.

Client and server

The position of the connected organizations is not exactly equal.

  • The client (or slave) organization is the organization on which you initiate the connection. Client organization can update its own metadata: copy them from the server organization. Data updates on the client are instantly delivered also to the server organization.
  • The server (or master) organization requires no configuration in Resco CRM Sync. Server organization does not update its metadata. Data updates on the server are sent to the client with a delay, for example, once per hour.

Supported backend servers

You can use this function to connect to the following server or master organizations:

  • any Dynamics organization
  • (experimental) any Resco Cloud organization (including and other clouds)

As the client (slave) organization, you can use one of the following:

Resco Cloud with Dynamics

Resco Cloud ( cloud or on-premises installation) can connect to Microsoft Dynamics CRM. By creating a connection between these two organizations, you create a Resco Cloud organization based on the Dynamics organization metadata. So that all entities and fields from Dynamics are replicated in the newly created Resco Cloud organization. It also synchronizes data from Dynamics to Resco Cloud and vice versa.

Any change in data in Dynamics is synchronized to Resco periodically and any change in the Resco Cloud is pushed to Dynamics immediately after saving the change.

Note This feature should only be used when you want to synchronize a Dynamics organization with a Resco Cloud organization. It is not needed for Woodford itself.

Use cases

There are a number of possible reasons why connect Resco Cloud and Dynamics, such as:

  • Using it for your sales or technician forces, with Resco Mobile CRM app instead of having them to connect to Dynamics server.
  • Migration from Dynamics to Resco Cloud.

Creating a connection

  1. Select Resco CRM sync from the Administration menu of Woodford.
  2. Click Connection to open the Resco CRM Sync Connection Setup screen.
  3. In Resco CRM Login section, configure Url, Username (email), and Password of your Resco organization that you want to create. As Url, specify either a unique organization name, or type the exact URL, for example Do not use an existing Resco Cloud organization URL. If you are connecting from a Resco Cloud organization, these parameters cannot be changed.
  4. In Dynamics CRM Login section, enter the Url, Username, and Password of your Dynamics CRM organization. If you are connecting from Woodford for Dynamics, the Url is already set.
  5. Click Connect. A new organization is created on Resco Cloud, including entities and entity fields based on the organization on Dynamics. If you're connecting from an existing Resco Cloud organization, Dynamics entities and fields are added to existing entities and fields.

You can click Disconnect if you want to request deletion of the Resco Cloud organization.

Managing data

Once connected, you can select which entities are used for data synchronization. In other words, you need to define what data and the corresponding entities should be synchronized between the Dynamics organization and the Resco Cloud organization.

Update Server
Synchronizes metadata changes. When you add a new entity or field in your Dynamics organization, use it for updating your Resco Cloud organization.
Metadata update does not work in the opposite direction, i.e., entities and fields created on Resco Cloud are not copied to Dynamics (due to various restrictions for custom entities on Dynamics). As a workaround, you can create the necessary entities/fields on Dynamics manually.
Sync All
Synchronizes all data of the selected entities between the Resco Cloud organization and Dynamics organization.
Saves changes in the list of entities and in the synchronization filters.
Sync Filter
Specifies a filter for the data per entity; what records to sync from the Dynamics organization to the Resco Cloud organization, so that you only transfer the relevant data.
Upload filter
Sync filter, but in the opposite direction. Specify what records to upload from Resco Cloud to Dataverse.
Sync Deletion
For each entity, you can customize how to handle delete operations and ownership changes on Dynamics:
  • Clear this option to use simple incremental synchronization for updating this entity. Information about deletions is not transferred to Resco Cloud. This is the default behavior.
  • Enable this option to synchronize also deletions and ownership changes. This makes the synchronization slower, particularly for large tables.
See also Advanced sync deletion.
Imports a configuration from a file.
Exports the selected configuration (list of entities, fields, and sync filters).

[[File:Resco-crm-sync-main-screen.png|600px|alt=Resco CRM Sync main screen

Advanced sync deletion

This function allows you to leverage the benefit of incremental synchronization (usually much faster than full sync) and yet allows you to track deleted records or records with ownership changes. We use the Plugins that Resco designed for Dynamics to track these records to greatly improve synchronization times for large organizations.

Select what to track in the source organization

  1. Log in to your source organization (Dynamics).
  2. Start Woodford and select Plugins from the Administration menu.
  3. Select what actions do you want to track:
    • On the N:N Relationships tab, select which relations should be tracked.
    • On the Delete tab, select entities for which deletions should be tracked.
    • On the Owner tab, select entities for which ownership changes should be tracked.
  4. Click Save to save changes.

Select what entities to synchronize from the source organization

  1. Log in to either organization (Resco Cloud or Dynamics).
  2. Start Woodford and select Resco CRM sync from the Administration menu.
  3. Select the entities you want to synchronize.
  4. Clear Sync Deletion for these entities.
  5. Additionally, you need to enable synchronization for the entity Mobile Tracking [resco_mobiletracking].

Offline Transactions tab

In normal operation, Resco Cloud sends data changes to Dynamics immediately. If the connection is not available, the new and modified records are collected at Resco Cloud. Once the connection is restored, the changes are sent to Dynamics.

The Offline Transactions tab shows the individual transactions along with their Status:

  • All - all transactions
  • Pending - transactions waiting for upload
  • Processed - transactions successfully delivered to Dynamics
  • Error - transactions unsuccessfully delivered - this is the default view
  • Archived - transactions manually marked as Archived

Use the toolbar buttons to change the status of transactions:

  • Set to Pending: Schedule selected transactions for a new delivery.
  • Set to Archived: Mark selected transactions as Archived. These changes will not be delivered to Dynamics.
  • Set all to Pending: Schedule all failed transactions (with the status Error) for a new delivery.

Configuring periodic sync

You can set up a periodic job that keeps both servers in sync. This job is created automatically when you connect to a Dynamics organization. If the job does not exist or is out of date, you can use the following procedure to create it.

  1. Log in to Resco Cloud.
  2. On the landing page, select Admin Console.
  3. Select Processes Center > Processes from the menu.
  4. Click New and create a new job.
    Resco CRM: Configuring periodic sync (create a new job)
  5. Enter a descriptive name.
  6. Set Category to "Job".
  7. Configure when should the job start, for example, periodically every hour.
  8. Insert a new function step to the job (click Step and select Function) and enter the following: Server SyncService
  9. Click Save.
  10. Click Publish.
  11. Click Activate.

Once active, the job starts running. You can use Processes Center > Logs in the Admin Console to monitor the results. If you need to modify an active job, you can edit it and save changes; the changes only become active when you publish the updated job again.