{
  "name": "user-notifications",
  "title": "User Notifications",
  "category": "Integration",
  "description": "Notify your app's users from your canister, on their devices and even while the app is closed. Internet Identity delivers each notification (as web push), so there is no push service, no VAPID keys and no device tokens in the app: the canister addresses a user and II reaches their browsers. Covers asking the user's consent in the frontend (requestNotificationConsent, getNotificationConsentStatus, revokeNotificationConsent, needing @icp-sdk/auth 11.1.0), the /.well-known/ii-notification-senders document, and sending with the identity-notifications library from Motoko or Rust. Use when an app must tell a user something while they are not looking at it, when adding notifications, web push or a notifications toggle, or when the user consented and nothing arrives. Assumes sign-in already works and the app's primary origin is settled: load user-sign-in first. Do NOT use for in-app notification UI or email, or for reaching anyone who is not a signed-in user of this app.",
  "license": "Apache-2.0",
  "compatibility": "@icp-sdk/auth >= 11.1.0, moc >= 2.0.0",
  "updated": "2026-11-10T12:15:44.000Z",
  "urls": {
    "html": "https://skills.internetcomputer.org/skills/user-notifications/",
    "markdown": "https://skills.internetcomputer.org/.well-known/skills/user-notifications/SKILL.md",
    "json": "https://skills.internetcomputer.org/api/skills/user-notifications.json",
    "source": "https://github.com/dfinity/icskills/blob/5410eff3004bbed61389b2b307a6ee88e3aadf33/skills/user-notifications/SKILL.md"
  },
  "publisher": {
    "name": "DFINITY Foundation",
    "url": "https://dfinity.org"
  },
  "canonicalRepo": {
    "name": "dfinity/icskills",
    "url": "https://github.com/dfinity/icskills"
  }
}
