CLOR helpPunches reach your HR tool as they arrive; people can be read back so the two lists match.
Attendance → System → Integrations → HR tools. Each tool's own credentials, kept encrypted. A punch that fails to send is retried after 1, 5, 30, 120 and 720 minutes; the connection's log shows every attempt.
greytHR admin → Attendance → Swipe API key gives an API ID and a private key. Enter your greytHR address (yourcompany.greythr.com), the ID and the key. Punches go in as swipes with the employee code and the reader name. greytHR's swipe API does not read people back.
Keka → Settings → Integrations → API gives a client ID, client secret and API key; the attendance-log API key is issued by Keka support. Enter your subdomain, the attendance server from Keka's guide (India is usually cin01 or cin02) and a device ID to show in Keka. People are read from Keka and, if you tick it, added to CLOR.
At api-console.zoho.in (or .com for your data centre) make a Self Client, generate a refresh token with scopes ZOHOPEOPLE.attendance.ALL and ZOHOPEOPLE.forms.READ, and enter the data centre, client ID, client secret and refresh token. Punches go in as check-ins and check-outs against the Zoho Employee ID (which must equal the CLOR employee code); people are read from the employee form.
Any tool with an API can be fed from CLOR's own API (Integrations → API keys, documentation at https://api.clor.in/v1/docs) or told about punches and days by a webhook.