Setting up webhook via API

Manage webhooks programmatically using the Webhook API.

Available Endpoints

MethodEndpointDescription
POST/settings/v1/webhooksCreate a webhook
GET/settings/v1/webhooksList 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

Create Webhook

Request Body

FieldTypeRequiredDescription
namestringYesDescriptive name for the webhook
urlstringYesHTTPS endpoint URL
featureTypestringYesusers, forms, time_activity, shift_scheduler, or tasks
objectIdintegerConditionalRequired for all types except users
eventTypesarrayYesList of event types to subscribe to
isDisabledbooleanNoSet to true to create in disabled state (default: false)
secretKeystringNoSecret key for webhook signature verification (API only, not available in UI)

Example: Create Users Webhook

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"]
  }'

Example: Create Time Activity Webhook

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 Webhook

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
  }'

Get Webhook

Response

{
  "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"
  ]
}

Response Fields

FieldTypeDescription
idintegerUnique webhook identifier
namestringWebhook name
userIdintegerID of user who created the webhook
timeCreatedintegerUnix timestamp of creation
urlstringWebhook endpoint URL
isDisabledbooleanWhether webhook is disabled
featureTypestringFeature type
objectIdintegerObject ID (null for users)
retryLimitintegerNumber of retry attempts (fixed at 3)
eventTypesarraySubscribed event types

Event Types by Feature

users

EventDescription
user_createdNew user added
user_updatedUser profile modified
user_deletedUser permanently deleted
user_archivedUser archived
user_restoredUser unarchived
user_promotedUser promoted to admin
user_demotedAdmin demoted to user

forms

EventDescription
form_submissionNew form submitted
form_submission_editedSubmission edited by user
manager_field_updatedManager fields updated

time_activity

EventDescription
clock_inUser clocked in
clock_outUser clocked out
auto_clock_outAutomatic clock out
admin_addAdmin added time entry
admin_editAdmin edited time entry
admin_deleteAdmin deleted time entry
admin_approved_add_requestAdmin approved add request
admin_approved_edit_requestAdmin approved edit request
admin_approved_delete_requestAdmin approved delete request
admin_declined_requestAdmin declined request
auto_approved_add_requestAuto-approved add request
auto_approved_edit_requestAuto-approved edit request
auto_approved_delete_requestAuto-approved delete request
admin_approved_clock_out_outside_geo_fence_requestAdmin approved geo-fence override
auto_approved_clock_out_outside_geo_fence_requestAuto-approved geo-fence override
admin_approved_clock_out_without_nfc_requestAdmin approved NFC override
auto_approved_clock_out_without_nfc_requestAuto-approved NFC override

shift_scheduler

EventDescription
shift_createdNew shift created
shift_updatedShift modified
shift_deletedShift deleted
availability_status_createdAvailability added
availability_status_deletedAvailability removed

tasks

EventDescription
task_publishedTask published
task_completedTask marked complete

API Reference