---
id: object/codeunit/1652
type: object
title: Codeunit 1652 "Add-in Manifest Management"
summary: Codeunit 1652 "Add-in Manifest Management" in Base Application (System.Integration). 22 public procedures, 7 events. Present since at least BC23, still in BC30.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 0cac52b3db7fb30a15c5c405957a5b1db0acfd7e3045e82d3570772c1cb5c6dd
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Exchange/AddinManifestManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/System/Exchange/AddinManifestManagement.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 1652
name: Add-in Manifest Management
namespace: System.Integration
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 34
  events: 7
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 12
  calls: 7
  called_by: 8
  implements: 0
---

# Codeunit 1652 "Add-in Manifest Management"

> Codeunit 1652 "Add-in Manifest Management" in Base Application (System.Integration). 22 public procedures, 7 events. Present since at least BC23, still in BC30.

Base Application · System.Integration · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/System/Exchange/AddinManifestManagement.Codeunit.al) · facts from BC29

## Events published

- `CreateBasicAddins(var OfficeAddin: Record "Office Add-in")` (integration)
- `CreateDefaultAddins(var OfficeAddin: Record "Office Add-in")` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnCreateAddin, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnCreateAddin
- `GetAddin(var OfficeAddin: Record "Office Add-in"; CodeunitID: Integer)` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnGetAddin, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnGetAddin
- `GetAddinID(var ID: Text; CodeunitID: Integer)` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnGetAddinID, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnGetAddinID
- `GetAddinVersion(var Version: Text; CodeunitID: Integer)` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnGetAddinVersion, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnGetAddinVersion
- `GetManifestCodeunit(var CodeunitID: Integer; HostType: Text)` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnGetCodeunitID, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnGetCodeunitID
- `OnGenerateManifest(var OfficeAddin: Record "Office Add-in"; var ManifestText: Text; CodeunitID: Integer)` (integration)
  - subscribers: [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) OnGenerateManifest, [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) OnGenerateManifest

## Procedures

- `DownloadManifestToClient(var NewOfficeAddin: Record "Office Add-in"; FileName: Text): Boolean`
- `SaveManifestToServer(var NewOfficeAddin: Record "Office Add-in"): Text`
- `UploadDefaultManifest(var OfficeAddin: Record "Office Add-in"; ManifestLocation: Text)`
- `UploadDefaultManifestText(var OfficeAddin: Record "Office Add-in"; ManifestText: Text)`
- `CreateAddin(var OfficeAddin: Record "Office Add-in"; ManifestText: Text; AddinName: Text[50]; AddinDescription: Text[250]; AddinID: Text[50]; ManifestCodeunit: Integer)`
- `GenerateManifest(OfficeAddin: Record "Office Add-in"; var ManifestText: Text)`
- `SetCommonManifestItems(var ManifestText: Text)`
- `DownloadMultipleManifestsToClient(var OfficeAddin: Record "Office Add-in"): Boolean`
- `SetNodeValue(var ManifestText: Text; Value: Variant; Node: Option; FormType: Option ItemRead,ItemEdit)`
- `SetNodeResource(var ManifestText: Text; Id: Text[32]; Value: Text; Type: Option Image,Url,ShortString,LongString)`
- `RemoveAddInTriggersFromManifest(var ManifestText: Text)`
- `SetSourceLocationNodes(var ManifestText: Text; URL: Text; FormType: Option ItemRead,ItemEdit)`
- `ConstructURL(HostType: Text; Command: Text; Version: Text): Text`
- `AddRegExRuleNode(var ManifestText: Text; RegExName: Text; RegExText: Text)`
- `GetImageUrl(ImageName: Text): Text`
- `GetAppID(ManifestText: Text): Text`
- `GetAppName(ManifestText: Text): Text[50]`
- `GetAppDescription(ManifestText: Text): Text[250]`
- `GetAppVersion(ManifestText: Text): Text[20]`
- `SetTestMode(NewTestMode: Boolean)`
- `XMLEncode(Value: Text): Text`
- `GetAddinByHostType(var OfficeAddin: Record "Office Add-in"; HostType: Text)`

Plus 5 local procedures.

## Triggers

OnRun

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 6224 "XML DOM Management"](../codeunit/6224.md) (14 calls: `AddRegExRuleNode → AddAttribute`, `AddRegExRuleNode → AddAttributeWithPrefix`, `AddRegExRuleNode → FindNodesWithNamespaceManager`, …)
- [Codeunit 419 "File Management"](../codeunit/419.md) (7 calls: `DownloadManifestToClient → CopyServerFile`, `DownloadManifestToClient → DownloadHandler`, `DownloadMultipleManifestsToClient → DownloadFromStreamHandler`, …)
- [Codeunit 4100 "Temp Blob"](../codeunit/4100.md) (4 calls: `ReadXMLDocToText → CreateInStream`, `ReadXMLDocToText → CreateOutStream`, `SaveManifestToServer → CreateOutStream`, …)
- [Codeunit 425 "Data Compression"](../codeunit/425.md) (4 calls: `DownloadMultipleManifestsToClient → AddEntry`, `DownloadMultipleManifestsToClient → CloseZipArchive`, `DownloadMultipleManifestsToClient → CreateZipArchive`, …)
- [Codeunit 1357 "Privacy Notice Registrations"](../codeunit/1357.md) (1 call: `DownloadManifestToClient → GetExchangePrivacyNoticeId`)
- [Codeunit 1563 "Privacy Notice"](../codeunit/1563.md) (1 call: `DownloadManifestToClient → ConfirmPrivacyNoticeApproval`)
- [Codeunit 457 "Environment Information"](../codeunit/457.md) (1 call: `SetCommonManifestItems → IsSaaS`)

## Called by

- [Codeunit 1642 "Intelligent Info Manifest"](../codeunit/1642.md) (9 calls: `DefaultManifestText → XMLEncode`, `OnCreateAddin → CreateAddin`, `OnGenerateManifest → SetCommonManifestItems`, …)
- [Codeunit 1643 "Hyperlink Manifest"](../codeunit/1643.md) (8 calls: `DefaultManifestText → XMLEncode`, `OnCreateAddin → CreateAddin`, `OnGenerateManifest → ConstructURL`, …)
- [Codeunit 1640 "Add-in Deployment Helper"](../codeunit/1640.md) (3 calls: `CheckVersion → CreateDefaultAddins`, `CheckVersion → GetAddinByHostType`, `CheckVersion → GetAddinVersion`)
- [Page 1610 "Office Add-in Management"](../page/1610.md) (2 calls: `OnInit → CreateDefaultAddins`, `UploadManifest → UploadDefaultManifest`)
- [Codeunit 1655 "Office Add-In Sample Emails"](../codeunit/1655.md) (1 call: `SubstituteHtml → GetImageUrl`)
- [Codeunit 5323 "Exchange Add-in Setup"](../codeunit/5323.md) (1 call: `DeployAddin → GenerateManifest`)
- [Page 1832 "Outlook Individual Deployment"](../page/1832.md) (1 call: `DownloadManifests → DownloadMultipleManifestsToClient`)
- [Table 1610 "Office Add-in"](../table/1610.md) (1 call: `GetAddins → CreateDefaultAddins`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "codeunit", object_name: "Add-in Manifest Management")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
