Attendance API webhook payload missing employee ID during clock-in events

Our HR system integration is breaking because the Attendance API webhook triggers on clock-in events but the payload is missing the employee ID field. We’ve configured the webhook in Infor OS to listen for attendance events, but the JSON payload only contains timestamp and location data - no employee identifier.

Here’s what we’re receiving:

{
  "eventType": "clock_in",
  "timestamp": "2025-05-22T08:00:00Z",
  "location": "Building_A"
}

The webhook payload mapping seems incomplete, and we’re forced to do manual reconciliation between CloudSuite and our external HR system. The event template configuration must be missing something, but I can’t figure out what. Has anyone successfully configured attendance webhooks to include employee identification data?

I encountered this exact issue last month. The problem is that the webhook payload mapping in Infor OS doesn’t automatically include all fields from the source event. You need to explicitly map the employee identifier field in the webhook configuration. Go to Infor OS Portal > Integration > Webhooks > [Your Webhook] and edit the payload template to include the employee data object.

Thanks for the guidance. I found the payload mapping section but I’m not seeing employee fields available in the dropdown. Is there a specific API permission or role that needs to be enabled for employee data to appear in webhook payloads?

Check your event template in Infor OS. The default attendance event template might not include employee fields. You need to customize the template to add employee_id to the payload structure.

I’ll provide a comprehensive solution covering all three areas you need to address:

Webhook Payload Mapping: The core issue is that your webhook payload template isn’t configured to include employee data. In Infor OS Portal:

  1. Navigate to Integration > Webhooks > [Your Attendance Webhook]
  2. Edit the payload template and modify the JSON structure:
{
  "eventType": "{{event.type}}",
  "timestamp": "{{event.timestamp}}",
  "location": "{{event.location}}",
  "employee": {
    "id": "{{transaction.employee.id}}",
    "number": "{{transaction.employee.number}}"
  }
}

The key is using transaction.employee path to access employee data from the source event.

Event Template Configuration: Next, configure the attendance event template to include employee context:

  1. Go to Time & Attendance > Configuration > Event Templates
  2. Find the “Clock In” event template
  3. Enable “Include Employee Data” checkbox
  4. Add employee identifier fields to the event context:
    • Employee ID (required)
    • Employee Number (for external system mapping)
    • Department (optional, useful for HR integration)

This ensures the attendance transaction publishes employee data with the event, making it available to the webhook payload mapper.

HR System Integration: For proper HR system integration, you need to configure the webhook service account permissions:

  1. In Infor OS Portal, go to Security > Service Accounts

  2. Locate your webhook service account (usually named like webhook_attendance_sa)

  3. Grant these permissions:

    • HREmployee.Read - to access employee master data
    • TimeAttendance.Read - to access attendance transactions
    • EventPublisher.Subscribe - to receive event notifications
  4. Apply the security changes and refresh the webhook configuration

After these changes, test the webhook by triggering a clock-in event. The payload should now include:

{
  "eventType": "clock_in",
  "timestamp": "2025-05-30T09:00:00Z",
  "location": "Building_A",
  "employee": {
    "id": "EMP12345",
    "number": "10234"
  }
}

Important considerations:

  • The employee data will only appear if the clock-in transaction successfully links to an employee record
  • If you’re still seeing missing fields, verify that the attendance device/system is properly associating clock-ins with employee IDs
  • For multi-tenant environments, ensure the webhook is scoped to the correct tenant where employee data resides

This complete configuration eliminates manual reconciliation and enables seamless HR system integration with CloudSuite attendance events.