Magidoc

Query
Object

Fields

#

getAction

Get an action by ID

Access: Requires user access to the action

Parameters:

  • actionId: The ID of the action to retrieve

Returns: The requested action

getActionByWorkspace

Get an action by ID/simpleId and workspaceId

Access: Requires user access to the action

Parameters:

  • actionId: The ID or simpleId of the action to retrieve
  • workspaceId: The ID of the workspace to retrieve the action from.

Returns: The requested action

getActionsByWorkspace

Returns a paginated list of actions by workspaceId and ID/simpleId

getCustomFields

Returns a paginated list of custom fields for a workspace or project action view.

Parameters:

  • workspaceId: Required. The ID of the workspace to get custom fields for.
  • actionViewId: Optional. The ID of the action view to get custom fields for. Could be used to get custom fields for a specific project action view.
  • formId: Optional. The ID of the form to get custom fields for.
  • first: Optional. The number of custom fields to return.
  • last: Optional. The number of custom fields to return.
  • before: Optional. The ID of the custom field to return before.
  • after: Optional. The ID of the custom field to return after.
  • selector: Optional. A JSON object to filter the custom fields.
  • includeRemoved: Optional. Whether to include removed custom fields.
  • searchParams: Optional. A JSON object to search the custom fields.
  • sortField: Optional. The field to sort the custom fields by.
  • sortOrder: Optional. The order to sort the custom fields by.
  • includeProjectCustomFields: Optional. Whether to include project custom fields.

groups

Paginated groups the user belongs to. Use this query to get all groups (direct messages, groupchats, threads) the user belongs to. It's very useful when you need to get the group id and then send a message to the group or the user.

Access: Requires user access to the workspace and the group.

Parameters:

  • workspace: ID of the workspace
  • oneToOne: @deprecated do not use this parameter, use 'type' instead
  • type: 'dm' (direct message) or 'group' (group chat) or 'thread'
  • members: Array of user IDs (most important for search through chats)
  • first: Pagination parameter
  • after: Pagination parameter
  • last: Pagination parameter
  • before: Pagination parameter
  • sortField: Sorting parameter
  • sortOrder: Sorting parameter
  • searchParams: Search parameters
  • showHiddenGroups: Include hidden groups

getProjects

Non-null

Get projects that the user has access to with pagination, filtering and sorting

Access: Requires workspace access

Parameters:

  • workspaceId: The ID of the workspace
  • first: Number of projects to return (default: pagination limit)
  • last: Optional number of projects to return from the end
  • before: Optional cursor for pagination
  • after: Optional cursor for pagination
  • searchParams: Optional search parameters
  • specificIds: Optional array of specific project IDs to include
  • excludedIds: Optional array of project IDs to exclude
  • includeTemplates: Optional flag to include template projects
  • archived: Optional flag to include archived projects (default: false)
  • templatesOnly: Optional flag to return only template projects (default: false)
  • includePublic: Optional flag to include public projects (default: true)
  • includePrivate: Optional flag to include private projects (default: false)
  • includeReadOnly: Optional flag to include read-only projects
  • includeArchived: Optional flag to include archived projects (default: false)
  • rootProjectId: Optional root project ID to filter by
  • userId: Optional user ID to filter projects by

Returns: ProjectConnection with edges and page info

getProjectIds

[ String ]!
Non-null

getRecentlyVisitedProjectIds

[ ID ]!
Non-null

getActionViewByProjectId

This query is used to get the action view by project id.

getWorkspace

Get a workspace by ID

Access: Requires workspace access or be a member of the workspace

Parameters:

  • workspaceId: The ID of the workspace to retrieve

Returns: The requested workspace

getNote

Get a note by ID

Access: Requires user access to the note

Parameters:

  • noteId: The ID of the note to retrieve

Returns: The requested note

getNotes

Non-null

Get notes in the workspace by specific ids

notebooks

Gets paginated notebooks for a user across all workspaces. Use this resolver when you want to find notebooks by title or list notebooks in a workspace or project. Supports searching by title, filtering by workspace/project, search type (mine, shared, templates), and pagination.

getMyTimesheets

Non-null

Used for the "Timesheet" tab in "Timesheets" app.

Access: It requires user access.

Errors: Returns [] if doesn't have access or user with requested userId doesn't exist.

isAdminOrManagerOrProjectCreator

