Manage webhooks programmatically using the Webhook API.
| Method | Endpoint | Description |
|---|
| POST | /settings/v1/webhooks | Create a webhook |
| GET | /settings/v1/webhooks | List all webhooks |
| GET | /settings/v1/webhooks/{webhookId} | Get a specific webhook |
| PUT | /settings/v1/webhooks/{webhookId} | Update a webhook |
| DELETE | /settings/v1/webhooks/{webhookId} | Delete a webhook |
| Field | Type | Required | Description |
|---|
| name | string | Yes | Descriptive name for the webhook |
| url | string | Yes | HTTPS endpoint URL |
| featureType | string | Yes | users, forms, time_activity, shift_scheduler, or tasks |
| objectId | integer | Conditional | Required for all types except users |
| eventTypes | array | Yes | List of event types to subscribe to |
| isDisabled | boolean | No | Set to true to create in disabled state (default: false) |
| secretKey | string | No | Secret key for webhook signature verification (API only, not available in UI) |
curl --request POST \
--url https://api.connecteam.com/settings/v1/webhooks \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: YOUR_API_KEY' \
--data '{
"name": "User Sync Webhook",
"url": "https://your-endpoint.com/webhooks/users",
"featureType": "users",
"eventTypes": ["user_created", "user_updated", "user_deleted"]
}'
curl --request POST \
--url https://api.connecteam.com/settings/v1/webhooks \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: YOUR_API_KEY' \
--data '{
"name": "Time Clock Events",
"url": "https://your-endpoint.com/webhooks/timeclock",
"featureType": "time_activity",
"objectId": 12345678,
"eventTypes": ["clock_in", "clock_out", "admin_add", "admin_edit"]
}'
Update any field of an existing webhook. Only include fields you want to change.
curl --request PUT \
--url https://api.connecteam.com/settings/v1/webhooks/493 \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: YOUR_API_KEY' \
--data '{
"url": "https://new-endpoint.com/webhooks",
"isDisabled": true
}'
{
"requestId": "42q3457b-z12c-1136-aeve-e0d433524457",
"id": 493,
"name": "Test users webhook",
"userId": 9170357,
"timeCreated": 1734074315,
"url": "https://webhook.site/test",
"isDisabled": false,
"featureType": "users",
"objectId": null,
"retryLimit": 3,
"eventTypes": [
"user_created",
"user_updated",
"user_deleted"
]
}
| Field | Type | Description |
|---|
| id | integer | Unique webhook identifier |
| name | string | Webhook name |
| userId | integer | ID of user who created the webhook |
| timeCreated | integer | Unix timestamp of creation |
| url | string | Webhook endpoint URL |
| isDisabled | boolean | Whether webhook is disabled |
| featureType | string | Feature type |
| objectId | integer | Object ID (null for users) |
| retryLimit | integer | Number of retry attempts (fixed at 3) |
| eventTypes | array | Subscribed event types |
| 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 |
| Event | Description |
|---|
| form_submission | New form submitted |
| form_submission_edited | Submission edited by user |
| manager_field_updated | Manager fields updated |
| 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 | Admin declined request |
| auto_approved_add_request | Auto-approved add request |
| auto_approved_edit_request | Auto-approved edit request |
| auto_approved_delete_request | Auto-approved delete request |
| admin_approved_clock_out_outside_geo_fence_request | Admin approved geo-fence override |
| auto_approved_clock_out_outside_geo_fence_request | Auto-approved geo-fence override |
| admin_approved_clock_out_without_nfc_request | Admin approved NFC override |
| auto_approved_clock_out_without_nfc_request | Auto-approved NFC override |
| Event | Description |
|---|
| shift_created | New shift created |
| shift_updated | Shift modified |
| shift_deleted | Shift deleted |
| availability_status_created | Availability added |
| availability_status_deleted | Availability removed |
| Event | Description |
|---|
| task_published | Task published |
| task_completed | Task marked complete |
API Reference