Skip to main content

Work

Track, manage, and monitor task activity, assignment, and completion, as well as relevant time tracking and client details.

Written by Marsha Galicia

The Work data area gives you a complete view of the work items in your practice — XBerts, tasks and agent work — including who they are assigned to, due dates, time estimates, the actual time logged against them, client context and any linked XPM job. Use it to build alerts that help you manage workload, spot overdue or under/over-estimated work, and check how time is being recorded.

Only work items that have a time estimate (EstimatedTimeMins greater than 0) are included in this data area. WorkItemType is one of 'XBert', 'Task', 'Agent' or 'Other Work Item' — when someone asks about 'tasks' they usually mean WorkItemType == 'Task'.


The AI will only look back at 12 months' worth of data.

Key Properties:

  1. SourceLink: Stable key for this work item (the underlying work item id as a string). Used as the result key for the alert.

  2. WorkItemName: The template/message name the work item was generated from (not the user-facing title — use WorkItemTitle for the display title).

  3. WorkItemTitle: The work item's display title (the notification title).

  4. TileTitle: The short tile heading shown for this work item.

  5. WorkItemType: The work item category — one of 'XBert', 'Task', 'Agent' or 'Other Work Item' (exact, case-sensitive).

  6. WorkItemComment: A free-text comment describing the work item.

  7. CreationSource: How the work item was created (e.g. User, Sync, RulesEngine, Configuration).

  8. CompletionSource: How the work item was completed (e.g. User, Sync, RulesEngine, Configuration, StatusDeleted).

  9. SnoozedUntil: The date/time the work item is snoozed until; empty when not snoozed.

  10. ProcessName: The name of the process/workflow tag this work item belongs to. The literal text 'No Process' when there is no associated process.

  11. ProcessIsDefaultBillable: The default billable flag for the process/tag — not the actual billable state of logged time. For whether time was billed, use the IsBillable field on each ActualTimes entry.

  12. StatusName: The free-text status name (exact, case-sensitive). Canonical values include 'New', 'In Progress', 'Completed' and 'Snoozed'. A completed work item has StatusName == 'Completed' (note the trailing 'd', not 'Complete').

  13. IsResolved: The resolution state as text (not a true/false value). Exactly 'Resolved' or 'Unresolved'.

  14. EstimatedTimeMins: The estimated effort for this work item in minutes. Only work items with an estimate greater than 0 are in scope for this data area.

  15. EstimatedTimeHours: The estimated effort in hours (equal to EstimatedTimeMins divided by 60).

  16. CreationTime: The date/time the work item was created.

  17. LastDetectedTime: The date/time the underlying issue was last detected; empty if never re-detected.

  18. AssignedTime: The date/time the work item was assigned to its current assignee; empty if never assigned.

  19. LastModificationTime: The date/time the work item was last modified; empty if never modified.

  20. LastViewedTime: The date/time the work item was last viewed; empty if never viewed.

  21. CompletionTime: The date/time the work item was marked complete (set when StatusName becomes 'Completed'); empty if not completed.

  22. ResolvedTime: The date/time the work item was resolved (the underlying issue's fixed time); empty if not resolved. This is distinct from CompletionTime — completed and resolved are different states.

  23. DueDate: The date/time by which the work should be completed; empty if there is no due date. A work item is overdue when DueDate is in the past and CompletionTime is empty.

  24. CreatedByUserEmail: The email of the user who created this work item (the author, not the assignee).

  25. CreatedByUserName: The name of the user who created this work item (the author, not the assignee).

  26. AssignedToUserEmail: The email of the current assignee. Use this for 'work assigned to me' and per-assignee totals.

  27. AssignedToUserName: The name of the current assignee. Use this for grouping or counting work per assignee.

  28. LastViewedByUserEmail: The email of the user who last viewed the work item.

  29. LastViewedByUserName: The name of the user who last viewed the work item.

  30. LastModifiedByUserEmail: The email of the user who last modified the work item.

  31. LastModifiedByUserName: The name of the user who last modified the work item.

  32. CompletedByUserEmail: The email of the user who completed the work item; empty if not completed.

  33. CompletedByUserName: The name of the user who completed the work item; empty if not completed.

  34. TaskStepNumber: For task-type work, the step number within the task.

  35. TaskSubTasks: For task-type work, the list of sub-tasks.

  36. TaskTemplateStartDate: For recurring task templates, the start date of the template.

  37. TaskTemplateRecurringPeriod: For recurring task templates, how often the task recurs (e.g. Daily, Weekly, Monthly, Quarterly).

  38. TaskTemplateRecurringEndType: For recurring task templates, how the recurrence ends (e.g. Never, AfterOccurrences, OnDate).

  39. XBertAmount: The financial impact detected by the underlying XBert, in ledger currency. Only populated for XBert-type work items (0 for Tasks and Agents). This is not a billing or time value.

  40. XBertBusinessName: The business/contact name associated with the underlying XBert detection; populated for XBert-type work items only.

  41. XBertBusinessNumber: The business identifier (e.g. ABN) associated with the underlying XBert detection; populated for XBert-type work items only.

  42. XBertMatchReason: The reason text explaining why the underlying XBert fired; populated for XBert-type work items only.

  43. XBertAccountCode: The ledger account code associated with the underlying XBert detection; populated for XBert-type work items only.

  44. XBertAccountName: The ledger account name associated with the underlying XBert detection; populated for XBert-type work items only.

  45. XpmJobId: The id of the linked XPM job, if any.

  46. HasXPMJobLinked: Indicates whether the work item is linked to an XPM job.

  47. WasUnlinkedFromXpmJobTask: Indicates whether the work item was previously unlinked from an XPM job task.

  48. ClientName: The name of the client the work item relates to.

  49. AccountingType: The accounting method used for the client (e.g. Accrual or Cash).

  50. IsPriority: Indicates whether the work item is flagged as a priority.

  51. ActualTimes: A list of time-tracking entries logged against the work item. Each entry represents one logged work session.

    • ActualTime

      • StartTimeUTC: The UTC start time of this individual time entry.

      • IsBillable: Whether this individual time entry is billable (may be empty when unknown). Billable time is the sum of ActualTimeSecs across entries where IsBillable is true.

      • ActualTimeSecs: This entry's logged time in seconds. For minutes divide by 60; for hours divide by 3600.

      • ActualTimeMins: This entry's logged time in minutes (equal to ActualTimeSecs divided by 60).

      • ActualTimeComment: A free-text comment recorded against this time entry.

      • ActualTimeCreatedByUserEmail: The email of the user who recorded (logged) this time entry.

      • ActualTimeCreatedByUserName: The name of the user who recorded (logged) this time entry.

      • ActualTimeCreatedForUserEmail: The email of the user profile the time is attributed to (the person who did the work). May differ from who logged it; use this for per-profile time analysis.

      • ActualTimeCreatedForUserName: The name of the user profile the time is attributed to (the person who did the work). May differ from who logged it.

      • HasNotificationComment: Indicates whether the time entry has an associated notification comment.

      • XpmTimeSynced: Whether the time entry was synced to XPM.

      • XpmJobTaskName: The name of the XPM job task the time entry is associated with, if available.

  52. TotalActualTimeSecs: The total actual time logged against this work item, in seconds (the sum of every ActualTimes entry's ActualTimeSecs). For hours divide by 3600. 0 when no time has been logged.

📝 Example Alerts

Find tasks with no actual time recorded.
Detect tasks that are overdue but have no time logged.
Find work items where actual time was recorded by a user different from the assigned one.
Which tasks went over the estimated time?
Find tasks where actual time exceeds estimated time by more than 20%.
Detect tasks where estimated time is missing but actual time is present.
Alert me when a task has a time entry from a user who is not the assignee.
Alert me when more than 4 hours of time is logged on a task within 24 hours of its due date.
Did this answer your question?