nocobase-app-plugin-notification

Integrate, configure, send, and diagnose NocoBase notifications across Channels and Providers.

9|3|Updated Aug 14, 2026
One-click install
npx skills add https://github.com/nocobase/nocobase3 --skill nocobase-app-plugin-notification-nocobase
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: nocobase-app-plugin-notification
Source: https://github.com/nocobase/nocobase3/tree/main/packages/plugins/app-plugin-notification/skills/nocobase-app-plugin-notification
Command: npx skills add https://github.com/nocobase/nocobase3 --skill nocobase-app-plugin-notification-nocobase

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? It guides agents through integrating the NocoBase notification runtime, configuring Channels and Providers, sending notifications safely with idempotency, and diagnosing delivery failures without exposing credentials or mistaking Provider acceptance for final delivery. ## Core Features & Use Cases - Integration and Configuration: Install the core plugin plus in-app, email, and IM Channel packages, run migrations, wire the queue, and protect log and test routes with authentication and authorization. - Safe Sending: Send through the shared notificationServiceToken with stable idempotency keys, recipient validation, deliberate Provider routing, and readback of Notification, Delivery, and Attempt records. - Delivery Diagnostics: Trace pending, failed, partial, and unknown Deliveries through Retry Audits, Attempts, and correlated server logs, then recover safely with reasoned manual retries. - Use Case: An approval workflow needs to notify an approver in-app and by email; the Skill builds an idempotent send, records the Notification id, and verifies each Delivery reaches a terminal state. ## Quick Start Ask the agent to integrate the NocoBase notification plugin into your application and send a test in-app notification to a specific user with a stable idempotency key.

Frequently Asked Questions about nocobase-app-plugin-notification

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I send a notification in NocoBase from server code?▼

Resolve notificationServiceToken from the application's ServiceContainer and call send() with an idempotencyKey, recipient, channels, and content. Never create a second manager or call a Provider directly; the result returns the Notification id and Delivery snapshots.

How do I configure email and in-app notification channels in NocoBase?▼

Enable the core plugin plus the in-app and provider packages, then define the notification.channels array using defineInAppChannelConfig and defineEmailChannelConfig with SMTP or Resend Providers. Load passwords and API keys from the runtime secret source and run migrations before starting delivery.

Does an accepted notification status mean the message was delivered?▼

No, accepted only means the Provider confirmed it accepted the submission. It does not prove final delivery to or reading by the recipient, so keep querying getNotification or getByIdempotencyKey until Deliveries reach a terminal state.

Why is my NocoBase notification stuck in pending or unknown status?▼

Pending usually means the queue worker or reconciler is not running, while unknown means a Provider submission may have happened but confirmation was lost. Check Deliveries, Attempts, and correlated server logs, and never auto-retry an unknown Delivery without Provider evidence.

Can I retry a failed or unknown notification delivery safely?▼

Terminal failed Deliveries can be retried with retryDelivery and a recorded reason after fixing the cause. Unknown Deliveries require checking Provider evidence first; without valid Provider idempotency, retrying accepts possible duplication and the reason must document that decision.

How do I add a custom notification Channel or Provider in NocoBase?▼

Implement a NotificationChannelDefinition for recipient resolution and rendering, and a NotificationProviderDefinition for the external submission, then register both via notificationExtensionRegistryToken before the first send. Keep credentials and network I/O in the Provider and redact secrets from errors and logs.