The getAllTranscripts resourceData.id from the field report is a base64url blob whose DECODED payload ends in "-TranscriptV2" while the encoded form contains no readable marker, so the substring heuristic in looks_like_transcript_id missed it. Add a best-effort base64 decode hint so degraded notifications (no @odata.id) are still refused with the clear guidance error instead of a cryptic Graph 400.