Web Messaging SDK Proactive Notification 403 Error

Why does this setting block proactive notifications?

I am using the .NET SDK to send a proactive message to a user with an active session. The session ID is valid, but the API returns a 403 Forbidden error.

Here is the payload. The user ID is correct and the session is active in the dashboard.

var req = new ProactiveNotificationRequest { UserId = "user-123", Message = "Hello" };
await client.WebMessagingClient.PostProactiveNotificationAsync(req);

What scope or configuration am I missing?

This looks like a scope mismatch. The WebMessagingClient requires webmessaging:notification:write.

403 Forbidden: Insufficient permissions for resource /api/v2/webmessaging/notifications

  1. Verify your OAuth token includes webmessaging:notification:write.
  2. Add MessageDirection = "outbound" to the request.
var req = new ProactiveNotificationRequest { UserId = "user-123", Message = "Hello", MessageDirection = "outbound" };

The quickest way to solve this is to check the token scopes. Coming from Five9, I assumed admin was enough, but CXone is strict. Try this:

  • Add webmessaging:notification:write to your OAuth request.
  • Ensure the user ID matches the session owner exactly.

It worked for me after adding the specific scope.

This looks like a scope mismatch.

POST /oauth/token
grant_type=client_credentials
scope=webmessaging:notification:write

Add that scope to your pre-request script and retry.

Have you tried caching the token with the specific webmessaging:notification:write scope to avoid repeated auth calls? The 403 is definitely scope-related.

Warning: Ensure your Redis cache key includes the scope hash to prevent serving a token missing this specific permission.