Back to Dynamics

Dynamics IPC

Send compact messages into the island.

The IPC channel lets another app deliver a message card to Dynamics after the sender is approved in Settings > Permissions.

1. What it is for

  • Use this guide when another app needs to send a compact message into Dynamics.
  • Follow the provided sample.py flow directly, without extra setup details here.
  • If sender approval is required, allow it in Settings > Permissions.

2. Payload format

Messages are passed through the distributed notification userInfo dictionary.

Field Description Requirements / limits
senderBundleID Sender bundle ID Recommended; used for sender identity and permission tracking.
appName Display name Recommended; max about 120 characters.
appIconPath Icon path or .app path Optional; max about 1024 characters.
title Message title Optional; default is New message; max about 180 characters.
detail Message detail Optional; max about 600 characters.

Compatible aliases include sender_bundle_id, bundleID, bundleId, app_name, app_icon_path, iconPath, details, body, text, and message.

{
  "senderBundleID": "com.example.MyApp",
  "appName": "My App",
  "appIconPath": "/Applications/My App.app",
  "title": "Build Finished",
  "detail": "0 errors, 2 warnings"
}

3. How to use

Use sample.py from the repository root. No third-party dependency is required.

python3 sample.py

Custom payload example:

python3 sample.py \
  --bundle-id com.example.MyApp \
  --app-name "My App" \
  --icon-path "/Applications/My App.app" \
  --title "Deploy Completed" \
  --detail "Production deployment succeeded"
  • --dynamics-bundle-id: specify the Dynamics bundle ID used for the running check. Default: us.zuos.dynamics.
  • --skip-running-check: skip the "is Dynamics running" check.
  • By default, sample.py checks whether Dynamics is running first. If not, it returns exit code 3.