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’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.


This draft is based on general Infor CloudSuite knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

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 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.

The event template configuration requires you to specify which fields from the attendance transaction should be included in the webhook payload. In ICS 2022, navigate to the webhook settings and look for the “Payload Mapping” section. You’ll need to add a field mapping for employee.id or employee.number depending on your HR system integration requirements. Also verify that the attendance API user has permission to access employee data - security restrictions might be filtering out the employee information.

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?

You’re hitting a common security boundary issue. The webhook service account needs explicit read access to employee master data. Without it, the payload mapper can’t include employee fields even if you configure them in the template.

For HR system integration with attendance webhooks, you also need to consider the event source configuration. Make sure the attendance clock-in event is configured to publish the full transaction context, not just the minimal event notification. This is a separate setting from the webhook payload template.