A Zendesk app that brings internal broadcast messaging directly into the agent workspace. Admins and app admins can send rich-text notifications to groups or all agents, with real-time delivery, pinned message support, full notification history, and optional rule-based automation — all without leaving Zendesk.
Built for OmniWise using the Zendesk Apps Framework (ZAF SDK v2) and AWS serverless infrastructure.
Support teams juggle Zendesk tickets alongside Slack, email, and other tools just to stay informed of internal updates. Important announcements get missed, agents work with outdated information, and there's no centralized log of what was communicated. NotiCast replaces that friction with a native in-Zendesk broadcast system.
Send Notifications (Standard plan)
- Rich text message composer powered by Quill editor (formatting, links, emoji picker)
- Target recipients by Zendesk group, individual user, or "All Users"
- Multi-group selection with searchable dropdown
- Pinned messages — mark a notification to stay visible to recipients for a custom duration (hours or days, max 5 days); a backend timer auto-expires the pin
- Real-time delivery via ZAF
api_notificationevents — all agents receive the notification instantly without page refresh - Popup notification on arrival + stored in the top bar inbox
Rule-Based Notifications (Rule-Based plan)
- Create automation rules tied to Zendesk triggers
- Each rule specifies recipients (groups, individual agents, or Zendesk placeholders like assignee), subject, message, and whether to show a popup
- Rules appear in a management table with Edit / Delete / Edit Trigger actions
- Requires OAuth authorization — admins connect the app to Zendesk via OAuth 2.0 to allow trigger creation
My Notifications (all agents)
- Personal inbox: each agent sees all notifications sent to them
- Read/unread status tracking
- Filter by date range or keyword search
- Hover tooltip shows full rich-text HTML message
- Export to CSV
All Notifications Log (admin/app admin)
- Full broadcast history: subject, sender, sent time, target groups, recipient count, pin expiry date
- Click any subject to drill into per-agent delivery status (read/unread per recipient)
- Filter by date range or keyword
- Export subjects and per-notification data to CSV
Admin Panel
- User management table: grant or revoke app admin access per agent
- User search filter
- Bulk grant/revoke all agents at once
Top Bar
- Persistent notification bell icon in the Zendesk top bar
- Shows unread count badge
- Agents can browse and read messages without leaving the current ticket
| Plan | Features |
|---|---|
| Standard Notifications | Manual broadcast compose + send |
| Rule Based Notifications | Trigger-based automated notifications |
| Full | Both manual and rule-based |
Access to compose/send, notification log, and admin panel is gated by role (Zendesk admin or designated app admin). Every agent always has access to "My Notifications."
| Layer | Technology |
|---|---|
| App Framework | Zendesk Apps Framework (ZAF SDK v2) |
| Locations | nav_bar, top_bar, background |
| Rich Text Editor | Quill.js |
| Backend | AWS API Gateway + AWS Lambda |
| Database | AWS DynamoDB |
| Auth | Zendesk OAuth 2.0 |
| Real-time | ZAF api_notification events |
├── manifest.json # App config, ZAF version, locations
├── assets/
│ ├── navBar.js # Core logic: compose, send, history, admin panel, rules
│ ├── nav_bar.html # Nav bar UI (multi-tab panel)
│ ├── app.js # Top bar notification logic
│ ├── top_bar.html # Top bar notification bell
│ ├── back.html # Background page (receives real-time events)
│ ├── ruleTemplate.js # Rule builder modal (trigger + recipient config)
│ ├── ruleTemplate.html # Rule builder UI
│ ├── modal.html # Notification detail modal
│ └── css/
│ ├── navBar.css
│ ├── topBar.css
│ └── rule_template.css
└── translations/
└── en.json # App name, description, install instructions
Private — built for a client (OmniWise).