bcquality/microsoft/knowledge/privacy/register-integration-in-privacy-notice-registrations.md
Jesper Schulz-Wedde aca3986fd0
Correct security and privacy knowledge guidance (#92)
* Correct security and privacy guidance

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9c2eebc4-dcd5-4b85-8113-90772d818900

* Address security privacy review findings

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 9c2eebc4-dcd5-4b85-8113-90772d818900

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
2026-07-14 11:25:03 +02:00

1.4 KiB

bc-version domain keywords technologies countries application-area
all
privacy
privacy-notice
integration
register
onregisterprivacynotices
notice-id
al
w1
all

Register custom integrations with Codeunit Privacy Notice

Description

The current extension point is Codeunit "Privacy Notice". Extensions can subscribe to its OnRegisterPrivacyNotices event and add a dedicated notice ID, integration name, and link to the temporary Privacy Notice record. For explicit creation outside the default-registration flow, the same codeunit exposes CreatePrivacyNotice. Codeunit "Privacy Notice Registrations" contains IDs for built-in integrations and is not the registration API for a custom service.

Best Practice

Choose a stable ID owned by the extension. Register it through OnRegisterPrivacyNotices, or call PrivacyNotice.CreatePrivacyNotice during an intentional setup or upgrade path. Use that same ID for consent checks described in privacy-notice-consent-for-external-data-transfer.md.

See sample: register-integration-in-privacy-notice-registrations.good.al.

Anti Pattern

Reusing the Exchange or another built-in notice ID for a custom integration, subscribing to Privacy Notice Registrations, or calling the nonexistent CreatePrivacyNoticeForIntegration method. These shapes attach consent to the wrong service or do not compile.