Reports and analytics

How do I report on time spent at each workflow step?

Use the process Metrics report for averages, or query the ActivityInstance table in Analytics for per-item, per-step times.

How-to

Short answer: For step averages, use the process Metrics report. For each item's time at each step, build an Analytics dataview on the ActivityInstance system table.

Why it happens

  • Process reports show form fields, not a timeline of every step.
  • Analytics stores step activity in the ActivityInstance table, with when each step was assigned and acted on.

How to fix it

For an overview:

  1. Open the process and click Reports > Metrics.
  2. Open the Step performance tab for minimum, maximum and average time per step, or User performance for each assignee. See process reports.

For per-item, per-step detail:

  1. In Analytics, click Create dataview.

  2. Query the ActivityInstance table. This query lists each step, who acted, and the time taken in minutes:

    SELECT "_instance_id" AS "Item id", "_flow_name" AS "Process name",
      "ActedAt.value" AS "Acted at", "ScriptName" AS "Workflow step",
      ActedBy.value:Name::string AS "Acted by",
      ROUND("ActualTimeTaken", 2) AS "Timetaken mins",
      "IsSLABreached" AS "Is SLA Breached", "_status" AS "Status"
    FROM "ActivityInstance",
      TABLE (FLATTEN(input=>"ActedBy", outer => true)) ActedBy
    WHERE "_status" IN ('Completed', 'InProgress', 'Rejected')
  3. Click Run, then Publish, then create a report on the dataview.

  4. To filter by a form field such as priority, join ActivityInstance with the process table on the item ID.

Analytics rows don't link back to the item, so find the item by its ID. See creating a step performance report and the ActivityInstance table.

Important

Analytics is available only on the Enterprise plan. Without it, capture step times into form fields with an integration.

Related answers