Recruiting module push notifications not delivered to mobile app after candidate submission

Our recruiting team is experiencing critical issues with push notifications not reaching mobile devices when new candidate submissions arrive. We’ve configured Oracle HCM Cloud 23d recruiting module with mobile push notifications enabled, but notifications are failing silently.

The device token registration appears successful in our logs, but the notification payload isn’t being delivered. We’ve verified app permissions on both iOS and Android - notification permissions are granted. Here’s our device token registration code:

DeviceToken token = new DeviceToken();
token.setToken(fcmToken);
token.setPlatform("ANDROID");
token.setUserId(recruiterId);
deviceTokenService.register(token);

Notifications work fine for other HCM modules (performance reviews, time approvals), but recruiting-specific notifications for candidate events never arrive. This is causing significant delays in candidate response times - our recruiting managers aren’t seeing new applications until they manually open the app. Any ideas on what could be blocking recruiting module notifications specifically?

Recruiting notifications use a different notification channel than other HCM modules. Check your notification channel configuration in Setup and Maintenance - there’s a separate channel for recruiting events (HCM_RECRUITING_NOTIFICATIONS). This channel might not be linked to your mobile push notification provider. Also verify that the recruiting notification templates are configured with mobile delivery enabled - the default templates sometimes have mobile delivery disabled.

Check your notification event subscriptions in Oracle HCM Cloud. Recruiting notifications require explicit event subscription configuration that’s separate from general HCM notifications. Navigate to Setup and Maintenance > Manage Notification Event Subscriptions, and verify that recruiting-specific events (Candidate Submitted, Interview Scheduled, etc.) are subscribed with mobile delivery channel enabled. The default subscription settings often have mobile delivery unchecked for recruiting events due to privacy concerns with candidate data.

Device token registration looks correct, but are you updating tokens when they refresh? FCM tokens can rotate, and if your app isn’t updating the token in Oracle HCM Cloud when rotation happens, notifications will fail silently. Implement a token refresh listener and call the device token update API whenever FCM provides a new token. Also check your notification priority settings - recruiting notifications default to ‘normal’ priority, which can be delayed or dropped by the OS if the device is in battery saver mode.

We had this exact problem! The issue was with app permissions, but not the ones you’d expect. Beyond standard notification permissions, recruiting notifications require background data access permissions on both platforms. On Android, you need REQUEST_IGNORE_BATTERY_OPTIMIZATIONS for recruiting notifications to work reliably. On iOS, ensure Background Modes capability includes ‘remote-notification’. The recruiting module sends high-priority candidate notifications that need to wake the app even when it’s fully closed.

I’ve debugged similar issues. The notification payload format for recruiting events differs from standard HCM notifications. Recruiting notifications include candidate-specific data that might exceed the platform’s payload size limits (4KB for iOS, slightly larger for Android). If your notification payload includes large candidate profiles or attachments, it could be getting dropped. Check your notification configuration to ensure you’re only sending essential data in the payload. Also, recruiting notifications require the ‘HCM_RECRUITING_MOBILE’ scope in your FCM/APNS configuration - standard HCM scopes aren’t sufficient.

There’s a known configuration issue with notification batching for recruiting events. By default, Oracle HCM Cloud batches recruiting notifications to reduce notification spam, but this can interfere with mobile push delivery.

I’ll provide a complete solution addressing all three critical areas for recruiting push notifications:

1. Device Token Configuration and Management Your device token registration needs additional recruiting-specific parameters. The standard registration isn’t sufficient for recruiting notifications:

DeviceToken token = new DeviceToken();
token.setToken(fcmToken);
token.setPlatform("ANDROID");
token.setUserId(recruiterId);
token.setNotificationScope("HCM_RECRUITING_MOBILE");
token.setBackgroundDelivery(true);
deviceTokenService.register(token);

Critically, implement token refresh handling:

@Override
public void onNewToken(String newToken) {
    DeviceToken token = new DeviceToken();
    token.setToken(newToken);
    deviceTokenService.update(token);
}

Device tokens must be updated whenever FCM/APNS rotates them, otherwise notifications fail silently. Also ensure your token registration includes the recruiting notification scope explicitly.

2. Notification Payload Configuration Recruiting notifications have strict payload size and format requirements. Your notification configuration in Oracle HCM Cloud must be optimized for mobile delivery:

In Setup and Maintenance > Manage Recruiting Notification Templates:

  • Enable “Mobile Optimized Payload” for all recruiting event templates
  • Set payload to include only: candidate ID, requisition ID, event type, timestamp
  • Exclude: full candidate profiles, resumes, attachments, detailed job descriptions

The default recruiting notification templates include excessive data that exceeds mobile payload limits (4KB iOS, 4.5KB Android). Configure custom templates with minimal data:

{
  "notification": {
    "title": "New Candidate: {{candidateName}}",
    "body": "Requisition: {{requisitionTitle}}",
    "data": {
      "candidateId": "{{candidateId}}",
      "requisitionId": "{{requisitionId}}",
      "eventType": "CANDIDATE_SUBMITTED",
      "priority": "high"
    }
  }
}

Set notification priority to “high” for recruiting events to ensure immediate delivery even when devices are in low-power mode.

3. App Permissions and Platform-Specific Configuration

Android Requirements:

  • Add to AndroidManifest.xml:
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
  • Request battery optimization exemption for recruiting notifications:
Intent intent = new Intent();
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
  • Create dedicated notification channel for recruiting:
NotificationChannel channel = new NotificationChannel(
    "recruiting_notifications",
    "Recruiting Alerts",
    NotificationManager.IMPORTANCE_HIGH);
channel.setShowBadge(true);
channel.enableVibration(true);

iOS Requirements:

  • Enable Background Modes in Xcode capabilities: Remote notifications
  • Request notification authorization with recruiting-specific options:
UNUserNotificationCenter.current().requestAuthorization(
    options: [.alert, .sound, .badge, .criticalAlert]) { granted, error in
    // Handle authorization
}

Oracle HCM Cloud Configuration:

  1. Navigate to Setup and Maintenance > Manage Notification Event Subscriptions

  2. For each recruiting event (Candidate Submitted, Interview Scheduled, Offer Extended):

    • Enable “Mobile Push Notification” delivery channel
    • Set delivery priority to “Immediate” (not batched)
    • Verify subscription is active for your recruiting user roles
  3. Configure notification routing:

    • Setup and Maintenance > Manage Notification Preferences
    • Set recruiting notifications to bypass batching: HCM_RECRUITING_NOTIFICATION_BATCH = N
    • Enable real-time delivery: HCM_RECRUITING_REALTIME_PUSH = Y
  4. Verify mobile API gateway configuration:

    • Ensure recruiting module has mobile push enabled: HCM_RECRUITING_MOBILE_PUSH_ENABLED = Y
    • Check notification service endpoint is configured correctly

Testing and Validation: After implementing these changes:

  1. Clear existing device token registrations and re-register
  2. Test with a candidate submission in a non-production requisition
  3. Monitor notification delivery logs in Oracle HCM Cloud (Navigator > Tools > Notification Diagnostic Dashboard)
  4. Verify payload size in delivery logs - should be under 3KB for reliable delivery
  5. Test on devices in various states: active, background, fully closed, battery saver mode

The combination of proper device token management with recruiting scope, optimized notification payload, and correct platform permissions should resolve your delivery issues. If notifications still fail, check your FCM/APNS server key configuration in Oracle HCM Cloud - recruiting notifications require a separate server key registration from standard HCM notifications in some configurations.