Graph CallRecords

New Contributor



I'm trying to find a way to get Teams Call Queue calls waiting time (how much time the caller waits on the queue before an agent took the call).


By using the Get CallRecord method I was able to get details about regular Teams calls by call ID -



I was wondering if I can do the same with Call Queue\Auto Attendant calls and try to figure out the waiting time with the data I will get.

I know 3rd party tools, which gives the details I'm looking for,  using Graph webhook subscription - so I'm pretty sure I can get this data too, just can't find out how.


Any suggestions would be appreciated. 



8 Replies

@Ranra145 Currently this is not possible, you can raise an uservoice for this.

@Varaprasad-MSFT ... I would raise a user voice for this myself, but could you elaborate on what it is that’s not possible?  What information about call queues or auto attendants is and is not available in graph?  Thank you.  

Yeah, I'd love to know how third party paid applications are able to extract this kind of information because it seems like direct Teams customers are not able to via Graph...
Thanks for reaching out.
Currently this feature is not available and it will be in the queue of the future implementation based on the user voices.

@Varaprasad-MSFT so it's available for integrators who charge for their services to your customers, but not directly for your customers?

It's very clear, by performing some trivial investigation, that this information is available in third party subscription solutions. I think what we're all asking in this thread is how they're getting this data and why we (your customers) can't do the same.


To tell us it's 'not available' is misleading at best.

@Varaprasad-MSFT would you like to provide a response to my previous comment with some helpful details on how third party vendors get these details and why Microsoft customers can't?

@jameskirsop -  Currently we do not have Graph APIs to provide reporting information on Call Queue feature in Microsoft Teams. We have this items in our backlog.


The reporting from 3rd party is coming from their own solution and not Microsoft Graph APIs. All call handling from the "queue" point of view are performed by 3rd party solution. Using presence API, 3rd party solution then routes the call to Teams users.

Hi @Wajeed-MSFT, thanks for your response. The frustration I (and it seems others I've talked to) are facing in relation to this particular problem are numerous. For example, consider the following points.

The CallRecords Endpoint / Webhook subscription is painful to use and can not be trusted for reasons including:

  • For calls known to have arrived via a queue, the call record doesn't always include the queue information a call came in on, and if it did, I've personally seen examples (in the past) of it being inaccurate
  • We have seen Call Records that suggest a particular person (or in some instances, multiple people!!!!!!?????) answered a call, but they have no record of that call in their Teams Call History
  • Call Records within the returned JSON object aren't ordered in sequence based on their timestamps, making parsing and analysis difficult to a casual observer


Microsoft have a queue feature built in to Teams but no way of reporting on it. This feature should have not shipped without being able to accurately report on the length of a queue, or how long someone is waiting in a queue. This is critical information to drive continual staff improvement and development for organisations using the feature. We should not have to rely on third party solutions to offload call routing just for the sake of getting access to reports.

I look forward to your response to these points.