Teams

A team is a group of one or more agents which be assigned to be scheduled. When TimeZest schedules an appointment with a team, it will select a particular agent from the team based on the team's settings and the time the end user selects for their appointment.

Team Types

TimeZest works with multiple types of teams. All teams function identically in TimeZest, but differ in where their details and membership is defined. At present, TimeZest supports 3 types of teams with the following identifiers:

  • timezest/team - A TimeZest-Defined Team where the team is created entirely in TimeZest, and its membership is managed through TimeZest.
  • connectwise/service - A service team defined in ConnectWise PSA. The members of the team are managed in ConnectWise PSA.
  • connectwise/project - A project team defined in ConnectWise PSA. The members of the team are managed in ConnectWise PSA.

The Team object

The team object describes the properties of a team in TimeZest.

  • Name
    id
    Type
    string
    Description

    Unique identifier for the team.

  • Name
    object
    Type
    string
    Description

    Type of the object. For a team, this will always have the value team.

  • Name
    internal_name
    Type
    string
    Description

    The internal name of the team. TimeZest uses the internal name when displaying the team to agents and administrators.

  • Name
    external_name
    Type
    string
    Description

    The external name of the team. TimeZest uses the external name when displaying the team to end users. This property may be null, in which case the internal name should be used, as TimeZest does.

  • Name
    team_type
    Type
    string
    Description

    A string which identifies the type of the team, as described above.

  • Name
    url_slug
    Type
    string
    Description

    The URL slug for the team, which is the identifier used in URLs built in TimeZest to enable appointments to be scheduled for the team with shareable URLs or URL-based scheduling. This property may be null.

  • Name
    created_at
    Type
    timestamp
    Description

    The time the team record was created.

  • Name
    updated_at
    Type
    timestamp
    Description

    The most recent time the team record was updated.

Example Team object

{
  "id": "team_3Qfvlg5FUuKSviNNemZzAO",
  "object": "team",
  "internal_name": "Level 1 Support",
  "external_name": "Our MSP Help Desk",
  "team_type": "timezest/team",
  "url_slug": "help-desk",
  "created_at": 1692172402,
  "updated_at": 1692172694
}

GET/v1/teams

Retrieve all teams

This endpoint returns a list of all teams in your TimeZest account.

The response returned will be a paginated list object, whose data field will be an array of Team objects as detailed above.

Supported TQL Attributes

The teams endpoint can be filtered using the following TQL attributes:

AttributeTypeSupported Operators
team.internal_nameStringEQ, NOT_EQ, LIKE, NOT_LIKE, IN, NOT_IN
team.external_nameStringEQ, NOT_EQ, LIKE, NOT_LIKE, IN, NOT_IN
team.url_slugStringEQ, NOT_EQ, LIKE, NOT_LIKE, IN, NOT_IN

Request

  curl https://api.timezest.com/v1/teams \
  -H "Authorization: Bearer <Your API Token>"

Response

{
  "object": "list",
  "next_page": "https://api.timezest.com/v1/teams?starting_after=team_W4hPN4gKvru7c4BWerF4d",
  "previous_page": null,
  "data": [
    {
      "id": "team_3Qfvlg5FUuKSviNNemZzAO",
      "object": "team",
      "internal_name": "Level 1 Support",
      "external_name": "Our MSP Help Desk",
      "team_type": "timezest/team",
      "url_slug": "help-desk",
      "created_at": 1692172402,
      "updated_at": 1692172694
    },
    {
      "id": "team_W4hPN4gKvru7c4BWerF4d",
      "object": "team",
      "internal_name": "Implementation Team",
      "external_name": null,
      "team_type": "connectwise/project",
      "url_slug": "implementation",
      "created_at": 1692165109,
      "updated_at": 1692165109
    },
  ]
}