Your ‘Records Transmitted: 0’ despite successful mapping indicates a delivery step failure. Let me address all three focus areas comprehensively.
Goals Data Structure Analysis:
Performance goals in Workday have a complex nested structure that requires careful handling. Your integration is retrieving and mapping 247 records but failing at transmission, which suggests a structural issue.
First, verify your goals data includes all required attributes:
- Goal name and description
- Owner (employee reference)
- Target completion date
- Goal status (Active/Draft/Completed)
- Goal category and type
- Success criteria and measurements
- Parent goal relationships (if applicable)
The issue is likely in how you’re serializing nested goal data. Performance goals often have sub-goals or linked development activities that create hierarchical relationships. Your talent platform probably expects a flattened structure or a specific JSON schema.
Navigate to your integration template and check the goal object transformation. Ensure you’re handling parent-child relationships correctly:
if (goal.parent_goal exists)
map parent_goal_id to external_parent_id
else
set parent_goal_id to null
Integration Template Configuration:
Your template has three critical areas that need review:
-
Retrieval Step: Verify your goal selection criteria. Add these filters to your Get_Goals retrieval:
- Goal Status: Include only ‘Active’ and ‘In Progress’
- Goal Period: Current performance review period
- Worker Status: Active employees only
- Exclude system-generated goals if your talent platform doesn’t support them
-
Transformation Step: This is where your issue likely resides. Check these specific mappings:
- Date fields: Ensure target dates use the correct format (ISO 8601 vs MM/DD/YYYY)
- Percentage fields: Verify goal weights and progress percentages are formatted as decimals (0.75) not percentages (75%)
- Reference fields: Employee IDs must match the format in your talent platform (Workday ID vs external ID)
- Custom fields: Any custom goal attributes need explicit mapping
-
Delivery Step: Your transmission failure points here. Verify:
- Endpoint URL is correct and accessible from your Workday tenant
- HTTP method is correct (POST for new goals, PUT for updates)
- Content-Type header matches your payload format (application/json)
- Batch size doesn’t exceed the external API’s limit
- Timeout settings allow for large payloads
Mapping Validation and Troubleshooting:
The zero transmission indicates your delivery configuration needs attention:
First, test your endpoint connectivity independently. In Integration System Security → External Endpoints, run a connection test. If it fails, your credentials or network configuration is the issue.
Second, examine your actual payload structure. Enable debug logging and capture a sample:
- Go to Integration Events → Select GOALS_SYNC_PM → View Event Details
- Export the mapped payload before delivery
- Validate it against your talent platform’s API schema
Common mapping issues causing silent failures:
- Array handling: Goals with multiple success criteria must be sent as JSON arrays, not comma-separated strings
- Null values: Your talent platform might reject records with null required fields. Add default values or conditional logic
- Character encoding: Goal descriptions with special characters might break JSON parsing. Implement proper escaping
- ID format mismatches: Workday uses WID format internally, but your external system needs string or integer IDs
Resolution Steps:
-
Modify your delivery step to implement error handling:
- Add a retry mechanism for failed transmissions
- Configure error logging to capture API response details
- Set up email notifications for delivery failures
-
Implement batch processing:
- Split your 247 records into batches of 50
- Add delay between batches to respect rate limits
- Track successful vs failed records
-
Test with a single goal first:
- Create a test integration with a filter for one specific employee
- Verify the payload structure manually
- Confirm successful delivery before enabling full sync
-
Coordinate with your talent platform vendor:
- Request their API logs for your integration attempts
- Verify no recent API changes affecting goal endpoints
- Confirm your authentication scope includes goal write permissions
The most likely root cause is either a batch size limit being exceeded (247 records is large for some APIs) or a required field in your talent platform that isn’t being populated by your mapping. Focus on those two areas first, then work through the payload structure validation.
Implement incremental testing: Start with 10 goals, verify success, then scale up. This will help isolate whether it’s a volume issue or a data structure problem.