Microsoft has deprecated the in-product upload on the Extension Management page and the Automation API extensionUpload endpoint. Both are scheduled for removal in 2027 release wave 1 (version 30). Extension Management is expected to survive only as a read-only list.
https://mohana-dynamicsnav.blogspot.com/2026/09/managing-apps-in-business-central-admin.html
The
supported replacement is the Business Central admin center API so I built an
app that calls it from AL.
PTE
Extension Management gives
you a page that looks and behaves like the one you already use:
- Installed Extensions (Admin Center) live list of what is installed,
with available update versions and scope.
- Upload Extension — pick a .app, choose
when to deploy (current version, update window, next minor, next major),
set the schema sync mode, and accept the publisher terms.
- Uninstall — with an optional,
confirmed delete of the extension's data.
- Installation Status, Scheduled Installs,
and per-extension Operations so you can see what the API
actually did.
- Deployment Log — every attempt, with
user, environment, HTTP status, operation ID, and the raw response body.
Setup is a
one-time job:
Step 1.
Create the app registration
Go to the
Azure portal, then Microsoft Entra ID > App registrations >
New registration.
Step 2. Copy the Application (client) ID - you will paste this into Business Central
Step 3.
Create a client secret
Go to Certificates
& secrets > Client secrets > New client secret.
Step 4. Add API permissions
Go to API
permissions > Add a permission > APIs my organization uses,
and search for Dynamics 365 Business Central.
Choose Application permissions, and select the permission that grants admin center API access for your tenant.
Then select Grant
admin consent for [tenant] and confirm. The Status column must show a green
tick for every permission before you continue.
Step 5. Register the app in Business Central
In Business
Central, use Tell Me to open Microsoft Entra Applications. Select
New.
- Client ID: paste the Application (client)
ID from Step 2
Step 6.
Assign Exten. Mgt. - Admin
On the
same card, in the User Permission Sets subpage, add a line and select Exten.
Mgt. - Admin.
State: set to Enabled
Step 7. Grant consent
Select Grant
Consent on the Entra Applications page and complete the prompt with an
account that can consent on behalf of the organization.
Step 8.
Open the setup page
Open MPA
Deploy Setup.
Step 9. Enter the credentials
In the Entra
Application group:
- Client ID: paste the Application (client)
ID
- Client Secret: paste the secret value from
Step 3
Step 10. Test the connection
Select Test
Connection.
The app
requests a token, calls the installed apps endpoint on the target environment,
and reports how many extensions came back. A number means authentication,
permissions, and environment routing are all correct.
Step 11.
Assign the permission set to users
Assign MPA Deploy Admin to the people who should be able to deploy. It is a standalone
permission set and is not included in any Microsoft permission set, so nobody
gets it by accident.
Step 12. Deploy a package
Open Installed Extensions (Admin Center) and Upload Extensions action.
Select Select
Package, choose an .app file, decide whether to install now or wait for the
update window, and select Deploy.
Step 13.
Check the Installation Status
Open Installation
Status action. Track the status to watch the install complete.
The source is on GitHub. Try it in a sandbox, tell me where it breaks, and open an issue if something is missing or wrong. Feature suggestions are just as welcome as bug reports.
https://github.com/pmohanakrishna/PTE-Extension-Management
No comments:
Post a Comment