---
title: "Codeunit 7201 CDS Integration Impl."
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/7201-cds-integration-impl/
type: codeunit
id: 7201
name: "CDS Integration Impl."
app: "Base Application"
namespace: Microsoft.Integration.Dataverse
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/7201-cds-integration-impl/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 7201 CDS Integration Impl.

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/7201-cds-integration-impl/

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

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| GetBaseSolutionUniqueName | () | Text | public | 17-28 | - | - |
| GetBaseSolutionDisplayName | () | Text | public | 17-28 | - | - |
| IsConnectionActive | () | Boolean | public | 17-28 | - | - |
| IsConnectionActive | (Text) | Boolean | public | 17-28 | - | - |
| ActivateConnection | () | Boolean | public | 17-28 | - | - |
| ActivateConnection | (Text) | Boolean | public | 17-28 | - | - |
| HasConnection | () | Boolean | public | 17-28 | - | - |
| RegisterConnection | () | Boolean | public | 17-28 | - | - |
| RegisterConnection | (Boolean) | Boolean | public | 17-28 | - | - |
| RegisterConnection | (Text) | Boolean | public | 17-28 | - | - |
| RegisterConnection | (Text, Boolean) | Boolean | public | 17-28 | - | - |
| RegisterConnection | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| RegisterConnection | (var Record CDS Connection Setup, Text) | Boolean | public | 17-28 | - | - |
| RegisterConnection | (var Record CDS Connection Setup, Text, Boolean) | Boolean | public | 17-28 | - | - |
| UnregisterConnection | () | Boolean | public | 17-28 | - | - |
| UnregisterConnection | (Text) | Boolean | public | 17-28 | - | - |
| IsIntegrationEnabled | () | Boolean | public | 17-28 | - | - |
| IsTeamOwnershipModelSelected | () | Boolean | public | 17-28 | - | - |
| GetConnectionDefaultName | () | Text | public | 17-28 | - | - |
| IsSolutionInstalled | () | Boolean | public | 17-28 | - | - |
| IsSolutionInstalled | (var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| IsSolutionInstalled | (Text) | Boolean | public | 17-28 | - | - |
| IsSolutionInstalled | (var Record CDS Connection Setup, Text) | Boolean | public | 17-28 | - | - |
| GetSolutionVersion | (var Text) | Boolean | public | 17-28 | - | - |
| GetSolutionVersion | (var Record CDS Connection Setup, var Text) | Boolean | public | 17-28 | - | - |
| GetSolutionVersion | (Text, var Text) | Boolean | public | 17-28 | - | - |
| GetSolutionVersion | (var Record CDS Connection Setup, Text, var Text) | Boolean | public | 17-28 | - | - |
| AddCoupledUsersToDefaultOwningTeam | (var Record CDS Connection Setup) | Integer | public | 17-28 | - | - |
| AddCoupledUsersToDefaultOwningTeam | (var Record CDS Connection Setup, var Record CRM Systemuser) | Integer | public | 17-28 | - | - |
| AddUsersToDefaultOwningTeam | (var Record CDS Connection Setup, var Record CRM Systemuser) | Integer | public | 17-28 | - | - |
| AddCoupledUsersToDefaultOwningTeam | (var Record CDS Connection Setup, var DotNet CrmHelper) | Integer | public | 17-28 | - | - |
| AddUsersToDefaultOwningTeam | (var Record CDS Connection Setup, var DotNet CrmHelper, var Record CRM Systemuser) | Integer | public | 17-28 | - | - |
| TestActiveConnection | () | Boolean | public | 17-28 | - | - |
| TestSystemUsersAvailability | () | - | public | 17-28 | - | - |
| CheckIntegrationRequirements | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| CheckIntegrationSolutionRequirements | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| CheckIntegrationUserRequirements | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| CheckOwningTeamRequirements | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| CheckIntegrationUserPrerequisites | (var Record CDS Connection Setup, Text, Text, Text) | - | public | 17 | - | - |
| CheckAdminUserPrerequisites | (var Record CDS Connection Setup, Text, Text, Text) | - | public | 17 | - | - |
| CheckEntitiesAvailability | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| SelectSDKVersion | (var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| SelectBusinessUnit | (var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| CheckConnectionRequiredFields | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| CheckConnectionRequiredFieldsMatch | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| RegisterAssistedSetup | () | - | public | 17-28 | - | - |
| UpdateConnectionString | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| GetConnectionString | (var Record CDS Connection Setup) | Text | public | 17-28 | - | - |
| SetConnectionString | (var Record CDS Connection Setup, Text) | - | public | 17-28 | - | - |
| TryGetCDSCompany | (var Record CDS Company) | Boolean | public | 17-28 | - | - |
| GetCDSCompany | (var Record CDS Company) | - | public | 17-28 | - | - |
| TryGetCompanyId | (var Guid) | Boolean | public | 17-28 | - | - |
| GetCoupledBusinessUnitId | () | Guid | public | 17-28 | - | - |
| GetIntegrationUserId | (var Record CDS Connection Setup) | Guid | public | 17-28 | - | - |
| GetOwningTeamId | (var Record CDS Connection Setup) | Guid | public | 17-28 | - | - |
| GetDefaultOwningTeamMembership | (var Record CDS Teammembership) | - | public | 17-28 | - | - |
| GetDefaultOwningTeamMembership | (var Record CDS Connection Setup, var Record CDS Teammembership) | - | public | 17-28 | - | - |
| AssignIntegrationRole | (var DotNet CrmHelper, Text) | - | public | 17-28 | - | - |
| AssignTeamRole | (var DotNet CrmHelper, Guid, Guid) | Boolean | public | 17-28 | - | - |
| ImportAndConfigureIntegrationSolution | (var Record CDS Connection Setup, Boolean) | Boolean | public | 17-28 | - | - |
| SignInCDSAdminUser | (var Record CDS Connection Setup, var DotNet CrmHelper, var Text, var Text, var Text, Boolean) | - | public | 17 | - | - |
| GetAccessToken | (Text, Boolean, var Text) | - | public | 17-27 | Pending 25.0 | Use the procedure that receives AccessToken as SecretText instead. |
| GetRedirectURL | () | Text | public | 17-28 | - | - |
| GetCDSConnectionClientId | () | Text | public | 17-28 | - | - |
| GetCDSConnectionClientSecret | () | SecretText | public | 17-28 | - | - |
| ImportIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, Text, Text, Boolean) | - | public | 17 | - | - |
| ConfigureIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, Text, Text, Boolean) | - | public | 17 | - | - |
| HasCompanyIdField | (Integer) | Boolean | public | 17-28 | - | - |
| CheckCompanyId | (var RecordRef) | Boolean | public | 17-28 | - | - |
| SetCompanyId | (var RecordRef) | Boolean | public | 17-28 | - | - |
| CheckCompanyIdNoTelemetry | (var RecordRef) | Boolean | public | 17-28 | - | - |
| ResetCompanyId | (var RecordRef) | Boolean | public | 17-28 | - | - |
| CheckOwningTeam | (var RecordRef) | Boolean | public | 17-28 | - | - |
| CheckOwningTeam | (var RecordRef, Boolean) | Boolean | public | 17-28 | - | - |
| CheckOwningTeam | (var RecordRef, Guid, Boolean) | Boolean | public | 17-28 | - | - |
| CheckOwningUser | (var RecordRef, Guid) | Boolean | public | 17-28 | - | - |
| CheckOwningUser | (var RecordRef, Guid, Boolean) | Boolean | public | 17-28 | - | - |
| SetOwningTeam | (var RecordRef) | Boolean | public | 17-28 | - | - |
| SetOwningTeam | (var RecordRef, Guid, Boolean) | Boolean | public | 17-28 | - | - |
| SetOwningUser | (var RecordRef, Guid, Boolean) | Boolean | public | 17-28 | - | - |
| FindCompanyIdField | (var RecordRef, var FieldRef) | Boolean | internal | 17-28 | - | - |
| FindOwnerTypeField | (var RecordRef, var FieldRef) | Boolean | public | 17-28 | - | - |
| ResetCache | () | - | public | 17-28 | - | - |
| GetIntegrationSolutions | (var List) | - | public | 17-28 | - | - |
| GetIntegrationRequiredRoles | (var List) | - | public | 17-28 | - | - |
| CheckModifyConnectionURL | (var Text[250]) | - | public | 17-28 | - | - |
| InitializeConnection | (var DotNet CrmHelper) | Boolean | public | 17-28 | - | - |
| InitializeConnection | (var DotNet CrmHelper, var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| SendConnectionDisabledNotification | (Text[250]) | - | internal | 17-28 | - | - |
| InsertBusinessUnitCoupling | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| ModifyBusinessUnitCoupling | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| DeleteBusinessUnitCoupling | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| TestConnection | (var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| TryCheckCredentials | (var Record CDS Connection Setup) | Boolean | public | 17-28 | - | - |
| CheckCredentials | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| GetCDSVersion | (var Record CDS Connection Setup, var Text) | Boolean | public | 17-28 | - | - |
| InitializeProxyVersionList | (var Record TempStack) | - | public | 17-28 | - | - |
| GetLastProxyVersionItem | () | Integer | public | 17-28 | - | - |
| ClearConnectionDisableReason | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| UpdateDomainName | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| CheckUserName | (var Record CDS Connection Setup) | - | public | 17-28 | - | - |
| GetAuthenticationTypeToken | (var Record CDS Connection Setup) | Text | public | 17-28 | - | - |
| IsCDSVersionValid | (Text) | Boolean | public | 17-28 | - | - |
| IsSolutionVersionValid | (Text) | Boolean | public | 17-28 | - | - |
| UpdateConnectionSetupFromWizard | (var Record CDS Connection Setup, Text) | - | public | 17-24 | - | - |
| GetTempConnectionName | () | Text | public | 17-28 | - | - |
| GetDefaultBusinessUnitName | () | Text[160] | public | 17-28 | - | - |
| GetCompanyExternalId | () | Text[36] | public | 17-28 | - | - |
| SetupCertificateAuthentication | (var Record CDS Connection Setup) | - | public | 18-28 | - | - |
| SetupCertificatetAuthenticationNoPrompt | (var Record CDS Connection Setup) | - | public | 18-28 | - | - |
| CheckIntegrationUserPrerequisites | (var Record CDS Connection Setup, Text, Text, Text, Text) | - | public | 18-27 | Pending 25.0 | Use the procedure that receives AdminPassword and AccessToken as SecretText instead. |
| CheckAdminUserPrerequisites | (var Record CDS Connection Setup, Text, Text, Text, Text) | - | public | 18-28 | - | - |
| ImportAndConfigureIntegrationSolution | (var Record CDS Connection Setup, Boolean, Boolean) | Boolean | internal | 18-28 | - | - |
| SignInCDSAdminUser | (var Record CDS Connection Setup, var DotNet CrmHelper, var Text, var Text, var Text, var Text, Boolean) | Boolean | public | 18-24 | - | - |
| ReplaceUserNamePasswordInConnectionstring | (Record CDS Connection Setup, Text, Text) | Text | public | 18-24 | - | - |
| GetCDSConnectionFirstPartyAppId | () | Text | public | 18-28 | - | - |
| GetCDSConnectionFirstPartyAppCertificate | () | Text | public | 18-28 | - | - |
| ImportIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, Text, Text, Text, Boolean) | - | public | 18-24 | - | - |
| ConfigureIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, Text, Text, Text, Boolean) | - | public | 18-24 | - | - |
| JITProvisionFirstPartyApp | (var DotNet CrmHelper) | - | public | 18-28 | - | - |
| GetAuthenticationTypeToken | (var Record CDS Connection Setup, Text) | Text | public | 18-28 | - | - |
| ShowIntegrationUser | (Record CDS Connection Setup) | - | public | 18-28 | - | - |
| ShowOwningTeam | (Record CDS Connection Setup) | - | public | 18-28 | - | - |
| ScheduleRebuildingOfCouplingTable | () | - | public | 18-28 | - | - |
| IsBusinessEventsEnabled | () | Boolean | public | 20-28 | - | - |
| GetVirtualTablesAppSourceLink | () | Text | internal | 20-28 | - | - |
| SetupVirtualTables | (var Record CDS Connection Setup, var Guid) | - | public | 20-28 | - | - |
| SetupVirtualTables | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, var Guid) | - | internal | 20-24 | - | - |
| GetTempConnectionSetup | (var Record CDS Connection Setup, var Record CDS Connection Setup, Text) | - | internal | 20-24 | - | - |
| IsVirtualTablesAppInstalled | (var Record CDS Connection Setup) | Boolean | public | 20-28 | - | - |
| GetBusinessEventAccessToken | (Text, Boolean, var Text) | - | public | 20-24 | - | - |
| GetBusinessEventsSupported | () | Boolean | internal | 20-28 | - | - |
| UpdateBusinessEventsSetupFromWizard | (var Record CDS Connection Setup) | - | public | 20-28 | - | - |
| ShowVirtualTablesConfig | (Record CDS Connection Setup) | - | internal | 20-28 | - | - |
| GetCRMEntityUrlFromCRMID | (Text, Integer, Guid) | Text | internal | 20-22 | - | - |
| GetCRMEntityListUrl | (var Record CDS Connection Setup, Text) | Text | internal | 20-22 | - | - |
| GetOptionSetMetadata | (Text, Text) | Dictionary | public | 20-28 | - | - |
| InsertOptionSetMetadata | (Text, Text, Text) | Integer | public | 20-28 | - | - |
| InsertOptionSetMetadataWithOptionValue | (Text, Text, Text, Integer) | Integer | public | 20-28 | - | - |
| UpdateOptionSetMetadata | (Text, Text, Integer, Text) | - | public | 20-28 | - | - |
| SendMultipleCompaniesNotification | () | - | public | 23-28 | - | - |
| MultipleCompanyNotificationHelpLink | (Notification) | - | public | 23-28 | - | - |
| MultipleCompanyNotificationHelpLink | () | - | public | 23-26 | Pending 24.0 | Use MultipleCompanyNotificationHelpLink(Notification: Notification) instead |
| DisableMultipleCompanyNotification | (Notification) | - | public | 23-28 | - | - |
| OpenIntegrationTableMappings | (Notification) | - | public | 23-28 | - | - |
| MultipleCompaniesConnected | () | Boolean | public | 23-28 | - | - |
| GetCRMEntityUrlFromCRMID | (Text, Integer, Guid, Text) | Text | internal | 23-28 | - | - |
| GetCRMEntityListUrl | (var Record CDS Connection Setup, Text, Text) | Text | internal | 23-28 | - | - |
| LoadAvailableVirtualTables | (var Record CDS Av. Virtual Table Buffer) | - | internal | 23 | - | - |
| EnableVirtualTables | (Text) | - | internal | 23-28 | - | - |
| ScheduleEnablingVirtualTables | (List) | - | public | 23-28 | - | - |
| OpenEnableVirtualTablesJobFromNotification | (Notification) | - | public | 23-28 | - | - |
| ShowSyntheticRelationsConfig | () | - | internal | 24-28 | - | - |
| RegisterConfiguredConnection | (var DotNet CrmHelper) | Text | internal | 24-28 | - | - |
| LoadAvailableVirtualTables | (var Record CDS Av. Virtual Table Buffer, Boolean) | - | internal | 24-28 | - | - |
| LearnMoreDisablingCRMConnection | (ErrorInfo) | - | public | 24-28 | - | - |
| CleanCDSIntegration | () | - | internal | 24 | - | - |
| CleanCDSIntegration | (Text) | - | internal | 24-28 | - | - |
| OpenVirtualTablesApp | (ErrorInfo) | - | internal | 25-28 | - | - |
| SetupVirtualTables | (var Record CDS Connection Setup, var DotNet CrmHelper, SecretText, var Guid) | - | internal | 25-28 | - | - |
| GetTempConnectionSetup | (var Record CDS Connection Setup, var Record CDS Connection Setup, SecretText) | - | public | 25-28 | - | - |
| CheckIntegrationUserPrerequisites | (var Record CDS Connection Setup, Text, SecretText, SecretText, Text) | - | public | 25-28 | - | - |
| SignInCDSAdminUser | (var Record CDS Connection Setup, var DotNet CrmHelper, var Text, var SecretText, var SecretText, var Text, Boolean) | Boolean | public | 25-28 | - | - |
| ReplaceUserNamePasswordInConnectionString | (Record CDS Connection Setup, Text, Text) | Text | public | 25-27 | Pending 25.0 | Use the procedure that receives NewPassword as SecretText and returns a SecretText instead |
| ReplaceUserNamePasswordInConnectionString | (Record CDS Connection Setup, Text, SecretText) | SecretText | public | 25-28 | - | - |
| GetAccessToken | (Text, Boolean, var SecretText) | - | public | 25-28 | - | - |
| GetBusinessEventAccessToken | (Text, Boolean, var SecretText) | - | public | 25-28 | - | - |
| ImportIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, SecretText, SecretText, Text, Boolean) | - | public | 25-28 | - | - |
| ConfigureIntegrationSolution | (var Record CDS Connection Setup, var DotNet CrmHelper, Text, SecretText, SecretText, Text, Boolean) | - | public | 25-28 | - | - |
| UpdateConnectionSetupFromWizard | (var Record CDS Connection Setup, SecretText) | - | public | 25-28 | - | - |
| GetEntityMetadata | (Integer) | Text | internal | 28 | - | - |
| GetEntityFields | (Integer, var Record Integration Field) | - | internal | 28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnGetCDSConnectionClientId | (var Text) | 17-28 | - | - |
| Integration event | OnGetCDSConnectionClientSecret | (var Text) | 17-28 | - | - |
| Integration event | OnAfterIntegrationEnabled | () | 17-28 | - | - |
| Integration event | OnBeforeCheckGLSetupLCYCode | (Record General Ledger Setup, Record CRM Transactioncurrency, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeGetBusinessEventsSupported | (var Boolean, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeGetDefaultBusinessUnitName | (var Text[160], var Boolean) | 20-28 | - | - |
| Integration event | OnGetIntegrationUserEmail | (var Text[100], var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeCleanCRMIntegrationRecords | (var Boolean) | 24-28 | - | - |
| Integration event | OnBeforeCleanCRMIntegrationSyncJob | (var Boolean) | 24-28 | Pending 26.0 | This event is not used. Integration Sync Job records are not cleaned up. |

## 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.
