Skip to content

Agentic Apps

Agentic Apps are versioned, distributable packages of DMOps configuration. A single .dmopsapp file contains everything needed to deploy a complete AI crew to a tenant: agents, skills, integrations, datasets, and scheduled tasks.

Partners build apps once and install them across many client tenants with a single click. Tenants can upgrade, undeploy, or export apps at any time.


What an app contains

ComponentWhat gets deployed
AgentsAgent definitions with system prompts, roles, model overrides, and toolsets
SkillsDomain-specific Markdown skill files available to the app's agents
IntegrationsIntegration registrations (credentials are entered by the tenant admin after install)
DatasetsRelational dataset schemas and optional seed data
Scheduled TasksRecurring jobs (e.g. daily ERP sync, weekly report)

Installing an app in a tenant

Go to Apps in the left sidebar.

Option 1 — Upload a .dmopsapp file

  1. Click Install App.
  2. Choose Upload file and select the .dmopsapp archive.
  3. DMOps.ai validates the package — you'll see a summary of what will be created and any warnings.
  4. Click Deploy to install.

Option 2 — Install from a GitHub repository

  1. Click Install App.
  2. Choose From GitHub URL.
  3. Enter the repository URL and optionally a branch, tag, or commit SHA (defaults to main).
  4. DMOps.ai fetches the repository, locates app.yaml, and validates the package.
  5. Click Deploy to install.

What happens during install

The deploy engine runs seven steps in dependency order:

StepWhat happens
1. IntegrationsIntegration providers are registered (credentials not required at this stage)
2. DatasetsDataset schemas are created in topological order (respecting references)
3. SkillsSkill files are written to the tenant's skill library
4. AgentsAgent definitions are created with the app's system prompts and toolsets
5. Scheduled tasksRecurring jobs are created in paused state
6. Seed dataOptional initial dataset rows are inserted
7. GrantsAgents that need integration access are queued for admin approval

After install, a per-step report is shown. Any pending integration access requests appear in the Grants tab of the app detail page.


Pending integration grants

When an app deploys agents that need access to integrations (e.g. your ERP or email system), those access requests are queued for admin approval — they are never automatically granted.

  1. Open the app in Apps → [App Name] → Grants.
  2. Review each pending grant: which agent is requesting access to which integration.
  3. Click Approve or Reject per grant.

Agents cannot use an integration's tools until their grant is approved. Approved grants can be revoked at any time from Settings → Org Chart → [Agent] → Tools.

TIP

You can bulk-approve all pending grants for an app from the Grants tab if you've reviewed the app manifest and trust the publisher.


Upgrading an app

To upgrade to a newer version of an app:

  1. Install the new .dmopsapp (upload or GitHub) for the same app ID.
  2. DMOps.ai detects the existing deployment and enters upgrade mode.
  3. The deploy report shows what's new, changed, or removed.
  4. Resources removed from the new version are detached (not deleted) — you choose whether to drop them in the Danger Zone.
  5. New grant requests for the upgraded version appear in the Grants tab.

Undeploying an app

Open the app detail → Danger Zone tab.

  • Undeploy removes all agents, skills, and scheduled tasks created by this app. Integrations are detached but not deleted (in case they're shared with other apps).
  • Drop datasets optionally deletes the app's datasets and all their data — this is irreversible.

WARNING

Undeploying cannot be undone. Any tasks currently running against this app's agents will complete, but no new tasks will be routed to them.


Exporting an existing app

To package an existing tenant configuration as a .dmopsapp file:

  1. Go to Apps → [App Name].
  2. Click Export App.
  3. Download the generated .dmopsapp archive.

You can also assign existing resources (agents, skills, datasets) to an app before exporting using Assign Resources on the app detail page.


Building a custom app

Directory structure

my-app/
├── app.yaml               # Manifest (required)
├── skills/
│   └── my-skill.md        # Skill files
├── datasets/
│   └── customers.yaml     # Dataset schema definitions
└── seed/
    └── customers.csv      # Optional seed data for datasets

The app.yaml manifest

yaml
app:
  id: my-field-sales-app
  title: Field Sales Operations
  version: 1.0.0
  description: AI crew for field sales teams
  author: Dynamics Mobile
  min_acp_version: "1.0.0"
  api_version: 1

integrations:
  - id: dms-erp
    provider: dms
    title: Dynamics Mobile ERP
    required: true

datasets:
  - name: customers
    file: datasets/customers.yaml

skills:
  - name: visit-preparation
    category: field-sales
    file: skills/visit-prep.md

agents:
  - name: field-sales-manager
    title: Field Sales Manager
    role: Field Sales Manager
    system_prompt: |
      You are the Field Sales Manager agent for this organisation...
    toolsets:
      - dms-erp-read
    integration_grants:
      - integration_id: dms-erp
        allowed_tools:
          - get_customers
          - get_orders

scheduled_tasks:
  - title: Daily visit brief
    description: Prepare visit briefs for today's scheduled visits
    cron: "0 7 * * 1-5"
    timezone: Europe/London
    agent: field-sales-manager

Packaging

bash
zip -r my-field-sales-app-1.0.0.dmopsapp my-app/

The archive can have a root directory matching the app ID — DMOps.ai strips it automatically during install.

Versioning

Use semantic versioning (1.0.0, 1.1.0, 2.0.0). Installing a higher version over an existing deployment triggers upgrade mode. Installing the same version is rejected (use a new version number for every release).


Available apps from Dynamics Mobile

AppVerticalStatus
Field Sales OperationsSalesAvailable
Warehouse & InventoryOperationsAvailable
ERP Sync & ReconciliationFinance / ITAvailable
Delivery & LogisticsLogisticsComing soon

Contact your Dynamics Mobile account manager to obtain the latest .dmopsapp packages or GitHub repository access.