Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi. i am currently working on cretaing a dataset with call information from Teams. I am using Graph API and os far i've managed to:
1. extract data regarding the call organizer as well as the duration of the call etc.
2. extract data regadring participants of the call, so the name of the participants.
The issue is that I need to separately extract particiapnts informaiton for each call ID and then import everything into a dataset. So I need to iterate over each call ID to extract the participant info. All of this is done in ADF.
Looking at the participant api: https://learn.microsoft.com/en-us/graph/api/callrecords-callrecord-list-participants_v2?view=graph-r... ,it needs to be called for each call recording from what I can see, so you would need to retrieve call recording IDs and then iterate over them using the participant api inside a for each loop.
You can't collect outputs from a copy task so as well as the copy task for call records you would need to get the call record IDs separately. You have some options here - run a web activity to call the call records api a second time to retrieve the call record IDs or get the call IDs from the file / table you populated from the call records copy task.
You then need to construct the participant api using the contents of your for each. The api is `/communications/callRecords/{id}/participants_v2` so an expression that is something like `@concat('/communications/callRecords/',item().id,'/participants_v2') could be produced for the copy task url, assuming that the Id is labelled as id in the payload you are iterating over.
Some other things to consider - if you use a second web activity you need to consider that the copy task and the web activity will run at different times and potentially returning different results so I'd be inclined to use the filter to control what is returned by both activities (https://learn.microsoft.com/en-us/graph/api/callrecords-cloudcommunications-list-callrecords?view=gr...). You could also reduce the size of the web activity payload by using the $select filter to just return the id.
Hi @faaz ,
Thanks for sharing your question in Microsoft Fabric Community.
Since your query is specific to Azure Data Factory, I suggest posting it in the ADF communities where experts in that area can provide more targeted guidance:
Azure Data Factory - Microsoft Q&A
Azure Data Factory | Microsoft Community Hub
Please reach out here if you have anything related to Fabric or Power BI.
Thank you.