Record watcher issue in UI Builder
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
Hello,
I have created a record watcher in my custom workspace. But unfortunatelly it is not working. Here is the message that I recieve.
"403:Denied authorization to subscribe to /rw/** by processor: RecordWatcherAMBProcessor:subscribe_denied"
I am trying to subscribe to sysevent table to track custom events.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
33m ago
Hi,
Good question — this error is actually expected based on how Record Watcher (AMB) is designed in ServiceNow.
1. Why you are getting this error
403: Denied authorization to subscribe to /rw/**
RecordWatcherAMBProcessor: subscribe_denied
This happens because:
- Record Watcher does NOT allow subscription to system tables like
sysevent syseventis a restricted/internal table- AMB security blocks it for performance and security reasons
So this is not a misconfiguration — it’s a platform restriction
2. Key limitation of Record Watcher
Record Watcher only works for:
Standard/allowed tables (like incident, task, custom tables)
System tables (sysevent, syslog, etc.)
3. Recommended approach → Use a custom table (best practice)
Instead of watching sysevent, do this:
Create a custom table (e.g., u_event_tracker)
Then:
- When your event is triggered
- Write a record into this custom table
Now:
- Use Record Watcher on
u_event_tracker - UI Builder will successfully subscribe
4. Alternative → Use Scripted REST / Event-driven refresh
If you need real-time behavior:
- Trigger UI refresh via Data Broker / Client State
- Or use:
- Scripted REST API
- Polling (less ideal)
5. If using events (proper pattern)
Correct architecture:
- Event (
sysevent) → backend processing - Custom table / record → frontend tracking
- Record Watcher → UI update
6. Debugging tip
If you want to confirm:
- Try subscribing to
incidenttable → it will work - Same setup on
sysevent→ will fail (by design)
7. Best practice
✔ Never use Record Watcher on system tables
✔ Use intermediary table for UI updates
✔ Keep AMB subscriptions lightweight
