---
title: "Codeunit 5330 CRM Integration Management"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/5330-crm-integration-management/
type: codeunit
id: 5330
name: "CRM Integration Management"
app: "Base Application"
namespace: Microsoft.Integration.Dataverse
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/5330-crm-integration-management/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 5330 CRM Integration Management

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/5330-crm-integration-management/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Integration.Dataverse |
| Versions | 17-28 |
| Source file | Integration/Dataverse/CRMIntegrationManagement.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| IsCRMIntegrationEnabled | () | Boolean | public | 17-28 | - | - |
| IsCDSIntegrationEnabled | () | Boolean | public | 17-28 | - | - |
| IsIntegrationEnabled | () | Boolean | public | 17-28 | - | - |
| IsCRMSolutionInstalled | () | Boolean | public | 17-28 | - | - |
| SetCRMNAVConnectionUrl | (Text[250]) | - | public | 17-28 | - | - |
| SetCRMNAVODataUrlCredentials | (Text[250], Text[250], Text[250]) | - | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| UpdateMultipleNow | (Variant) | - | public | 17-28 | - | - |
| UpdateOneNow | (RecordId) | - | public | 17-28 | - | - |
| UpdateSkippedNow | (var Record CRM Integration Record) | - | public | 17-28 | - | - |
| UpdateSkippedNow | (var Record CRM Integration Record, Boolean) | - | public | 17-28 | - | - |
| UpdateAllSkippedNow | () | - | public | 17-28 | - | - |
| CheckOrEnableCRMConnection | () | - | public | 17-28 | - | - |
| CreateNewRecordInCRM | (RecordId, Boolean) | - | public | 17-20 | Pending 18.0 | Replaced by CreateNewRecordsInCRM |
| CreateNewRecordsInCRM | (Variant) | - | public | 17-28 | - | - |
| CreateNewRecordsFromCRM | (Variant) | - | public | 17-28 | - | - |
| CreateNewRecordsFromSelectedCRMRecords | (Variant) | - | public | 17-28 | - | - |
| CreateNewSystemUsersFromCRM | (Variant) | - | public | 17-22 | Pending 17.0 | This method is identical to CreateNewRecordsFromSelectedCRMRecords |
| MarkLocalDeletedAsSkipped | () | - | internal | 17-28 | - | - |
| RepairBrokenCouplings | () | - | public | 17-28 | - | - |
| RepairBrokenCouplings | (Boolean) | - | public | 17-28 | - | - |
| RemoveCoupling | (Integer, Integer) | - | public | 17-28 | - | - |
| RemoveCoupling | (var RecordRef) | - | public | 17-28 | - | - |
| RemoveCoupling | (Integer, var List) | - | public | 17-28 | - | - |
| RemoveCoupling | (Integer, Integer, var List) | - | public | 17-28 | - | - |
| RemoveCoupling | (var RecordRef, Boolean) | - | internal | 17-28 | - | - |
| RemoveCoupling | (Integer, Integer, var List, Boolean) | - | internal | 17-28 | - | - |
| RemoveCoupling | (RecordId) | - | public | 17-28 | - | - |
| RemoveCoupling | (RecordId, Boolean) | Boolean | internal | 17-28 | - | - |
| RemoveCoupling | (Integer, Integer, Guid) | - | public | 17-28 | - | - |
| RemoveCoupling | (Integer, Integer, Guid, Boolean) | Boolean | internal | 17-28 | - | - |
| IsCRMTable | (Integer) | Boolean | public | 17-28 | - | - |
| EnqueueFullSyncJob | (Code[20]) | Guid | public | 17-28 | - | - |
| CreateOrUpdateCRMAccountStatistics | (Record Customer) | - | public | 17-28 | - | - |
| ShowCRMEntityFromRecordID | (RecordId) | - | public | 17-28 | - | - |
| GetCRMEntityUrlFromRecordID | (RecordId) | Text | public | 17-28 | - | - |
| GetCRMEntityUrlFromCRMID | (Integer, Guid) | Text | public | 17-28 | - | - |
| OpenCoupledNavRecordPage | (Guid, Text) | Boolean | public | 17-28 | - | - |
| GetCRMEntityTypeName | (Integer) | Text | public | 17-28 | - | - |
| DefineCoupling | (RecordId) | Boolean | public | 17-28 | - | - |
| ManageCreateNewRecordFromCRM | (Integer) | - | public | 17-28 | - | - |
| CreateNewContactFromCRM | () | - | public | 17-28 | - | - |
| CreateNewCustomerFromCRM | () | - | public | 17-28 | - | - |
| CreateNewVendorFromCRM | () | - | public | 17-28 | - | - |
| ShowCustomerCRMOpportunities | (Record Customer) | - | public | 17-28 | - | - |
| ShowCustomerCRMQuotes | (Record Customer) | - | public | 17-28 | - | - |
| ShowCustomerCRMCases | (Record Customer) | - | public | 17-28 | - | - |
| ResetIntTableMappingDefaultConfiguration | (var Record Integration Table Mapping) | - | public | 17-28 | - | - |
| GetNoOfCRMOpportunities | (Record Customer) | Integer | public | 17-28 | - | - |
| GetNoOfCRMQuotes | (Record Customer) | Integer | public | 17-28 | - | - |
| GetNoOfCRMCases | (Record Customer) | Integer | public | 17-28 | - | - |
| HandleCRMRegisterServiceConnection | (var Record Service Connection) | - | public | 17-28 | - | - |
| ClearState | () | - | public | 17-28 | - | - |
| GetLastErrorMessage | () | Text | public | 17-28 | - | - |
| ImportCRMSolution | (Text, Text, Text, Text, Text, Integer, Boolean) | Boolean | public | 17 | - | - |
| CheckConnectRequiredFields | (Text, Text) | - | public | 17-28 | - | - |
| CheckModifyCRMConnectionURL | (var Text[250]) | - | public | 17-28 | - | - |
| GetOrganizationFromUrl | (Text[250]) | Text | public | 17-28 | - | - |
| ConstructConnectionStringForSolutionImport | (Text) | Text | public | 17-28 | - | - |
| SetupItemAvailabilityService | () | - | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| GetCommonNotificationID | () | Guid | public | 17-28 | - | - |
| GetSkippedNotificationID | () | Guid | public | 17-28 | - | - |
| SendResultNotification | (Variant) | Boolean | public | 17-28 | - | - |
| ShowLog | (RecordId) | - | public | 17-28 | - | - |
| ShowSkippedRecords | (Notification) | - | public | 17-28 | - | - |
| CoupleCRMEntity | (RecordId, Guid, var Boolean, var Option) | Boolean | public | 17-28 | - | - |
| InitializeProxyVersionList | (var Record TempStack) | - | public | 17-28 | - | - |
| GetLastProxyVersionItem | () | Integer | public | 17-28 | - | - |
| ClearConnectionDisableReason | (var Record CRM Connection Setup) | - | public | 17-28 | - | - |
| GetCRMDisabledErrorReasonNotificationId | () | Guid | public | 17-28 | - | - |
| IsWorkingConnection | () | Boolean | public | 17-28 | - | - |
| SendConnectionDisabledNotification | (Text[250]) | - | public | 17-28 | - | - |
| IsItemAvailabilityWebServiceEnabled | () | Boolean | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| GetItemAvailabilityWebServiceURL | () | Text[250] | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| UnPublishOnWebService | (var Record CRM Connection Setup) | - | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| PublishWebService | (var Record CRM Connection Setup) | - | public | 17-22 | Pending 18.0 | This procedure will be removed. |
| InitializeCRMSynchStatus | () | - | public | 17-28 | - | - |
| HasUncoupledSelectedUsers | (var Record CRM Systemuser) | Boolean | public | 17-28 | - | - |
| RegisterAssistedSetup | () | - | public | 17-28 | - | - |
| IsCRMIntegrationRecord | (Integer) | Boolean | public | 17-28 | - | - |
| GetDatabaseTableTriggerSetup | (Integer, var Boolean, var Boolean, var Boolean, var Boolean) | - | public | 17-28 | - | - |
| OnDatabaseInsert | (RecordRef) | - | public | 17-28 | - | - |
| OnDatabaseModify | (RecordRef) | - | public | 17-28 | - | - |
| OnDatabaseRename | (RecordRef, RecordRef) | - | public | 17-28 | - | - |
| AddIntegrationTableMapping | (var Record Integration Table Mapping) | - | public | 18-28 | - | - |
| ImportCRMSolution | (Text, Text, Text, Text, Text, Text, Integer, Boolean) | Boolean | public | 18-27 | Pending 25.0 | Replaced by ImportCRMSolution procedure with SolutionImportFailed argument and SecretText parameters for AdminUserPassword and AccessToken. |
| LinkMissingOptionDoc | (Notification) | - | public | 18-24 | Pending 22.0 | Unused method. |
| IsItemAvailabilityEnabled | () | Boolean | public | 18-28 | - | - |
| UserCanRescheduleJob | () | Boolean | public | 18-28 | - | - |
| CreateNewRecordsInCRM | (var Dictionary) | - | public | 19-28 | - | - |
| CreateNewRecordsFromCRM | (var Dictionary) | - | public | 19-28 | - | - |
| CreateNewRecords | (var Dictionary, var Dictionary) | - | public | 19-28 | - | - |
| MatchBasedCoupling | (Integer) | Boolean | public | 19-28 | - | - |
| MatchBasedCoupling | (Integer, Boolean, Boolean, Boolean) | Boolean | public | 19-28 | - | - |
| MatchBasedCoupling | (var RecordRef) | - | public | 19-28 | - | - |
| RemoveCoupling | (Integer, var List, Boolean) | - | public | 19-28 | - | - |
| EnqueueSyncJob | (Record Integration Table Mapping, List, List, Integer, Boolean) | Boolean | public | 19-28 | - | - |
| AddIntegrationTableMapping | (var Record Integration Table Mapping, Boolean) | - | public | 19-28 | - | - |
| DisableNotification | (Notification) | - | public | 19-28 | - | - |
| OpenIntegrationSynchronizationJobsFromNotification | (Notification) | - | public | 19-28 | - | - |
| SetCoupledFlag | (Record CRM Integration Record, Boolean) | Boolean | public | 19-25 | Pending 23.0 | This functionality is replaced with flow fields Coupled to Dataverse. |
| SetCoupledFlag | (Record CRM Integration Record, Boolean, Boolean) | Boolean | public | 19-25 | Pending 23.0 | This functionality is replaced with flow fields Coupled to Dataverse. |
| FindCoupledToCRMField | (var RecordRef, var FieldRef) | Boolean | internal | 19-28 | - | - |
| IsCurrencySymbolMappingEnabled | () | Boolean | public | 19-24 | Pending 22.0 | Feature CurrencySymbolMapping will be enabled by default in version 22.0. |
| GetCurrencySymbolMappingFeatureKey | () | Text[50] | public | 19-24 | Pending 22.0 | Feature CurrencySymbolMapping will be enabled by default in version 22.0. |
| IsUnitGroupMappingEnabled | () | Boolean | public | 19-28 | - | - |
| GetFeatureKey | () | Text[50] | public | 19-23 | Pending 21.0 | This procedure will be removed. |
| UpdateMultipleNow | (Variant, Boolean) | - | public | 20-28 | - | - |
| UpdateSkippedNow | (var Record CRM Integration Record, var Record CRM Option Mapping) | - | public | 20-28 | - | - |
| UpdateSkippedNow | (var Record CRM Integration Record, var Record CRM Option Mapping, Boolean) | - | public | 20-28 | - | - |
| CreateNewOptionsInCRM | (Variant) | - | public | 20-28 | - | - |
| CreateNewOptionsInCRM | (var Dictionary) | - | public | 20-28 | - | - |
| CreateNewRecordsFromSelectedCRMOptions | (Variant) | - | public | 20-28 | - | - |
| EnqueueOptionSyncJobFromIntegrationTable | (Record Integration Table Mapping, List, Integer, Boolean) | Boolean | public | 20-28 | - | - |
| EnqueueOptionSyncJobToIntegrationTable | (Record Integration Table Mapping, List, Integer, Boolean) | Boolean | public | 20-28 | - | - |
| RemoveOptionMapping | (var RecordRef) | - | public | 20-28 | - | - |
| CreateOptionMapping | (RecordId, Integer, Text[250]) | - | public | 20-28 | - | - |
| GetMappedCRMOptionId | (RecordId, var Integer) | Boolean | public | 20-28 | - | - |
| GetIntegrationTableMapping | (var Record Integration Table Mapping, Integer) | - | public | 20-28 | - | - |
| DefineOptionMapping | (RecordId) | Boolean | public | 20-28 | - | - |
| ShowOptionLog | (RecordId) | - | public | 20-28 | - | - |
| SetCoupledFlag | (Record CRM Option Mapping, Boolean) | Boolean | public | 20-25 | Pending 23.0 | This functionality is replaced with flow fields Coupled to Dataverse. |
| IsOptionMappingEnabled | () | Boolean | public | 20-24 | Pending 22.0 | Feature OptionMapping will be enabled by default in version 22.0. |
| GetOptionMappingFeatureKey | () | Text[50] | public | 20-24 | Pending 22.0 | Feature OptionMapping will be enabled by default in version 22.0. |
| CheckSolutionVersionOutdated | () | Boolean | public | 21-28 | - | - |
| ReactivateJobForTable | (Integer) | - | internal | 21-28 | - | - |
| EnableUnitGroupMapping | () | Guid | public | 21-28 | - | - |
| DisableUnitGroupMapping | () | - | public | 21-28 | - | - |
| AdjustUnitGroupCRMConnectionSetup | () | - | public | 21-28 | - | - |
| UpdateItemUnitGroup | () | - | public | 21-28 | - | - |
| UpdateResourceUnitGroup | () | - | public | 21-28 | - | - |
| CloneIntegrationFieldMapping | (Code[20], Code[20]) | - | public | 22-28 | - | - |
| InitializeCRMSynchStatus | (var Record CRM Synch Status) | - | internal | 22-28 | - | - |
| IsIntegrationRecordChild | (Integer) | Boolean | public | 22-28 | - | - |
| RemoveCRMNAVConnectionUrl | (Text[250]) | Boolean | internal | 23-28 | - | - |
| GetIntegrationTableMapping | (var Record Integration Table Mapping, RecordId) | - | public | 23-28 | - | - |
| AddExtraFieldMappings | (Record Integration Table Mapping) | - | internal | 23-28 | - | - |
| IsFSSolutionInstalled | () | Boolean | internal | 24-27 | - | - |
| GetCRMEntityUrlFromCRMID | (Integer, Integer, Guid) | Text | public | 24-28 | - | - |
| GetCRMEntityTypeName | (Integer, Integer) | Text | public | 24-28 | - | - |
| ClearFSState | () | - | public | 24-27 | Pending 25.0 | Field Service is moved to Field Service Integration app. |
| ImportFSSolution | (Text, Text, Text, Text, Text, Text, Integer, Boolean) | Boolean | internal | 24-27 | Pending 25.0 | Replaced by ImportFSSolution procedure with SolutionImportFailed argument. |
| IsSolutionOutdated | (Text, Text[65]) | Boolean | public | 24 | - | - |
| ProcessConnectionFailures | () | - | public | 24-28 | - | - |
| TestCRMConnection | (var DotNet CrmHelper) | Boolean | public | 24-28 | - | - |
| MultipleCompanyLearnMore | (var Notification) | - | public | 24-28 | - | - |
| GetFieldServiceIntegrationAppSourceLink | () | Text | public | 24-28 | - | - |
| IsFieldServiceIntegrationAppInstalled | () | Boolean | public | 24-28 | - | - |
| EnqueueSyncJob | (Record Integration Table Mapping, RecordId, Guid, Integer) | Boolean | public | 25-28 | - | - |
| ImportCRMSolution | (Text, Text, Text, SecretText, SecretText, Text, Integer, Boolean, var Boolean) | Boolean | public | 25-28 | - | - |
| ImportFSSolution | (Text, Text, Text, SecretText, SecretText, Text, Integer, Boolean, Boolean) | Boolean | internal | 25-27 | - | - |
| IsSolutionOutdated | (SecretText, Text[65]) | Boolean | public | 25-28 | - | - |
| CheckCRMConnectionURL | (Text[250]) | - | public | 28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnIsCDSIntegrationEnabled | (var Boolean) | 17-28 | - | - |
| Integration event | OnInitCDSConnection | (var Text, var Boolean) | 17-28 | - | - |
| Integration event | OnGetCDSIntegrationUserId | (var Guid, var Boolean) | 17-28 | - | - |
| Integration event | OnGetCDSServerAddress | (var Text, var Boolean) | 17-28 | - | - |
| Integration event | OnTestCDSConnection | (var Boolean) | 17-28 | - | - |
| Integration event | OnCloseCDSConnection | (Text, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterCRMIntegrationEnabled | () | 17-28 | - | - |
| Integration event | OnBeforeOpenRecordCardPage | (RecordId, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeHandleCustomIntegrationTableMapping | (var Boolean, Code[20]) | 17-24 | - | - |
| Integration event | OnIsCRMIntegrationRecord | (Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnEnabledDatabaseTriggersSetup | (Integer, var Boolean) | 17-28 | - | - |
| Integration event | OnIsCurrencySymbolMappingEnabled | (var Boolean) | 19-24 | Pending 22.0 | Feature CurrencySymbolMapping will be enabled by default in version 22.0. |
| Integration event | OnIsUnitGroupMappingEnabled | (var Boolean) | 19-23 | Pending 21.0 | This procedure will be removed. |
| Integration event | OnBeforeGetIntegrationTableMapping | (var Record Integration Table Mapping, Integer) | 19-28 | - | - |
| Integration event | OnBeforeSynchronyzeNowQuestion | (var Integer, var Boolean) | 19-28 | - | - |
| Integration event | OnIsOptionMappingEnabled | (var Boolean) | 20-24 | Pending 22.0 | Feature OptionMapping will be enabled by default in version 22.0. |
| Integration event | OnGetTableIdFromCRMOption | (RecordRef, var Integer) | 20-28 | - | - |
| Integration event | OnIsCRMTable | (Integer, var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeGetIntegrationTableMappingFromCRMRecord | (var Record Integration Table Mapping, RecordRef) | 21-28 | - | - |
| Integration event | OnIsIntegrationRecordChild | (Integer, var Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeOpenCoupledNavRecordPage | (Guid, Text, var Boolean, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeFindCoupledToCRMField | (Integer, var Boolean) | 22-27 | - | - |
| Integration event | OnAfterGetCRMEntityUrlFromCRMID | (Text, Text, Integer, Guid, var Text) | 22-23 | - | - |
| Integration event | OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID | (var Record Integration Table Mapping, Integer, Guid, var Boolean) | 22-23 | - | - |
| Integration event | OnBeforeGetIntegrationTableMappingWithRecordId | (var Record Integration Table Mapping, RecordId, var Integer) | 23-28 | - | - |
| Integration event | OnAfterGetIntegrationTableMappingFromCRMRecordBeforeFindRecord | (var Record Integration Table Mapping, RecordRef) | 23-28 | - | - |
| Integration event | OnAfterGetCRMEntityUrlFromCRMID | (Text, Text, Integer, Guid, var Text, Integer) | 24-28 | - | - |
| Integration event | OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID | (var Record Integration Table Mapping, var Integer, Guid, var Boolean) | 24-28 | - | - |
| Integration event | OnAfterAddExtraFieldMappings | (Code[20]) | 24-28 | - | - |
| Integration event | OnBeforeRescheduleJobQueueEntries | (Integer, var Integer) | 24-28 | - | - |
| Integration event | OnBeforeHandleCustomIntegrationTableMapping | (var Boolean, Code[20], var Record Integration Table Mapping, Boolean) | 25-28 | - | - |
| Integration event | OnBeforeFindCoupledToCRMField | (Integer, var Boolean, var Integer) | 28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
