Skip to content

Power Apps Mobile

Power Apps Mobile is Microsoft's mobile app for running Power Apps on phones and tablets. Protocol Launcher allows you to generate Power Apps Mobile URL scheme links.

Usage

There are two ways to use this library:

  • On-Demand import from subpaths enables tree-shaking and keeps bundles small.
  • Full Import from the root package is convenient but includes all app modules.

Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.

Select Installation Method

On-Demand
Recommended. Optimized for production.
Full Import
Convenient. Good for quick scripts.

Notes

This module only wraps the Power Apps mobile URL formats Microsoft documents: ms-apps://<org-url>_<app-id> for model-driven apps, ms-apps:///providers/Microsoft.PowerApps/apps/<appID> for canvas apps, and ms-mobile-apps:///providers/Microsoft.PowerApps/apps/<appID> for wrapped native mobile apps.

For model-driven apps, pass orgUrl without https://. Microsoft marks environmentId and appLogicalName as mandatory for new model-driven links, and environmentId as mandatory for new canvas app links. Wrapped app links work only when one wrapped app is installed on the mobile device.

URL Methods

Open Model-Driven App

Open a model-driven app in Power Apps mobile.

On-Demand
ts
import { openModelDrivenApp } from 'protocol-launcher/power-apps-mobile'

const url = openModelDrivenApp({
  orgUrl: 'contoso.onmicrosoft.com',
  appId: 'e6429eba-2204-40e8-b9dd-fc74791ff2c2',
  tenantId: 'aaaabbbb-0000-cccc-1111-dddd2222eeee',
  environmentId: 'g67tfyufhkjfg',
  appLogicalName: 'cr12_e567',
  restartApp: true,
  forceOfflineDataSync: true,
})

Open Entity Record

Open an entityrecord form in a model-driven app.

On-Demand
ts
import { openEntityRecord } from 'protocol-launcher/power-apps-mobile'

const url = openEntityRecord({
  orgUrl: 'contoso.onmicrosoft.com',
  appId: 'e6429eba-2204-40e8-b9dd-fc74791ff2c2',
  tenantId: 'aaaabbbb-0000-cccc-1111-dddd2222eeee',
  environmentId: 'g67tfyufhkjfg',
  appLogicalName: 'cr12_e567',
  etn: 'account',
  id: '00000000-1111-2222-3333-444444444444',
})

Open Entity List

Open an entitylist view in a model-driven app.

On-Demand
ts
import { openEntityList } from 'protocol-launcher/power-apps-mobile'

const url = openEntityList({
  orgUrl: 'contoso.onmicrosoft.com',
  appId: 'e6429eba-2204-40e8-b9dd-fc74791ff2c2',
  tenantId: 'aaaabbbb-0000-cccc-1111-dddd2222eeee',
  environmentId: 'g67tfyufhkjfg',
  appLogicalName: 'cr12_e567',
  etn: 'account',
  viewid: '11111111-2222-3333-4444-555555555555',
  viewType: 1039,
})

Open Canvas App

Open a canvas app in Power Apps mobile.

On-Demand
ts
import { openCanvasApp } from 'protocol-launcher/power-apps-mobile'

const url = openCanvasApp({
  appId: '11111111-2222-3333-4444-555555555555',
  tenantId: 'aaaabbbb-0000-cccc-1111-dddd2222eeee',
  environmentId: 'g67tfyufhkjfg',
  restartApp: true,
})

Open Wrapped App

Open a wrapped native mobile app created with Power Apps wrap.

On-Demand
ts
import { openWrappedApp } from 'protocol-launcher/power-apps-mobile'

const url = openWrappedApp({
  appId: '11111111-2222-3333-4444-555555555555',
  tenantId: 'aaaabbbb-0000-cccc-1111-dddd2222eeee',
  restartApp: true,
})

Generated URLs

ts
openModelDrivenApp(modelDrivenAppParams)
// => 'ms-apps://contoso.onmicrosoft.com_e6429eba-2204-40e8-b9dd-fc74791ff2c2?tenantId=aaaabbbb-0000-cccc-1111-dddd2222eeee&environmentId=g67tfyufhkjfg&appLogicalName=cr12_e567&appType=AppModule&openApp=true&restartApp=true&forceOfflineDataSync=true'

openEntityRecord(entityRecordParams)
// => 'ms-apps://contoso.onmicrosoft.com_e6429eba-2204-40e8-b9dd-fc74791ff2c2?tenantId=aaaabbbb-0000-cccc-1111-dddd2222eeee&environmentId=g67tfyufhkjfg&appLogicalName=cr12_e567&appType=AppModule&openApp=true&restartApp=true&forceOfflineDataSync=true&etn=account&pagetype=entityrecord&id=00000000-1111-2222-3333-444444444444'

openCanvasApp(canvasAppParams)
// => 'ms-apps:///providers/Microsoft.PowerApps/apps/11111111-2222-3333-4444-555555555555?tenantId=aaaabbbb-0000-cccc-1111-dddd2222eeee&environmentId=g67tfyufhkjfg&restartApp=true'

openWrappedApp(wrappedAppParams)
// => 'ms-mobile-apps:///providers/Microsoft.PowerApps/apps/11111111-2222-3333-4444-555555555555?tenantId=aaaabbbb-0000-cccc-1111-dddd2222eeee&restartApp=true'

Official Documentation