---
title: Connecteam
slug: connectors/connecteam
docTags: 
createdAt: 2026-08-05T04:45:03.068Z
---

Connecteam is a workforce management platform that simplifies team operations and enhances employee engagement.

Connecteam is a comprehensive workforce management platform designed to streamline operations, enhance communication, and improve employee engagement. The integration with Swimlane Turbine allows users to automate the retrieval and management of shifts, schedulers, and user data from Connecteam. This seamless integration empowers security teams to efficiently manage workforce schedules and user information, enhancing operational efficiency and reducing manual workload.

### Limitations

None to date.

### Supported Versions

This Connecteam connector uses the Connecteam REST API (`https://api.connecteam.com`). An Australia region base URL (`https://api-au.connecteam.com`) is also available.

## Configuration

### Prerequisites

Before you can use the Connecteam connector for Turbine, you'll need access to the Connecteam API. This requires the following:

- an API key authentication using the following parameters:
  - URL: The endpoint URL for accessing Connecteam's API services.
  - API Key: A unique key provided by Connecteam to authenticate API requests.

## Authentication Methods

### API Key Authentication:

- URL: The endpoint URL for the Connecteam API.
- API Key: Your Connecteam API key with sufficient permissions. Include this value in the `X-API-KEY` request header.
- Verify SSL Certificates: Optionally verify SSL certificates for HTTPS requests.
- HTTP(s) Proxy: Optionally route requests through an HTTP(s) proxy.

## Capabilities

This Connecteam connector provides the following capabilities:

- Get users
- Get Schedulers
- Get a single shift
- Get multiple shifts
- Get multiple shifts

### Get users

Retrieves a list of all users associated with your Connecteam account. You can filter results by user IDs, status, names, phone numbers, email addresses, creation date, and modification date.

Connecteam's documentation for this action can be found [here](https://developer.connecteam.com/docs/read-users-data).

### Get Schedulers

Retrieves a list of all schedulers (schedules) in your Connecteam account.

Connecteam's documentation for this action can be found [here](https://developer.connecteam.com/docs/scheduler-get-schedulers).

### Get a single shift

Retrieves a specific shift from a scheduler by scheduler ID and shift ID.

Connecteam's documentation for this action can be found [here](https://developer.connecteam.com/docs/scheduler-get-shifts).

### Get multiple shifts

Retrieves shifts from a scheduler with flexible filtering and pagination options. Required parameters include `startTime` and `endTime` as Unix timestamps in seconds. Optional filters include open shift status, published status, job IDs, assigned user IDs, shift IDs, and title.

Connecteam's documentation for this action can be found [here](https://developer.connecteam.com/docs/scheduler-get-shifts).

## Additional Documentation

