IN PROGRESS
Technical summary
Novu (multi-channel notification hub) integration to trigger workflows over email, SMS, push, in-app, Discord, Telegram, Slack and Teams — with remote workflow, subscriber and integration management, local history in novu_events, notify.php bridge and the /novu chat command.
Executed scope
plugin.json: v1.0.0, slugnovu(nolegacy_slugs), name "Novu", "Notifications" category,is_core: false, public author_url and website (perciocastelo.com.br).- Lazy schema (
novu_install(),CREATE TABLE IF NOT EXISTSwithstatic $doneandtry/catch) —novu_events(id PK,transaction_id,workflow,subscriber_id,statusdefaultqueued,channel_hint,payload_json/response_jsonMEDIUMTEXT,error,sourcedefaultui,created_at;idx_novu_created/idx_novu_workflow/idx_novu_statusindexes; InnoDButf8mb4_general_ci). - Config (
plugin.novu) —enabled,api_key,base_url(api.novu.co/v1),region(us|eu|custom),default_workflow(security-critical),default_subscriber,log_events. - Admin bridge —
novu_get_config()fills the plugin fromnotifications.novu_*when empty;novu_save_config()mirrors intosystem_settings.notifications.novu_*(notify.phpintegration). - Secret protected —
novu_public_config()returns the API Key masked (XXXX…XXXXor••••) andnovu_save_config()ignores masked placeholders (withclear_api_keysupport). - HTTP (
novu_request) — cURL REST withAuthorization: ApiKey, 30s timeout / 8s connect, SSL per theSSL_VERIFYconstant and error extraction (message/error/errorMessage/errors). - Trigger (
novu_trigger) —POST /events/trigger(name,to.subscriberId, payload, optionaltransactionId); subscriber fallbacknotifications.admin_emailornexus-admin;forcebypassesenabled; logs intonovu_events. - Remote management — workflows (limit 1–100 with
notification-templatesfallback), subscribers (list/create, pagination), integrations (active channels/providers) and connection test (cascade/workflows→/notification-templates→/integrations). - Dashboard (
novu_dashboard) — local stats (total/ok/errorviaGROUP BY status) + online status + remote workflows (20) + active integrations. - Local history (
novu_local_history) — latest events withstatus,channel_hint,sourceand error. - Fastr —
/novu(no argument → markdown summary; withworkflow subscriber key=val&k2=v2→ trigger withparse_strpayload); default + remote workflow suggestions (up to 8). - Intel Hub —
novuenricher (_textfield, priority 58): detectsnovu://workflow-idin descriptions/comments →novu_workflowsignal (info) with/novu <workflow> <subscriber>hint. - API: 13 actions —
novu_dashboard,novu_settings_get,novu_settings_save,novu_test_connection,novu_trigger(source: ui,force: true),novu_workflows,novu_subscribers,novu_subscriber_create,novu_integrations,novu_history,novu_fastr,novu_fastr_suggest. - UI (
tab.php, 18 KB, slate + blue-600 theme, "Comunicação" group) — Trigger / Workflows / Subscribers / Config sub-tabs: "Disparar notificação" card (workflow, subscriber, payload) with blue-600 "Disparar" button and "Enviando…" state, online/offline status, remote workflows with "Recarregar", subscriber creation, config with masked API Key and connection test. - No cron and no migrations.
notify.phpbridge —notify_novu_trigger()delegates tonovu_trigger()(security-criticalalerts) when the plugin is loaded.
Stack and tools
- PHP 8 (no framework,
strict_types) - MySQL 8 (
novu_events) - Alpine.js + Tailwind CSS (premium light, slate/blue)
- cURL + Novu REST API (
ApiKeyauth) - NEXUS plugin system (PluginManager: tabs, docs, API actions, Fastr, Intel enrichers)
Operational tags
- Notificações
- Multi-canal
- Novu
- Workflows
- Subscribers
- Eventos
- SMS
- Plugin NEXUS
Operational result
- Multi-channel hub: one trigger delivers email, SMS, push, in-app, Discord, Telegram, Slack and Teams (channels configured in the Novu dashboard).
- Secret never exposed: the API Key is masked in the UI/public API; masked placeholders never overwrite the secret on save.
- Local traceability: every trigger is recorded in
novu_events(payload, response, error, source and transaction_id). - Centralized config: plugin tab and Admin → Notifications stay in sync (bidirectional bridge).
- NEXUS alerts integrated:
notify.phpdelegatessecurity-criticalalerts to Novu when the plugin is active. - Operational chat:
/novutriggers workflows straight from Fastr with remote workflow suggestions. - Integrated intelligence:
novu://workflow-idmentioned in tasks/comments becomes an Intel Hub signal. /novu <workflow> <subscriber> [payload]chat command.
GitHub progress (issues)
Real-time panel with latest repository issues.
live feed
open issues on GitHubcarregando andamento...
não foi possivel carregar as issues agora. abra no github pelo link acima.
Real results
Unified multi-channel notification hub integrated with the Novu platform. Manages and dispatches critical security alerts, transactional emails, Discord/Slack webhooks, and in-app notifications from centralized NEXUS events.
Architecture and organization
- PHP 8
- MySQL 8
- Alpine.js
- Tailwind CSS
- cURL
- REST API
- Novu
- Plugin NEXUS
Execution and operations
The project follows reproducible execution flow with technical validation in production-like environments.
Screenshots
Talk about this project
Apply this implementation pattern in your environment and accelerate delivery with technical consistency.