Thank you for your response.
I would like to explain our complete scenario and what we are trying to achieve.
Current Architecture
Phase 1 Implementation
During Phase 1 of the project, we developed a Copilot Studio agent that uses manual authentication to connect with Workday. The integration is required to enable users to:
We are not using the out-of-the-box Workday connector because it does not meet our functional requirements. Instead, we implemented a custom authentication mechanism using SAML-based authentication. As part of this setup, Workday was configured as an Enterprise Application in Azure with SAML Single Sign-On (SSO) enabled.
New Requirement
As part of our next phase, we want to move away from manual authentication and leverage Microsoft authentication. To achieve this, we started implementing the On-Behalf-Of (OBO) flow using a Custom Connector, following the Microsoft documentation below:
https://learn.microsoft.com/en-us/microsoft-copilot-studio/advanced-custom-connector-on-behalf-of
After completing the configuration, we created a connector definition that invokes one of the Workday APIs.
Issues Encountered
Issue 1: Invalid Access Token
When using the OBO approach to connect directly to Workday, we received an "Invalid Access Token" error.
Upon inspecting the access token, we found that the aud (audience) claim was set to:
apihub.azure.com
instead of the expected Workday audience.
Issue 2: OBO Exchange Through Azure Function
Based on your recommendation, we introduced an Azure Function as a middleware API and attempted to perform the OBO token exchange within the Azure Function.
Below are the details of our configuration:
-
Is the Azure Function protected by its own Entra ID App Registration/Application ID URI?
-
Is the Custom Connector configured to request a token for the Azure Function's audience?
-
What is the exact AADSTS error returned during the OBO exchange?
While performing the OBO exchange, we receive the following error:
AADSTS399274: The application with App ID 'xxxxxxxxxxx' is configured for SAML SSO and could not be used with non-SAML protocol. Trace ID: xxxxxxxxxxxxxxx Correlation ID: xxxxxxxxxxxx Timestamp: 2026-06-04 11:31:27Z
Could you please help us understand whether our overall approach is valid for a Workday integration that currently relies on SAML SSO, and what changes would be required to successfully implement the OBO flow?