{
  "title": "Codeunit 5330 CRM Integration Management",
  "url": "https://jonas-paprotka.de/ref/codeunit/5330-crm-integration-management/",
  "author": "Jonas Paprotka",
  "license": "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link.",
  "subject": "Microsoft Dynamics 365 Business Central",
  "checked": "2026-09-20",
  "source": {
    "feed": "https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json",
    "package": "Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972",
    "build": "28.5.54151.54365",
    "code": {
      "29": {
        "url": "https://jonas-paprotka.de/ref/codeunit/5330-crm-integration-management/source/29/",
        "repo": "https://github.com/microsoft/BCApps",
        "branch": "releases/29.x",
        "commit": "a66254c3b8b5bb1cea290dc8f9d097aec4381153",
        "path": "src/Layers/W1/BaseApp/Integration/Dataverse/CRMIntegrationManagement.Codeunit.al",
        "license": "MIT"
      }
    },
    "note": "Presence per major, highest build of each; 17 is the oldest major on the feed. Local procedures are not listed."
  },
  "object": {
    "type": "codeunit",
    "id": 5330,
    "name": "CRM Integration Management",
    "app": "Base Application",
    "appByVersion": [
      {
        "app": "Base Application",
        "from": 17
      }
    ],
    "nameByVersion": [
      {
        "name": "CRM Integration Management",
        "from": 17
      }
    ],
    "namespace": "Microsoft.Integration.Dataverse",
    "versions": "17-28",
    "majors": [
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24,
      25,
      26,
      27,
      28
    ],
    "extends": null,
    "sourceTable": null,
    "sourceFile": "Integration/Dataverse/CRMIntegrationManagement.Codeunit.al",
    "obsolete": null,
    "obsoleteSeenFrom": null,
    "byVersion": {
      "17": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 94,
          "values": 0
        },
        "stub": false
      },
      "18": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 98,
          "values": 0
        },
        "stub": false
      },
      "19": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 120,
          "values": 0
        },
        "stub": false
      },
      "20": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 140,
          "values": 0
        },
        "stub": false
      },
      "21": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 147,
          "values": 0
        },
        "stub": false
      },
      "22": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 155,
          "values": 0
        },
        "stub": false
      },
      "23": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 153,
          "values": 0
        },
        "stub": false
      },
      "24": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 164,
          "values": 0
        },
        "stub": false
      },
      "25": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 160,
          "values": 0
        },
        "stub": false
      },
      "26": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 157,
          "values": 0
        },
        "stub": false
      },
      "27": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 157,
          "values": 0
        },
        "stub": false
      },
      "28": {
        "app": "base-application",
        "name": "CRM Integration Management",
        "ns": "Microsoft.Integration.Dataverse",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 153,
          "values": 0
        },
        "stub": false
      }
    },
    "fields": [],
    "keys": [],
    "procedures": [
      {
        "name": "IsCRMIntegrationEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsCDSIntegrationEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsIntegrationEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsCRMSolutionInstalled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetCRMNAVConnectionUrl",
        "sig": "(Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetCRMNAVODataUrlCredentials",
        "sig": "(Text[250], Text[250], Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "UpdateMultipleNow",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateOneNow",
        "sig": "(RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateSkippedNow",
        "sig": "(var Record CRM Integration Record)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateSkippedNow",
        "sig": "(var Record CRM Integration Record, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateAllSkippedNow",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckOrEnableCRMConnection",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordInCRM",
        "sig": "(RecordId, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Replaced by CreateNewRecordsInCRM",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20
        ],
        "range": "17-20",
        "first": 17,
        "last": 20,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 20,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Replaced by CreateNewRecordsInCRM",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "CreateNewRecordsInCRM",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordsFromCRM",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordsFromSelectedCRMRecords",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewSystemUsersFromCRM",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This method is identical to CreateNewRecordsFromSelectedCRMRecords",
          "tag": "17.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 17,
        "spans": [
          {
            "from": 17,
            "to": 22,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This method is identical to CreateNewRecordsFromSelectedCRMRecords",
              "tag": "17.0"
            }
          }
        ]
      },
      {
        "name": "MarkLocalDeletedAsSkipped",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RepairBrokenCouplings",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RepairBrokenCouplings",
        "sig": "(Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(var RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, var List)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, Integer, var List)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(var RecordRef, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, Integer, var List, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(RecordId, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, Integer, Guid)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, Integer, Guid, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsCRMTable",
        "sig": "(Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnqueueFullSyncJob",
        "sig": "(Code[20])",
        "returns": "Guid",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Guid",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateOrUpdateCRMAccountStatistics",
        "sig": "(Record Customer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowCRMEntityFromRecordID",
        "sig": "(RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMEntityUrlFromRecordID",
        "sig": "(RecordId)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMEntityUrlFromCRMID",
        "sig": "(Integer, Guid)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OpenCoupledNavRecordPage",
        "sig": "(Guid, Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMEntityTypeName",
        "sig": "(Integer)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DefineCoupling",
        "sig": "(RecordId)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ManageCreateNewRecordFromCRM",
        "sig": "(Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewContactFromCRM",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewCustomerFromCRM",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewVendorFromCRM",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowCustomerCRMOpportunities",
        "sig": "(Record Customer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowCustomerCRMQuotes",
        "sig": "(Record Customer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowCustomerCRMCases",
        "sig": "(Record Customer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ResetIntTableMappingDefaultConfiguration",
        "sig": "(var Record Integration Table Mapping)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetNoOfCRMOpportunities",
        "sig": "(Record Customer)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetNoOfCRMQuotes",
        "sig": "(Record Customer)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetNoOfCRMCases",
        "sig": "(Record Customer)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "HandleCRMRegisterServiceConnection",
        "sig": "(var Record Service Connection)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ClearState",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetLastErrorMessage",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ImportCRMSolution",
        "sig": "(Text, Text, Text, Text, Text, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17
        ],
        "range": "17",
        "first": 17,
        "last": 17,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckConnectRequiredFields",
        "sig": "(Text, Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckModifyCRMConnectionURL",
        "sig": "(var Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetOrganizationFromUrl",
        "sig": "(Text[250])",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ConstructConnectionStringForSolutionImport",
        "sig": "(Text)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetupItemAvailabilityService",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "GetCommonNotificationID",
        "sig": "()",
        "returns": "Guid",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Guid",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetSkippedNotificationID",
        "sig": "()",
        "returns": "Guid",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Guid",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SendResultNotification",
        "sig": "(Variant)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowLog",
        "sig": "(RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowSkippedRecords",
        "sig": "(Notification)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CoupleCRMEntity",
        "sig": "(RecordId, Guid, var Boolean, var Option)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "InitializeProxyVersionList",
        "sig": "(var Record TempStack)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetLastProxyVersionItem",
        "sig": "()",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ClearConnectionDisableReason",
        "sig": "(var Record CRM Connection Setup)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMDisabledErrorReasonNotificationId",
        "sig": "()",
        "returns": "Guid",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Guid",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsWorkingConnection",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SendConnectionDisabledNotification",
        "sig": "(Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsItemAvailabilityWebServiceEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "GetItemAvailabilityWebServiceURL",
        "sig": "()",
        "returns": "Text[250]",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "Text[250]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "Text[250]",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "UnPublishOnWebService",
        "sig": "(var Record CRM Connection Setup)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "PublishWebService",
        "sig": "(var Record CRM Connection Setup)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "18.0"
        },
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22
        ],
        "range": "17-22",
        "first": 17,
        "last": 22,
        "obsoleteSince": 18,
        "spans": [
          {
            "from": 17,
            "to": 17,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 18,
            "to": 22,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "18.0"
            }
          }
        ]
      },
      {
        "name": "InitializeCRMSynchStatus",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "HasUncoupledSelectedUsers",
        "sig": "(var Record CRM Systemuser)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RegisterAssistedSetup",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsCRMIntegrationRecord",
        "sig": "(Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetDatabaseTableTriggerSetup",
        "sig": "(Integer, var Boolean, var Boolean, var Boolean, var Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnDatabaseInsert",
        "sig": "(RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnDatabaseModify",
        "sig": "(RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnDatabaseRename",
        "sig": "(RecordRef, RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "AddIntegrationTableMapping",
        "sig": "(var Record Integration Table Mapping)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ImportCRMSolution",
        "sig": "(Text, Text, Text, Text, Text, Text, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Replaced by ImportCRMSolution procedure with SolutionImportFailed argument and SecretText parameters for AdminUserPassword and AccessToken.",
          "tag": "25.0"
        },
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "18-27",
        "first": 18,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 18,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Replaced by ImportCRMSolution procedure with SolutionImportFailed argument and SecretText parameters for AdminUserPassword and AccessToken.",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "LinkMissingOptionDoc",
        "sig": "(Notification)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Unused method.",
          "tag": "22.0"
        },
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "18-24",
        "first": 18,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 18,
            "to": 21,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Unused method.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "IsItemAvailabilityEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UserCanRescheduleJob",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "18-28",
        "first": 18,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordsInCRM",
        "sig": "(var Dictionary)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordsFromCRM",
        "sig": "(var Dictionary)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecords",
        "sig": "(var Dictionary, var Dictionary)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "MatchBasedCoupling",
        "sig": "(Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "MatchBasedCoupling",
        "sig": "(Integer, Boolean, Boolean, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "MatchBasedCoupling",
        "sig": "(var RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCoupling",
        "sig": "(Integer, var List, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnqueueSyncJob",
        "sig": "(Record Integration Table Mapping, List, List, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "AddIntegrationTableMapping",
        "sig": "(var Record Integration Table Mapping, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DisableNotification",
        "sig": "(Notification)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OpenIntegrationSynchronizationJobsFromNotification",
        "sig": "(Notification)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetCoupledFlag",
        "sig": "(Record CRM Integration Record, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
          "tag": "23.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25
        ],
        "range": "19-25",
        "first": 19,
        "last": 25,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 25,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
              "tag": "23.0"
            }
          }
        ]
      },
      {
        "name": "SetCoupledFlag",
        "sig": "(Record CRM Integration Record, Boolean, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
          "tag": "23.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25
        ],
        "range": "19-25",
        "first": 19,
        "last": 25,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 25,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
              "tag": "23.0"
            }
          }
        ]
      },
      {
        "name": "FindCoupledToCRMField",
        "sig": "(var RecordRef, var FieldRef)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsCurrencySymbolMappingEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "GetCurrencySymbolMappingFeatureKey",
        "sig": "()",
        "returns": "Text[50]",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "IsUnitGroupMappingEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFeatureKey",
        "sig": "()",
        "returns": "Text[50]",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "21.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23
        ],
        "range": "19-23",
        "first": 19,
        "last": 23,
        "obsoleteSince": 21,
        "spans": [
          {
            "from": 19,
            "to": 20,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 21,
            "to": 23,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "21.0"
            }
          }
        ]
      },
      {
        "name": "UpdateMultipleNow",
        "sig": "(Variant, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateSkippedNow",
        "sig": "(var Record CRM Integration Record, var Record CRM Option Mapping)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateSkippedNow",
        "sig": "(var Record CRM Integration Record, var Record CRM Option Mapping, Boolean)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewOptionsInCRM",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewOptionsInCRM",
        "sig": "(var Dictionary)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateNewRecordsFromSelectedCRMOptions",
        "sig": "(Variant)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnqueueOptionSyncJobFromIntegrationTable",
        "sig": "(Record Integration Table Mapping, List, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnqueueOptionSyncJobToIntegrationTable",
        "sig": "(Record Integration Table Mapping, List, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveOptionMapping",
        "sig": "(var RecordRef)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CreateOptionMapping",
        "sig": "(RecordId, Integer, Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetMappedCRMOptionId",
        "sig": "(RecordId, var Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetIntegrationTableMapping",
        "sig": "(var Record Integration Table Mapping, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DefineOptionMapping",
        "sig": "(RecordId)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ShowOptionLog",
        "sig": "(RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetCoupledFlag",
        "sig": "(Record CRM Option Mapping, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
          "tag": "23.0"
        },
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25
        ],
        "range": "20-25",
        "first": 20,
        "last": 25,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 20,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 25,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "This functionality is replaced with flow fields Coupled to Dataverse.",
              "tag": "23.0"
            }
          }
        ]
      },
      {
        "name": "IsOptionMappingEnabled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          20,
          21,
          22,
          23,
          24
        ],
        "range": "20-24",
        "first": 20,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 20,
            "to": 21,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "GetOptionMappingFeatureKey",
        "sig": "()",
        "returns": "Text[50]",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          20,
          21,
          22,
          23,
          24
        ],
        "range": "20-24",
        "first": 20,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 20,
            "to": 21,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Text[50]",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "CheckSolutionVersionOutdated",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ReactivateJobForTable",
        "sig": "(Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnableUnitGroupMapping",
        "sig": "()",
        "returns": "Guid",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "Guid",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "DisableUnitGroupMapping",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "AdjustUnitGroupCRMConnectionSetup",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateItemUnitGroup",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateResourceUnitGroup",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CloneIntegrationFieldMapping",
        "sig": "(Code[20], Code[20])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "InitializeCRMSynchStatus",
        "sig": "(var Record CRM Synch Status)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsIntegrationRecordChild",
        "sig": "(Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RemoveCRMNAVConnectionUrl",
        "sig": "(Text[250])",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetIntegrationTableMapping",
        "sig": "(var Record Integration Table Mapping, RecordId)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "AddExtraFieldMappings",
        "sig": "(Record Integration Table Mapping)",
        "returns": "",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsFSSolutionInstalled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27
        ],
        "range": "24-27",
        "first": 24,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMEntityUrlFromCRMID",
        "sig": "(Integer, Integer, Guid)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetCRMEntityTypeName",
        "sig": "(Integer, Integer)",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ClearFSState",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": {
          "state": "Pending",
          "reason": "Field Service is moved to Field Service Integration app.",
          "tag": "25.0"
        },
        "majors": [
          24,
          25,
          26,
          27
        ],
        "range": "24-27",
        "first": 24,
        "last": 27,
        "obsoleteSince": 24,
        "spans": [
          {
            "from": 24,
            "to": 27,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": {
              "state": "Pending",
              "reason": "Field Service is moved to Field Service Integration app.",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "ImportFSSolution",
        "sig": "(Text, Text, Text, Text, Text, Text, Integer, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": {
          "state": "Pending",
          "reason": "Replaced by ImportFSSolution procedure with SolutionImportFailed argument.",
          "tag": "25.0"
        },
        "majors": [
          24,
          25,
          26,
          27
        ],
        "range": "24-27",
        "first": 24,
        "last": 27,
        "obsoleteSince": 25,
        "spans": [
          {
            "from": 24,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          },
          {
            "from": 25,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": {
              "state": "Pending",
              "reason": "Replaced by ImportFSSolution procedure with SolutionImportFailed argument.",
              "tag": "25.0"
            }
          }
        ]
      },
      {
        "name": "IsSolutionOutdated",
        "sig": "(Text, Text[65])",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24
        ],
        "range": "24",
        "first": 24,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 24,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ProcessConnectionFailures",
        "sig": "()",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "TestCRMConnection",
        "sig": "(var DotNet CrmHelper)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "MultipleCompanyLearnMore",
        "sig": "(var Notification)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetFieldServiceIntegrationAppSourceLink",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsFieldServiceIntegrationAppInstalled",
        "sig": "()",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "EnqueueSyncJob",
        "sig": "(Record Integration Table Mapping, RecordId, Guid, Integer)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ImportCRMSolution",
        "sig": "(Text, Text, Text, SecretText, SecretText, Text, Integer, Boolean, var Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ImportFSSolution",
        "sig": "(Text, Text, Text, SecretText, SecretText, Text, Integer, Boolean, Boolean)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "internal",
        "obsolete": null,
        "majors": [
          25,
          26,
          27
        ],
        "range": "25-27",
        "first": 25,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 27,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "internal",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsSolutionOutdated",
        "sig": "(SecretText, Text[65])",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckCRMConnectionURL",
        "sig": "(Text[250])",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      }
    ],
    "events": [
      {
        "name": "OnIsCDSIntegrationEnabled",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnInitCDSConnection",
        "sig": "(var Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnGetCDSIntegrationUserId",
        "sig": "(var Guid, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnGetCDSServerAddress",
        "sig": "(var Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnTestCDSConnection",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnCloseCDSConnection",
        "sig": "(Text, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterCRMIntegrationEnabled",
        "sig": "()",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeOpenRecordCardPage",
        "sig": "(RecordId, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeHandleCustomIntegrationTableMapping",
        "sig": "(var Boolean, Code[20])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "17-24",
        "first": 17,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsCRMIntegrationRecord",
        "sig": "(Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnEnabledDatabaseTriggersSetup",
        "sig": "(Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "17-28",
        "first": 17,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsCurrencySymbolMappingEnabled",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 19,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature CurrencySymbolMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "OnIsUnitGroupMappingEnabled",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "This procedure will be removed.",
          "tag": "21.0"
        },
        "majors": [
          19,
          20,
          21,
          22,
          23
        ],
        "range": "19-23",
        "first": 19,
        "last": 23,
        "obsoleteSince": 21,
        "spans": [
          {
            "from": 19,
            "to": 20,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 21,
            "to": 23,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "This procedure will be removed.",
              "tag": "21.0"
            }
          }
        ]
      },
      {
        "name": "OnBeforeGetIntegrationTableMapping",
        "sig": "(var Record Integration Table Mapping, Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeSynchronyzeNowQuestion",
        "sig": "(var Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "19-28",
        "first": 19,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsOptionMappingEnabled",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": {
          "state": "Pending",
          "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
          "tag": "22.0"
        },
        "majors": [
          20,
          21,
          22,
          23,
          24
        ],
        "range": "20-24",
        "first": 20,
        "last": 24,
        "obsoleteSince": 22,
        "spans": [
          {
            "from": 20,
            "to": 21,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": {
              "state": "Pending",
              "reason": "Feature OptionMapping will be enabled by default in version 22.0.",
              "tag": "22.0"
            }
          }
        ]
      },
      {
        "name": "OnGetTableIdFromCRMOption",
        "sig": "(RecordRef, var Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsCRMTable",
        "sig": "(Integer, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "20-28",
        "first": 20,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 20,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeGetIntegrationTableMappingFromCRMRecord",
        "sig": "(var Record Integration Table Mapping, RecordRef)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "21-28",
        "first": 21,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 21,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsIntegrationRecordChild",
        "sig": "(Integer, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeOpenCoupledNavRecordPage",
        "sig": "(Guid, Text, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "22-28",
        "first": 22,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeFindCoupledToCRMField",
        "sig": "(Integer, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23,
          24,
          25,
          26,
          27
        ],
        "range": "22-27",
        "first": 22,
        "last": 27,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 27,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterGetCRMEntityUrlFromCRMID",
        "sig": "(Text, Text, Integer, Guid, var Text)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23
        ],
        "range": "22-23",
        "first": 22,
        "last": 23,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 23,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID",
        "sig": "(var Record Integration Table Mapping, Integer, Guid, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          22,
          23
        ],
        "range": "22-23",
        "first": 22,
        "last": 23,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 22,
            "to": 23,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeGetIntegrationTableMappingWithRecordId",
        "sig": "(var Record Integration Table Mapping, RecordId, var Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterGetIntegrationTableMappingFromCRMRecordBeforeFindRecord",
        "sig": "(var Record Integration Table Mapping, RecordRef)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          23,
          24,
          25,
          26,
          27,
          28
        ],
        "range": "23-28",
        "first": 23,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 23,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterGetCRMEntityUrlFromCRMID",
        "sig": "(Text, Text, Integer, Guid, var Text, Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnGetIntegrationTableMappingFromCRMIDOnBeforeFindTableID",
        "sig": "(var Record Integration Table Mapping, var Integer, Guid, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnAfterAddExtraFieldMappings",
        "sig": "(Code[20])",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeRescheduleJobQueueEntries",
        "sig": "(Integer, var Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          24,
          25,
          26,
          27,
          28
        ],
        "range": "24-28",
        "first": 24,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 24,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeHandleCustomIntegrationTableMapping",
        "sig": "(var Boolean, Code[20], var Record Integration Table Mapping, Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          25,
          26,
          27,
          28
        ],
        "range": "25-28",
        "first": 25,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 25,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeFindCoupledToCRMField",
        "sig": "(Integer, var Boolean, var Integer)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          28
        ],
        "range": "28",
        "first": 28,
        "last": 28,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 28,
            "to": 28,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      }
    ],
    "values": []
  }
}