List all Workspaces

Workspaces in Blue form the fundamental framework for organizing users and data.


List all Workspaces

The projectList query allows you to retrieve workspaces with powerful filtering, sorting, and pagination options.

Basic Example

query ProjectListQuery {
  projectList(filter: { companyIds: ["ENTER COMPANY ID"] }) {
    items {
      id
      uid
      slug
      name
      description
      archived
      color
      icon
      createdAt
      updatedAt
      allowNotification
      position
      unseenActivityCount
      todoListsMaxPosition
      lastAccessedAt
      isTemplate
      automationsCount
      totalFileCount
      totalFileSize
      todoAlias
    }
    pageInfo {
      totalPages
      totalItems
      page
      perPage
      hasNextPage
      hasPreviousPage
    }
  }
}

Advanced Example with Filtering and Sorting

query FilteredProjectList {
  projectList(
    filter: {
      companyIds: ["company-123", "company-456"]
      archived: false
      isTemplate: false
      search: "marketing"
      inProject: true
      folderId: null  # Get root-level projects only
    }
    sort: [position_ASC, name_ASC]
    skip: 0
    take: 50
  ) {
    items {
      id
      name
      slug
      position
      archived
    }
    totalCount
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}

Workspace Fields

The following table describes all available fields for each workspace in the ProjectListQuery:

FieldTypeDescription
idID!Unique identifier for the workspace
uidString!User-friendly unique identifier for the workspace
slugString!URL-friendly name of the workspace
nameString!Display name of the workspace
descriptionStringBrief description of the workspace
archivedBooleanBoolean indicating if the workspace is archived
colorStringColor associated with the workspace for visual identification
iconStringIcon associated with the workspace for visual identification
imageImageWorkspace cover image object
createdAtDateTime!Timestamp when the workspace was created
updatedAtDateTime!Timestamp when the workspace was last updated
allowNotificationBoolean!Boolean indicating if notifications are enabled for the workspace
positionFloat!Numeric value representing the workspace’s position in a list
unseenActivityCountInt!Number of unseen activities in the workspace
todoListsMaxPositionFloat!Maximum position value for todo lists in the workspace
lastAccessedAtDateTimeTimestamp when the workspace was last accessed
isTemplateBoolean!Boolean indicating if the workspace is a template
isOfficialTemplateBoolean!Boolean indicating if this is an official Blue template
automationsCount(isActive: Boolean)Int!Number of automations associated with the workspace
totalFileCountIntTotal number of files in the workspace
totalFileSizeFloatTotal size of all files in the workspace (in bytes)
todoAliasStringCustom alias for “todo” used in the workspace
categoryProjectCategory!Workspace category (CRM, MARKETING, etc.)
hideEmailFromRoles[UserAccessLevel!]Array of roles that should hide email addresses
hideStatusUpdateBooleanBoolean for hiding status updates
companyCompany!Full organization object details
accessLevel(userId: String)UserAccessLevelGet user’s access level for the specific workspace
folderFolderFolder containing this workspace
features[ProjectFeature!]Array of enabled workspace features
sequenceCustomFieldCustomFieldCustom field used for sequence numbering
coverConfigTodoCoverConfigConfiguration for todo cover images
hideRecordCountBooleanWhether to hide record counts
showTimeSpentInTodoListBooleanWhether to show time spent in todo lists
showTimeSpentInProjectBooleanWhether to show time spent in workspace
todoFields[TodoField]Custom todo field definitions

Note: You can request any combination of these fields in your GraphQL query.

Pagination Fields

The pageInfo object provides pagination details for the query results:

FieldTypeDescription
totalPagesIntTotal number of pages of results
totalItemsIntTotal number of workspaces matching the query
pageIntCurrent page number
perPageIntNumber of items per page
hasNextPageBoolean!Boolean indicating if there’s a next page of results
hasPreviousPageBoolean!Boolean indicating if there’s a previous page of results

Query Parameters

Filter Options (ProjectListFilter)

ParameterTypeRequiredDescription
companyIds[String!]!✅ YesArray of organization IDs or slugs to search within
ids[String!]NoFilter by specific workspace IDs
archivedBooleanNoFilter by archived status (true/false)
isTemplateBooleanNoFilter template workspaces (true/false)
searchStringNoSearch workspaces by name (case-insensitive)
folderIdStringNoFilter by folder ID. Use null for root-level workspaces
inProjectBooleanNoFilter by user membership. See note below

Note on inProject filter:

  • true or undefined: Returns workspaces the user is a member of
  • false: Returns workspaces the user is NOT in (requires organization owner permission)
  • Folder filtering (folderId) only works when inProject is not false

Sorting Options (ProjectSort)

ValueDescription
id_ASCSort by ID ascending
id_DESCSort by ID descending
name_ASCSort by name ascending (A-Z)
name_DESCSort by name descending (Z-A)
createdAt_ASCSort by creation date (oldest first)
createdAt_DESCSort by creation date (newest first)
updatedAt_ASCSort by last update (oldest first)
updatedAt_DESCSort by last update (newest first)
position_ASCSort by position ascending*
position_DESCSort by position descending*

*Position sorting is only available when viewing workspaces the user is a member of (inProject !== false)

Pagination Parameters

ParameterTypeDefaultDescription
skipInt0Number of records to skip
takeInt20Number of records to return

Important Notes

  1. Default behavior for non-member workspaces (inProject: false):

    • Excludes archived workspaces unless archived filter is explicitly set
    • Excludes template workspaces unless isTemplate filter is explicitly set
  2. Folder filtering limitations:

    • Only works when showing user’s workspaces
    • Cannot be used with inProject: false
    • Use folderId: null to get workspaces not in any folder
  3. Sorting fallback:

    • Position sorting is ignored when viewing non-member workspaces
    • Falls back to name sorting in such cases
  4. Deprecated parameters:

    • orderBy, after, before, first, last are deprecated
    • Use sort, skip, and take instead