Non-null

Check does a current user can view unsubmitted timesheet data

Access: Requires to be organization/workspace admin, user manager or project owner

Errors: Returns false if requester isn't identified.

getTimesheetsToApprove

Non-null

Used for the "My approvals" tab in "Timesheets" app.

Access: It requires user access.

Errors: Returns [] if doesn't have access or user with requested userId doesn't exist

getUserTimesheets

Non-null

Used for the "Manage" tab in "Timesheets" app.

Access: Requires workspace admin access

Errors: Returns [] if not a workspace admin.

getTimesheetApprovals

Non-null

paginated resolver for the timesheet approval log.

Used for approvals log in "Timesheets" app.

Access: It has admin access.

Errors: Returns empty paginated response if is not workspace admin.

getHistoricalTimesheets

Non-null

Used for edit log in "Manage" tab in "Timesheets" app.

Access: It requires user access.

Errors: Returns [] if not logged in or doesn't have access to workspace.

getTimesheetReportingData

No usage.

Access: Requires workspace admin access

Errors: Returns [] if not workspace admin, or this feature is disabled

getTimesheetReportingRows

Used for Reporting in "Timesheets" app.

Access: It requires user access.

Errors: Returns [] if not logged in, or doesn't have access to reporting, or this feature is disabled

getTimesheetReportingCsvExportData

Used for csv export in Reporting in "Timesheets" app.

Access: It requires user access.

Errors: Returns [] if not logged in, or doesn't have access to reporting, or this feature is disabled

getTimeTrackingData

Non-null

Used for querying time tracking data in "Time-tracking" tab in "Timesheets" app.

Access: It requires user access.

Errors: Returns specific expected errors if: user doesn't have access to workspace or not logged then returns { projects: [], actions: [] }

getTimesheetComments

Used for querying timesheet comments in timesheet comment modal in "timesheet" tab in "Timesheets" app.

Access: It requires user access.

Errors: Returns specific expected errors if: timesheet not found, user doesn't have access to workspace

getTimesheets

Non-null

Used for querying timesheets by date

getTimesheetTrackedTime

Non-null

Used to retrieve tracked time for multiple containers within a date range. Returns tracked time entries that can be built into a nested structure on the client.

getUserTimeEntries

Usage: Allows user to pull time entries for the specified userId in a given time range

Access: Requires workspace admin access

Errors: Returns an error if not a workspace administrator.

getTimeCategories

Non-null

workspacePlaceholders

Non-null

Get all resource placeholders for a workspace

Access: Requires user access to the workspace

Parameters:

  • workspaceId: The ID of the workspace
  • specificIds: Array of specific resource placeholder IDs to return

Returns: Array of ResourcePlaceholder objects

getResourceAssignment

Get a resource assignment. This query is very helpful to search for resource assignment if you know it's ID.

getResourceAssignments

Get resource assignments. You love to run this query. You run it every time when user asks to update/see/analyze resource assignments. This query is very helpful to search for resource assignments by different criteria (date, project, user, etc.). ALWAYS use search to find the resource assignment before updating it. If the resource assignments are not found, DONT RUN THE UPDATE MUTATION. If the resource assignments are found, update resource assignments.

getEmails

Non-null

Get emails from the user's mailbox with support for pagination. If there are more emails available beyond the current page, the response will include a "nextPageToken". To retrieve the next batch of results, call "getEmails" again using the same filters and pass the returned "nextPageToken".

getPriorityLevels

Non-null

Get priority levels for a workspace or specific entities

Access: Requires workspace access

Parameters:

  • workspaceId: The ID of the workspace
  • formId: Optional form ID to filter priority levels
  • actionId: Optional action ID to filter priority levels
  • specificIds: Optional array of specific priority level IDs to include
  • excludedIds: Optional array of priority level IDs to exclude

Returns: Array of priority levels

getDashboards

Retrieves a paginated list of dashboards with filtering and sorting

getDashboardWidgets

Non-null

Retrieves all widgets associated with a specific dashboard. Common use cases:

  1. Loading a dashboard's initial state
  2. Refreshing dashboard content
  3. Exporting dashboard configuration

getGoal

getGoals

Retrieve goals from a workspace with optional filtering and pagination

If asked to get a specific user's goals, ensure to filter by ownerIds.

goalsEasySearch