---
updatedAt: 2026-06-26T12:43:17.000Z
---

Fetch the complete documentation index at: https://developer.connecteam.com/llms.txt. Use this file to discover all available pages before exploring further.

# Setting up webhook via API

Manage webhooks programmatically using the Webhook API.

## Available Endpoints

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

***

## Create Webhook

### Request Body

| 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`, `tasks`, or `chat` ([Beta](beta-endpoints)) |
| 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)                     |

### Example: Create Users Webhook

```bash
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

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

```bash
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

```json
{
  "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

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

### shift\_scheduler

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

### tasks

| Event           | Description          |
| :-------------- | :------------------- |
| task\_published | Task published       |
| task\_completed | Task marked complete |

### chat

> 🚧 Chat webhooks are in Beta and enabled per company. See the [Chat webhook](https://developer.connecteam.com/docs/chat-webhook) guide for payloads and examples.

| Event                 | Description                                      |
| :-------------------- | :----------------------------------------------- |
| message\_created      | New message posted                               |
| message\_updated      | Message content edited                           |
| message\_deleted      | Message deleted                                  |
| conversation\_created | Conversation created                             |
| conversation\_updated | Conversation edited, locked/unlocked, or renamed |
| conversation\_deleted | Conversation deleted                             |

***

[API Reference](https://developer.connecteam.com/reference/)