Forum Discussion
Retrieve all Teams transcripts a bot has attended to using Graph API
Hi there,
I've been struggling for a lot of time trying to get this done. Has anyone been able to achieve something like this ?
I wanted to :
1- Get all the meetings and transcripts of the tenant
2- Filter on those where the bot was attending
3- Get the transcripts when available.
4- Add rules to restrict the bot's access
Right now I am stuck with the OAuth :
The application 'bot-transcript' asked for scope 'OnlineMeetings.Read.All' that doesn't exist on the resource '00000003-0000-0000-c000-000000000000'.
But this permission was added, and really seems to exist. Right ?
Thanks in advance for any kind of help you could give me.
1 Reply
Hi, the OAuth error is usually a sign that the permission is being requested in the wrong flow, not necessarily that the permission does not exist.
If this is an app-only/background process, do not request `OnlineMeetings.Read.All` as a delegated `scope` during sign-in. For client credentials, admin-consent the application permissions in Entra ID, then request the token with `https://graph.microsoft.com/.default`. Also check the transcript permissions specifically, because meeting metadata and meeting transcripts are not always covered by the same permission set.
For the design, I would avoid trying to discover every transcript tenant-wide and then filter after the fact. A more reliable pattern is to have the bot store the meeting IDs/thread IDs it joins, then use Graph to fetch transcript data for those known meetings where permissions allow it. If you need to restrict access, look into application access policies or resource-specific consent so the app is not broader than it needs to be.