For AI agents: visit https://developer.connecteam.com/llms.txt for an index of all pages formatted in Markdown and endpoints in OpenAPI. Append .md to any documentation page URL to get its markdown version.
Preferred scope ID. null for a broadcast subscription
objectId
integer
Deprecated legacy numeric scope ID
retryLimit
integer
Maximum retry count. The default is 3 after the initial attempt
webhookVersion
integer
Payload schema version
eventTypes
array
Subscribed event types
Scope and delivery security
For a webhook scoped to one Time Clock, set entityId to that Time Clock ID as a string. Omit both entityId and the deprecated objectId to receive matching events from all supported entities in the company.
When secretKey is set, Connecteam sends that exact value in the x-webhook-secret header. It does not sign or hash the request body. Compare the received header to your stored secret with a constant-time comparison.
import { timingSafeEqual } from 'node:crypto';
function hasValidWebhookSecret(request) {
const received = Buffer.from(request.headers['x-webhook-secret'] || '');
const expected = Buffer.from(process.env.CONNECTEAM_WEBHOOK_SECRET);
return received.length === expected.length && timingSafeEqual(received, expected);
}
📝
Receiver checklist
Return any 2xx response within 10 seconds, then process the event asynchronously.
Retries resend the same JSON and may arrive without a fixed delay.
404 is treated as permanent and is not retried. Other failures may be retried up to 3 times.
requestId is a correlation ID, not a globally unique event ID. Different events caused by one action can share it.
For idempotency, combine requestId with eventType and the affected entity or date range.
Event Types by Feature
users
Event
Description
user_created
New user added
user_updated
User profile modified
user_deleted
User permanently deleted
user_archived
User archived
user_restored
User unarchived
user_promoted
User promoted to admin
user_demoted
Admin demoted to user
forms
Event
Description
form_submission
New form submitted
form_submission_edited
Submission edited by user
manager_field_updated
Manager fields updated
time_activity
Event
Description
clock_in
User clocked in
clock_out
User clocked out
auto_clock_out
Automatic clock out
admin_add
Admin added time entry
admin_edit
Admin edited time entry
admin_delete
Admin deleted time entry
admin_approved_add_request
Admin approved add request
admin_approved_edit_request
Admin approved edit request
admin_approved_delete_request
Admin approved delete request
admin_declined_request
Generic decline (kept for existing subscriptions). Prefer the three specific decline events below