Share via

GRAPH API : Value cannot be null. (Parameter 'source') for (/adhocCalls/getAllTranscripts)

Anonymous
2025-12-29T06:44:31.7166667+00:00

**Reference: **New capabilities in Microsoft Teams meeting artifacts! (https://github.com/MicrosoftDocs/msteams-docs/discussions/13752)

Goal : To get the Microsoft Teams PSTN Calls Transcriptions and Recordings without registering any subscriptions (notifications)

Permission Granted : CallRecordings.Read.All, CallTranscripts.Read.All on Application

ISSUE: Not able to get the adhocCallId required to get the call transcript/recording and when trying to use the /adhocCalls/getAllTranscripts getting error "Value cannot be null. (Parameter 'source')"

I have tried the following endpoints via POSTMAN using Application Token.

https://learn.microsoft.com/en-us/graph/api/adhoccall-getalltranscripts?view=graph-rest-beta&tabs=http

GET https://graph.microsoft.com/beta/adhocCalls/getAllTranscripts(userId={userId},startDateTime=2025-10-07T07:25:21.9730833Z,endDateTime=2025-10-07T07:25:52.4130833Z) 

RESPONSE { "error": { "code": "BadRequest", "message": "Resource not found for the segment 'adhocCalls'.", } }

From Github - https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/tab-adhoccalls-transcript-recording/nodejs/api-server/server.js#L35

GET https://graph.microsoft.com/beta/users/{userId}/adhocCalls/getAllTranscripts(userId='{userId}')

RESPONSE { "error": { "code": "BadRequest", "message": "Value cannot be null. (Parameter 'source')", } }

Questions

  • How can I correctly obtain the adhocCallId for PSTN calls?
  • Is there a supported way to retrieve PSTN call transcripts/recordings using only application permissions (without subscriptions)?
  • Are the /adhocCalls endpoints fully supported in beta or v1.0, or is there an alternative approach?
  • Will this functionality also work to give the transcriptions during calls (basically live transcriptions)?
Microsoft Teams | Development
Microsoft Teams | Development

Building, integrating, or customizing apps and workflows within Microsoft Teams using developer tools and APIs

0 comments No comments

3 answers

Sort by: Most helpful
  1. Kudos-Ng 15,050 Reputation points Microsoft External Staff Moderator
    2025-12-29T09:11:40.78+00:00

    Hi DG,

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

    I have carefully reviewed the references you linked and proceeded to test the endpoints. Here is the current status from my side:

    • Root function endpoint (from Microsoft’s example): GET https://graph.microsoft.com/beta/adhocCalls/getAllTranscripts(userId={userId},startDateTime=2025-10-07T07:25:21.9730833Z,endDateTime=2025-10-07T07:25:52.4130833Z) Although this matches the example in the documentation, my tests reproduce the same issue you reported, indicating the endpoint may not be valid/available at this time:
        {
        	"error": {
        		"code": "BadRequest",
        		"message": "Resource not found for the segment 'adhocCalls'."
        	}
        }
      
    • User‑scoped endpoint: GET https://graph.microsoft.com/beta/users/{userId}/adhocCalls/getAllTranscripts(userId='{userId}') Using the userId parameter in single quotes avoids the prior 400 BadRequest, but in my test environment it consistently returns 404 NotFound:
        {
        	"error": {
        		"code": "NotFound",
        		"message": "UnknownError",
        		"innerError": {
        			"date": "2025-12-29T08:20:15",
        			"request-id": "<GUID>",
        			"client-request-id": "<GUID>"
        		}
        	}
        }
      
      I have tried multiple approaches, including supplying both startDateTime and endDateTime together with userId, but the endpoint has not returned 200 OK. While this user‑scoped form appears syntactically correct, it still responds with 404 for reasons that are not visible to us here. But please note that the test account I used previously has only created online meetings; it has not placed PSTN calls (no PSTN subscription). It would be helpful if you could re‑test the endpoint in your environment where actual PSTN calls and transcription/recording policies are enabled, to see whether the behavior differs.

    Additionally, as these endpoints are in beta (not recommended for production), Microsoft may change usage patterns or temporarily pause features for maintenance without broad announcements. It is therefore plausible that backend changes or flighting are currently in progress for this functionality.

    Responses to your other questions:

    • Supported way to retrieve PSTN call transcripts/recordings using only application permissions (without subscriptions):
      Based on the information currently available, there is no alternative way to retrieve PSTN call transcripts/recordings using only application permissions, without subscriptions. The endpoints you referenced are the only approach for this scenario, and they are beta‑only at present.
    • Live transcriptions (during calls):
      This functionality does not provide live, in‑call transcription. The exposed APIs are designed for post‑call artifacts rather than real‑time streaming during a call.

    If this issue persists, I regret to inform you that this is a user‑to‑user support forum. Moderators, contributors, and external Microsoft employees participating here do not have access to backend systems or the ability to intervene directly in Microsoft product features. Our role is limited to offering technical guidance and sharing best practices based on reported issues, requests, or ideas.

    Therefore, I kindly recommend submitting a support ticket directly to Microsoft through your Azure portal so that you can obtain authoritative assistance or the most accurate status from Microsoft support agents.

    I hope the details above help clarify the current situation.


    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.

    1 person found this answer helpful.

  2. Jochen 0 Reputation points Microsoft Employee
    2026-03-17T22:47:22.7766667+00:00

    @Sayali-MSFT , thanks, just to state this more precisely:

    what does "Create a subscription for callRecords or communications/calls" mean?

    0 comments No comments

  3. Sayali-MSFT 5,521 Reputation points Microsoft External Staff Moderator
    2025-12-29T12:18:03.6066667+00:00

    Hello DG ,
    1. How can I correctly obtain the adhocCallId for PSTN calls?

    • The adhocCallId is generated for ad-hoc calls (calls without a scheduled meeting) and is typically available through call records or subscription notifications.
    • Unfortunately, Microsoft Graph does not currently provide a direct endpoint to list all adhocCallIds without subscriptions.
    • The usual flow:
      • Create a subscription for callRecords or communications/calls.
        • Capture the callId or adhocCallId from the notification payload.
        • Without subscriptions, there is no supported way to enumerate adhocCallIds at this time.

    2. Is there a supported way to retrieve PSTN call transcripts/recordings using only application permissions (without subscriptions)?

    • Currently, no. The /adhocCalls/getAllTranscripts endpoint is beta and experimental.
    • The official supported way:
      • Use callRecords API (/communications/callRecords) to retrieve call details.
        • Then use recording download URLs or transcript download URLs from the call record.
        • These require delegated or application permissions:
          • CallRecordings.Read.All
            • CallTranscripts.Read.All
            • But you still need the callId, which usually comes from a subscription or meeting context.

    3. Are the /adhocCalls endpoints fully supported in beta or v1.0, or is there an alternative approach?

    • /adhocCalls is only in beta and not fully supported.
    • It is primarily for Teams samples and experimental features.
    • Alternative approach:
      • Use callRecords API (stable in v1.0) for historical PSTN calls.
        • For scheduled meetings, use /communications/callRecords/{id}.

    4. Will this functionality also work to give the transcriptions during calls (basically live transcriptions)?

    • No, not via Graph API.
    • Live transcription is available in Teams UI and via Teams meeting policies, but Graph does not expose real-time transcription APIs.
    • You can only retrieve post-call transcripts after the meeting ends.

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.