- [Connecteam Connector Documentation](https://docs.swimlane.com/connectors/connecteam)
- [Connecteam Authentication Guide](https://docs.swimlane.com/authentication-guides/connecteam)
- [Connecteam Authentication (Vendor)](https://developer.connecteam.com/docs/authentication-1)
- [Connecteam API Introduction (Vendor)](https://developer.connecteam.com/docs)
- [Connecteam REST API Documentation (Vendor)](https://developer.connecteam.com/reference)

# Configurations

## Connecteam API Key Authentication

Authenticates using an API Key

### Configuration Parameters

| **Parameter** | **Description**                    | **Type** | **Required** |
| ------------- | ---------------------------------- | -------- | ------------ |
| url           | A URL to the target host.          | string   | Required     |
| X-API-KEY     | API key                            | string   | Required     |
| verify\_ssl   | Verify SSL certificate             | boolean  | Optional     |
| http\_proxy   | A proxy to route requests through. | string   | Optional     |

# Actions

## Get a single shift

Retrieve a specific shift from Connecteam using the scheduler ID and shift ID.

### Endpoint

- **URL:** `/scheduler/v1/schedulers/{{schedulerId}}/shifts/{{shiftId}}`
- **Method:** `GEt`

### Input

| **Argument Name**             | **Type** | **Required** | **Description**                                     |
| ----------------------------- | -------- | ------------ | --------------------------------------------------- |
| `path_parameters.schedulerId` | number   | Required     | The ID of the scheduler to retrieve the shift from. |
| `path_parameters.shiftId`     | string   | Required     | The ID of the shift to retrieve.                    |

### Input Example

`{"path_parameters":{"schedulerId":93429999,"shiftId":"1221"}}`

### Output

| **Parameter**                         | **Type** | **Description**                  |
| ------------------------------------- | -------- | -------------------------------- |
| `status_code`                         | number   | HTTP status code of the response |
| `reason`                              | string   | Response reason phrase           |
| `requestId`                           | string   | Unique identifier                |
| `data`                                | object   | Response data                    |
| `data.id`                             | string   | Response data                    |
| `data.title`                          | string   | Response data                    |
| `data.color`                          | string   | Response data                    |
| `data.assignedUserIds`                | array    | Response data                    |
| `data.startTime`                      | number   | Response data                    |
| `data.endTime`                        | number   | Response data                    |
| `data.timezone`                       | string   | Response data                    |
| `data.isOpenShift`                    | boolean  | Response data                    |
| `data.isPublished`                    | boolean  | Response data                    |
| `data.isRequireAdminApproval`         | object   | Response data                    |
| `data.jobId`                          | string   | Response data                    |
| `data.locationData`                   | object   | Response data                    |
| `data.locationData.isReferencedToJob` | boolean  | Response data                    |
| `data.locationData.gps`               | object   | Response data                    |
| `data.locationData.gps.address`       | string   | Response data                    |
| `data.locationData.gps.latitude`      | number   | Response data                    |
| `data.locationData.gps.longitude`     | number   | Response data                    |
| `data.createdBy`                      | number   | Response data                    |
| `data.creationTime`                   | number   | Response data                    |
| `data.updateTime`                     | number   | Response data                    |
| `data.openSpots`                      | object   | Response data                    |

### Output Example

`{"status_code":200,"reason":"OK","json_body":{"requestId":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","data":{"id":"6784dacb3c07733b0a849f49","title":"Morning Shift","color":"#4B7AC5","assignedUserIds":[],"startTime":1736924400,"endTime":1736953200,"timezone":"America/New_York","isOpenShift":false,"isPublished":true,"isRequireAdminApproval":null,"jobId":"d4ad7232-576f-2ff6-c57d-8240f1089b00","locationData":{},"createdBy":9170357,"creationTime":1736760011,"updateTime":1736760011}}}`

## Get multiple shifts

Retrieve multiple shifts from a scheduler in Connecteam using flexible filtering and pagination. Requires schedulerId, startTime, and endTime for precise results.

### Endpoint

- **URL:** `/scheduler/v1/schedulers/{{schedulerId}}/shifts`
- **Method:** `GET`

### Input

| **Argument Name**                   | **Type** | **Required** | **Description**                                 |
| ----------------------------------- | -------- | ------------ | ----------------------------------------------- |
| `parameters.startTime`              | number   | Required     | Start of date range (Unix timestamp in seconds) |
| `parameters.endTime`                | number   | Required     | End of date range (Unix timestamp in seconds)   |
| `parameters.isOpenShift`            | boolean  | Optional     | Filter by open shift status.                    |
| `parameters.isPublished`            | boolean  | Optional     | Filter by published status.                     |
| `parameters.isRequireAdminApproval` | boolean  | Optional     | Filter shifts requiring approval.               |
| `parameters.jobId`                  | array    | Optional     | Parameters for the Get multiple shifts action   |
| `parameters.assignedUserIds`        | array    | Optional     | Filter by job IDs.                              |
| `parameters.shiftId`                | array    | Optional     | Filter by specific shift IDs.                   |
| `parameters.title`                  | string   | Optional     | Filter by shift title.                          |
| `parameters.sort`                   | string   | Optional     | Sort by created\_at or updated\_at.             |
| `parameters.order`                  | string   | Optional     | Sort order.                                     |
| `parameters.limit`                  | number   | Optional     | Results per page (1-500).                       |
| `parameters.offset`                 | number   | Optional     | Pagination offset.                              |
| `path_parameters.schedulerId`       | number   | Required     | Parameters for the Get multiple shifts action   |

### Input Example

`{"parameters":{"startTime":1609459200,"endTime":1640995200,"isOpenShift":false,"isPublished":true,"isRequireAdminApproval":false,"jobId":[1,2,3],"assignedUserIds":[12,33,44],"shiftId":[1001,1002],"title":"Morning","sort":"created_at","order":"asc","limit":10,"offset":0},"path_parameters":{"schedulerId":93429999}}`

### Output

| **Parameter**                                | **Type** | **Description**                  |
| -------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                | number   | HTTP status code of the response |
| `reason`                                     | string   | Response reason phrase           |
| `requestId`                                  | string   | Unique identifier                |
| `data`                                       | object   | Response data                    |
| `data.shifts`                                | array    | Response data                    |
| `data.shifts.id`                             | string   | Response data                    |
| `data.shifts.title`                          | string   | Response data                    |
| `data.shifts.color`                          | string   | Response data                    |
| `data.shifts.assignedUserIds`                | array    | Response data                    |
| `data.shifts.startTime`                      | number   | Response data                    |
| `data.shifts.endTime`                        | number   | Response data                    |
| `data.shifts.timezone`                       | string   | Response data                    |
| `data.shifts.isOpenShift`                    | boolean  | Response data                    |
| `data.shifts.isPublished`                    | boolean  | Response data                    |
| `data.shifts.isRequireAdminApproval`         | object   | Response data                    |
| `data.shifts.jobId`                          | string   | Response data                    |
| `data.shifts.locationData`                   | object   | Response data                    |
| `data.shifts.locationData.isReferencedToJob` | boolean  | Response data                    |
| `data.shifts.locationData.gps`               | object   | Response data                    |
| `data.shifts.locationData.gps.address`       | string   | Response data                    |
| `data.shifts.locationData.gps.latitude`      | number   | Response data                    |
| `data.shifts.locationData.gps.longitude`     | number   | Response data                    |
| `data.shifts.createdBy`                      | number   | Response data                    |
| `data.shifts.creationTime`                   | number   | Response data                    |
| `data.shifts.updateTime`                     | number   | Response data                    |

### Output Example

`{"status_code":200,"reason":"OK","json_body":{"requestId":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","data":{"shifts":[]},"paging":{"offset":1}}}`

## Get Schedulers

Retrieve a list of all schedulers in your Connecteam account.

### Endpoint

- **URL:** `/scheduler/v1/schedulers`
- **Method:** `GET`

### Output

| **Parameter**                 | **Type** | **Description**                  |
| ----------------------------- | -------- | -------------------------------- |
| `status_code`                 | number   | HTTP status code of the response |
| `reason`                      | string   | Response reason phrase           |
| `requestId`                   | string   | Unique identifier                |
| `data`                        | object   | Response data                    |
| `data.schedulers`             | array    | Response data                    |
| `data.schedulers.schedulerId` | number   | Response data                    |
| `data.schedulers.name`        | string   | Response data                    |
| `data.schedulers.isArchived`  | boolean  | Response data                    |
| `data.schedulers.timezone`    | string   | Response data                    |

### Output Example

`{"status_code":200,"reason":"OK","json_body":{"requestId":"a1b2c3d4-e5f6-7890-abcd-ef1234567890","data":{"schedulers":[]}}}`

## Get users

Retrieve a list of all users associated with your Connecteam account.

### Endpoint

- **URL:** `/users/v1/users`
- **Method:** `GET`

### Input

| **Argument Name**           | **Type** | **Required** | **Description**                                                                                |
| --------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------- |
| `parameters.limit`          | number   | Optional     | Defines the maximum number of results to display per page.                                     |
| `parameters.offset`         | number   | Optional     | Indicates the resource offset of the last successfully read resource, allowing for pagination. |
| `parameters.sort`           | string   | Optional     | Specifies the sorting criteria for the results.                                                |
| `parameters.order`          | string   | Optional     | Determines the order of the results.                                                           |
| `parameters.userIds`        | array    | Optional     | A list of user IDs to filter the results.                                                      |
| `parameters.userStatus`     | string   | Optional     | Filters users based on their status.                                                           |
| `parameters.fullNames`      | array    | Optional     | Enables filtering by user names.                                                               |
| `parameters.phoneNumbers`   | array    | Optional     | Filters the results by phone numbers in the expected format.                                   |
| `parameters.emailAddresses` | array    | Optional     | Filters users based on provided email addresses using standard email format.                   |
| `parameters.createdAt`      | number   | Optional     | Filters users created after a specified date in Unix format.                                   |
| `parameters.modifiedAt`     | number   | Optional     | Filters users whose fields were updated after a specified date in Unix format.                 |

### Input Example

`{"parameters":{"limit":100,"offset":0,"sort":"created_at","order":"desc","userIds":[12,33,44],"userStatus":"active","fullNames":["John Doe","Jane Doe","Jim Doe"],"phoneNumbers":["1234567890","1234567891","1234567892"],"emailAddresses":["john.doe@example.com","jane.doe@example.com","jim.doe@example.com"],"createdAt":1609459200,"modifiedAt":1609459200}}`

### Output

| **Parameter**                           | **Type** | **Description**                  |
| --------------------------------------- | -------- | -------------------------------- |
| `status_code`                           | number   | HTTP status code of the response |
| `reason`                                | string   | Response reason phrase           |
| `requestId`                             | string   | Unique identifier                |
| `data`                                  | object   | Response data                    |
| `data.users`                            | array    | Response data                    |
| `data.users.firstName`                  | string   | Response data                    |
| `data.users.lastName`                   | string   | Response data                    |
| `data.users.phoneNumber`                | string   | Response data                    |
| `data.users.userType`                   | string   | Response data                    |
| `data.users.email`                      | string   | Response data                    |
| `data.users.customFields`               | array    | Response data                    |
| `data.users.customFields.customFieldId` | number   | Response data                    |
| `data.users.customFields.value`         | array    | Response data                    |
| `data.users.customFields.value.id`      | number   | Response data                    |
| `data.users.customFields.value.value`   | string   | Response data                    |
| `data.users.customFields.type`          | string   | Response data                    |
| `data.users.customFields.name`          | string   | Response data                    |
| `data.users.isArchived`                 | boolean  | Response data                    |
| `data.users.userId`                     | number   | Response data                    |
| `data.users.createdAt`                  | number   | Response data                    |
| `data.users.modifiedAt`                 | number   | Response data                    |
| `data.users.lastLogin`                  | number   | Response data                    |
| `data.users.smartGroupsIds`             | array    | Response data                    |
| `paging`                                | object   | Output field: paging             |
| `paging.offset`                         | number   | Output field: paging.offset      |

### Output Example

`{"status_code":200,"reason":"OK","json_body":{"requestId":"e40bff49-5e00-4549-a2d2-e339026drtc3","data":{"users":[]},"paging":{"offset":0}}}`

# Response Headers

| **Header**   | **Description**                                       | **Example**                   |
| ------------ | ----------------------------------------------------- | ----------------------------- |
| Content-Type | The media type of the resource                        | application/json              |
| Date         | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
