{
  "title": "Codeunit 5064 Email Logging Dispatcher",
  "url": "https://jonas-paprotka.de/ref/codeunit/5064-email-logging-dispatcher/",
  "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": "24.5.23489.36097",
    "code": {},
    "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": 5064,
    "name": "Email Logging Dispatcher",
    "app": "Base Application",
    "appByVersion": [
      {
        "app": "Base Application",
        "from": 17
      }
    ],
    "nameByVersion": [
      {
        "name": "Email Logging Dispatcher",
        "from": 17
      }
    ],
    "namespace": "Microsoft.CRM.Outlook",
    "versions": "17-24",
    "majors": [
      17,
      18,
      19,
      20,
      21,
      22,
      23,
      24
    ],
    "extends": null,
    "sourceTable": null,
    "sourceFile": "CRM/Outlook/EmailLoggingDispatcher.Codeunit.al",
    "obsolete": {
      "state": "Pending",
      "tag": "22.0",
      "reason": "Feature EmailLoggingUsingGraphApi will be enabled by default in version 22.0"
    },
    "obsoleteSeenFrom": 22,
    "byVersion": {
      "17": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 13,
          "values": 0
        },
        "stub": false
      },
      "18": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 14,
          "values": 0
        },
        "stub": false
      },
      "19": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      },
      "20": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      },
      "21": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": null,
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      },
      "22": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "",
        "obsolete": {
          "state": "Pending",
          "tag": "22.0",
          "reason": "Feature EmailLoggingUsingGraphApi will be enabled by default in version 22.0"
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      },
      "23": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "Microsoft.CRM.Outlook",
        "obsolete": {
          "state": "Pending",
          "tag": "22.0",
          "reason": "Feature EmailLoggingUsingGraphApi will be enabled by default in version 22.0"
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      },
      "24": {
        "app": "base-application",
        "name": "Email Logging Dispatcher",
        "ns": "Microsoft.CRM.Outlook",
        "obsolete": {
          "state": "Pending",
          "tag": "22.0",
          "reason": "Feature EmailLoggingUsingGraphApi will be enabled by default in version 22.0"
        },
        "target": "",
        "sourceTable": "",
        "counts": {
          "fields": 0,
          "keys": 0,
          "methods": 20,
          "values": 0
        },
        "stub": false
      }
    },
    "fields": [],
    "keys": [],
    "procedures": [
      {
        "name": "CheckSetup",
        "sig": "(var Record Marketing Setup)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "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": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "RunEMailBatch",
        "sig": "(Integer, var DotNet IEmailFolder, var DotNet IEmailFolder)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "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": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "GetErrorContext",
        "sig": "()",
        "returns": "Text",
        "kind": "procedure",
        "access": "public",
        "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": "Text",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "SetErrorContext",
        "sig": "(Text)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "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": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "ItemLinkedFromAttachment",
        "sig": "(Text, var Record Attachment)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "AttachmentRecordAlreadyExists",
        "sig": "(Text, var Record Attachment)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "UpdateSegLine",
        "sig": "(var Record Segment Line, Code[10], Text, DotNet DateTime, DotNet DateTime, Integer)",
        "returns": "",
        "kind": "procedure",
        "access": "public",
        "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": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "InsertInteractionLogEntry",
        "sig": "(Record Segment Line, Integer)",
        "returns": "Integer",
        "kind": "procedure",
        "access": "public",
        "obsolete": null,
        "majors": [
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "17-24",
        "first": 17,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 21,
            "returns": "",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          },
          {
            "from": 22,
            "to": 24,
            "returns": "Integer",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsSalesperson",
        "sig": "(Text, var Code[20])",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "IsContact",
        "sig": "(Text, var Record Segment Line)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      },
      {
        "name": "CheckInteractionTemplateSetup",
        "sig": "(var Text)",
        "returns": "Boolean",
        "kind": "procedure",
        "access": "public",
        "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": "Boolean",
            "kind": "procedure",
            "access": "public",
            "obsolete": null
          }
        ]
      }
    ],
    "events": [
      {
        "name": "OnAfterInsertInteractionLogEntry",
        "sig": "()",
        "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": "OnBeforeGetInboundOutboundInteraction",
        "sig": "(Text, var Record Segment Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          17,
          18
        ],
        "range": "17-18",
        "first": 17,
        "last": 18,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 17,
            "to": 18,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeIsMessageToLog",
        "sig": "(var Record Segment Line, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          18,
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "18-24",
        "first": 18,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 18,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeIsSalesperson",
        "sig": "(var Text, var Code[20], var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeIsContact",
        "sig": "(var Text, var Record Segment Line, var Boolean, var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnBeforeGetInboundOutboundInteraction",
        "sig": "(var Text, var Record Segment Line)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsMessageToLogOnAfterCalcQueueMessageIsSensitive",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnIsMessageToLogOnAfterCalcSenderIsEmpty",
        "sig": "(var Boolean)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnRunJobOnBeforeRunEMailBatch",
        "sig": "(var Text, var Codeunit Exchange Web Services Server, Record Marketing Setup)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      },
      {
        "name": "OnLogMessageAsInteractionOnAfterInsertInteractionLogEntry",
        "sig": "(Integer, Text)",
        "returns": "",
        "kind": "integrationevent",
        "access": "local",
        "obsolete": null,
        "majors": [
          19,
          20,
          21,
          22,
          23,
          24
        ],
        "range": "19-24",
        "first": 19,
        "last": 24,
        "obsoleteSince": null,
        "spans": [
          {
            "from": 19,
            "to": 24,
            "returns": "",
            "kind": "integrationevent",
            "access": "local",
            "obsolete": null
          }
        ]
      }
    ],
    "values": []
  }
}