How to get duration of the time user spent on an email or reading document?

Mary 0 Reputation points
2025-12-04T19:29:21.5866667+00:00

Is there a way to measure the duration a user spends reading an email or viewing a document through Microsoft Graph or other Microsoft 365 APIs?

Outlook | Windows | New Outlook for Windows | For business
0 comments No comments
{count} votes

3 answers

Sort by: Most helpful
  1. Q&A Assist
    2025-12-04T19:29:30.2633333+00:00
    AI generated content. This question contains an answer created with AI from Q&A Assist. Learn more

    To get the duration of time a user spent on an email or reading a document, you can refer to the estimated time values provided for email activities. For emails, the system estimates:

    • 2.5 minutes to read an email.
    • 5 minutes to write an email.

    However, specific tracking of time spent reading documents may not be directly available in the same way as email activities. The duration for email interactions is typically calculated based on these estimates, and actual tracking may depend on the email engagement features utilized in your email client.

    For more detailed tracking, consider using tools or features that provide analytics on user interactions with emails or documents, such as engagement metrics available in Microsoft 365 reports.


    References:

    0 comments No comments

  2. Vy Nguyen 7,575 Reputation points Microsoft External Staff Moderator
    2025-12-04T20:27:37.8733333+00:00

    Hi @Mary

    Thank you for posting your question in the Microsoft Q&A forum.   

    Based on your description, you want to determine the duration a user spends reading a specific email or document in New Outlook. We truly understand your goal and appreciate the effort you have taken to investigate and explain the requirement. 

    Currently, Outlook does not include a feature that tracks or records the duration of time a user spends reading an email or viewing a document. This design focuses on privacy and compliance with organizational data policies, ensuring user activities such as email open time or reading duration are not monitored. While Outlook activity may sync with the Microsoft 365 audit logs, those logs only show when an item was accessed, not how long it remained open.

    Below are some workarounds that suit for your situation: 

    1. Use Viva Insights to view aggregate time spent on email and documents at a summary level. 
    2. For email reading confirmation, enable read receipts or delivery reports to know whether a message was opened. This does not provide duration. 
    3. For file engagement, open OneDrive or SharePoint, select the file, choose Details, and review Activity for views, edits, and timestamps. 
    4. In the Microsoft 365 admin center, go to Reports → Usage to export Email activity and SharePoint reports for trend analysis. 
    5. If compliance logging is required, enable Microsoft Purview Audit to capture file access events and correlate timestamps for an approximate indicator. 

    Alternatively, as a forum moderator, I hope you understand that I don’t have the ability to modify or escalate product issues directly. However, I strongly recommend submitting your feedback through the Outlook · Community. This is the most effective way to ensure your voice reaches the product team and can be considered about how company-only contacts are handled in search results, with potential improvements being considered for future improvements.   

    You've clearly identified a real-world challenge, and your suggestion reflects a deep understanding of user needs - feedback like yours is truly valuable and helps shape the future of Microsoft team. 

    Sharing your experience through this channel is one of the most effective ways to advocate for improvements that benefit both you and the broader community.      

    User's image Once you’ve submitted your feedback, feel free to share the link here. I’d be happy to upvote it to help increase its visibility.       

    Additionally, many users have raised similar concerns but may not know where to provide feedback. If my response has helped clarify the situation and guide you toward a next step, please consider marking it as the “Accepted Answer.” Doing so will pin this post to the top, making it easier for others facing the same issue to find and support your feedback.    

    Thank you again for being part of the Microsoft Q&A community. If you have any further questions or updates, feel free to reply here. I’ll be happy to assist further.    


    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".   

    Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread. 

    0 comments No comments

  3. Mary 0 Reputation points
    2025-12-04T20:45:26.5266667+00:00

    Hi Vy,

    Thank you for your detailed response. I appreciate the clarification about individual email/document duration tracking not being available.

    However, I wanted to follow up because during my investigation, I discovered that the Microsoft Graph API does provide duration data, but at an aggregate level rather than per-email or per-document.

    I successfully accessed the /beta/me/analytics/activityStatistics endpoint with the Analytics.Read permission, and it returns daily activity statistics including:

    • Email Activity Statistics (emailActivityStatistics):
      • readEmail: Total time spent reading emails per day (ISO 8601 format, e.g., "[Moderator note: personal info removed]")
      • sentEmail: Total time spent sending emails per day
      • duration: Total email activity time per day
      • afterHours: Time spent after hours
    • Other Activity Types:
      • Focus time, Meeting time, Chat time, Call time

    The API returns data like this for each day:

    {
      "@odata.type": "#microsoft.graph.emailActivityStatistics",
      "activity": "Email",
      "startDate": "2025-11-26",
      "endDate": "2025-11-27",
      "readEmail": [Moderator note: personal info removed]"
      "sentEmail": [Moderator note: personal info removed]"
      "duration": [Moderator note: personal info removed]"
    }
    

    You're correct that individual email/document duration is not tracked. However, the activityStatistics API provides aggregate daily duration for email reading and document activities.

    Could you please clarify:

    1. Is the /beta/me/analytics/activityStatistics endpoint the recommended way to get duration data for email/document activities?
    2. Is there any way to get more granular data (e.g., per-email or per-document) that I might have missed?
    3. If not, is the aggregate daily data the best available option for understanding time spent on emails/documents?

    This aggregate data is still very useful for time tracking purposes, even if it's not at the individual item level. I wanted to confirm this is the intended/available approach.

    Thank you again for your help!


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.