Our recruiting module reports are showing candidate status updates with a 24-hour delay which is causing major issues for hiring managers making time-sensitive decisions. When a candidate moves from “Phone Screen” to “Interview Scheduled” in the system, the pipeline report doesn’t reflect this change until the next day.
We’re using standard Workday Reporting with scheduled refreshes but clearly the incremental refresh isn’t working as expected. I’ve checked the CDC configuration but I’m not sure if it’s properly capturing recruiting events.
<report_refresh>
<schedule>daily</schedule>
<time>03:00</time>
<type>full</type>
</report_refresh>
Hiring managers are making decisions based on outdated data and we’ve had situations where candidates were contacted for interviews they’d already declined. The reporting warehouse latency seems excessive for a cloud system. Anyone solved real-time recruiting reporting challenges?
Your refresh configuration is the problem - you’re doing full daily refreshes instead of incremental updates. For recruiting data that changes frequently throughout the day, you need event-based triggers rather than scheduled refreshes. The CDC should be capturing candidate status changes in real-time but your report isn’t consuming those events.
Here’s the complete solution addressing all your data latency issues:
1. Change Data Capture (CDC) Configuration
Enable CDC on critical recruiting business objects:
- Navigate to Business Process > Change Detection Configuration
- Enable CDC for: Candidate, Job_Requisition, Job_Application, Interview
- Set change detection frequency to real-time (not batch)
- Configure retention period to 7 days minimum
<cdc_config>
<business_object>Candidate</business_object>
<detection_mode>realtime</detection_mode>
<events>status_change,stage_transition</events>
</cdc_config>
2. Event-Based Triggers
Configure event subscriptions for recruiting workflow events:
- Create event subscriptions in Workday Studio for:
- Candidate Status Changed
- Interview Scheduled/Completed
- Offer Extended/Accepted/Declined
- Application Submitted/Withdrawn
- Set trigger action to “Refresh Report” with target report specified
- Enable immediate execution (don’t queue for batch processing)
3. Incremental Refresh Scheduling
Replace your daily full refresh with intelligent incremental updates:
<report_refresh>
<schedule>incremental</schedule>
<business_hours>
<interval>every_2_hours</interval>
<time_range>08:00-18:00</time_range>
</business_hours>
<off_hours>
<interval>every_6_hours</interval>
</off_hours>
<cdc_enabled>true</cdc_enabled>
</report_refresh>
This configuration refreshes every 2 hours during business hours (8 AM - 6 PM) and every 6 hours overnight, pulling only changed records via CDC.
4. Reporting Warehouse Latency Optimization
Address the inherent reporting warehouse delay:
- For time-critical recruiting reports, enable “Operational Reporting” mode which queries live transactional data
- Configure hybrid reporting: Use operational data for pipeline/status reports, use warehouse for analytics/trends
- Set warehouse synchronization frequency to 30 minutes during business hours
- Monitor CDC lag metrics in Workday Admin console
5. Business Hours Optimization
Implement smart refresh patterns based on recruiting activity:
- Peak hiring hours (9 AM - 4 PM): Refresh every 1 hour
- Early morning/late afternoon (8-9 AM, 4-6 PM): Refresh every 2 hours
- Overnight (6 PM - 8 AM): Refresh every 6 hours
- Weekends: Refresh every 12 hours
Use Workday’s business process calendar to automatically adjust refresh frequency based on recruiting activity patterns.
Implementation Priority:
- Enable CDC on recruiting business objects (immediate)
- Configure event subscriptions for status changes (day 1)
- Switch from full to incremental refresh schedule (day 2)
- Enable operational reporting mode for pipeline reports (day 3)
- Implement business hours optimization (week 2)
Expected Results:
After implementing these changes, candidate status updates will appear in reports within 15-30 minutes (warehouse mode) or 2-5 minutes (operational mode). Our recruiting teams went from 24-hour latency to near real-time visibility, eliminating the decision-making delays and candidate communication issues you’re experiencing.
Important Note: Operational reporting mode has higher system load, so only use it for frequently accessed pipeline and status reports. Keep analytical and historical reports on the standard warehouse refresh schedule to balance performance and freshness.
Thanks everyone. So it sounds like we need to move from full daily refreshes to incremental refreshes with CDC, and possibly query operational data for time-sensitive reports. How do we configure the event-based triggers? Is that done in the report definition or at the data source level?
We had identical issues last year. The key is configuring Change Data Capture properly for recruiting events. You need to enable CDC on the Candidate and Job Requisition business objects, then configure your report to use incremental refresh based on those change events. Standard daily refreshes are completely inadequate for recruiting workflows where timing is critical.
Check your reporting warehouse latency settings. Even with CDC enabled, there’s typically a 15-30 minute delay before changes propagate to the reporting warehouse. For truly real-time reporting, you may need to query operational data directly rather than the reporting warehouse, though this has performance implications. We use a hybrid approach - critical recruiting reports query operational data while analytical reports use the warehouse.
Event triggers are configured at the business object level in Workday Studio. You create event subscriptions for candidate status changes, job requisition updates, and interview scheduling events. These trigger the CDC pipeline which then feeds incremental refreshes. Make sure you’re subscribed to all relevant recruiting events or you’ll miss updates.