Before you begin
- Start the Orchestrate ADK Install the watsonx Orchestrate Developer Edition with the ADK and activate your watsonx Orchestrate instance. For detailed instructions, see Using your watsonx Orchestrate account and Activating an environment.
Setting the connection between Workday and watsonx Orchestrate
You can configure Workday connection in two ways: The configuration with file is the recommended approach.Configuring the Workday connection with file
Follow the steps to create and import the file:-
Create a configuration file and name it as
connections.yaml
. -
Insert the following code into the
connections.yaml
file.YAML -
Replace the following values:
<workday-app-id>
- The ID of the Workday web page that hosts the embedded chat.{tenant-id}
- The tenant ID of the Microsoft Entra.
-
Run the commands to import the
connections.yaml
file. See Creating connections for more information.
Configuring the Workday connection with CLI commands
Follow the steps to set the connection:-
Enter the following code in the terminal:
BASH
-
Replace the following values:
<workday-app-id>
- The ID of the Workday web page that hosts the embedded chat.<env>
- The environment type, draft or live.<token-url>
- Token URL provided in your Workday API registration.
Configuring the identity provider as Entra ID
-
Enter the following code in the terminal:
Note: If you are using IBM Security Verify as your identity provider, you need to specify only theBASH
grant_type
. You can remove therequested_token_use
andrequested_token_type
from the code. -
Replace the following values:
<workday-app-id>
- The ID of the Workday web page that hosts the embedded chat.<env>
- The environment type, draft or live.{tenant-id}
- The tenant ID of the Microsoft Entra.<entra-client-id>
- The Client ID of the Microsoft Entra.<entra-client-secret>
- The Client Secret of the Microsoft Entra.
Importing tool
You need to import your tool with the Workday application to watsonx Orchestrate. You can use theorchestrate tools import
command with the --app-id
flag to associate the Workday connection with the tool. See the steps:
-
Run the command according to the tool file type:
Python
YAML (OpenAPI tools)BASHBASH
-
Replace the following values:
<workday-app-id>
- The ID of the Workday web page that hosts the embedded chat.<path-to-file>
- The path, name, and extension of the file
Configuring the Workday OAuth credentials
-
Enter the following code in the terminal:
BASH
-
Replace the following values:
<workday-app-id>
- The ID of the Workday web page that hosts the embedded chat.<env>
- The environment type, draft or live.<client-id-workday>
- Client ID provided in your Workday API registration.<token-url>
- Token URL provided in your Workday API registration.
Adding watsonx Orchestrate web chat to your application
After the configuration is complete, embed the watsonx Orchestrate web chat to your web page or application. For detailed instructions on embedding the web chat, refer to Enabling Secure Embed Flow. To enable SSO, in addition to the embed instructions, complete the following steps:- Create the
createJWT.js
andembed.html
files. You can use the examples that are provided in the following tabs as templates for each file. - Save these files in your watsonx Orchestrate repository.
- createJWT.js
- embed.html
JAVASCRIPT
<wo_tenant_id>
and <sso_token>
with appropriate information.Parameter | Description |
---|---|
<wo_tenant_id> | Your watsonx Orchestrate tenant ID. |
<sso_token> | The SSO token obtained from the Entra ID. |
BASH
Testing the integration
To test the integration, sign in and interact with Workday through embedded chat.- Log in to the web page or application that hosts the embedded chat using your own credentials.
- Start the watsonx Orchestrate chat widget.
- Ask a Workday related query in the embedded chat.
Result
If the SSO authentication is correctly configured, the Workday returns a JSON response with the requested data.Troubleshooting
Issue | Possible cause | Resolution |
---|---|---|
401 Unauthorized | Invalid SAML assertion or client credentials | Check your app’s API client credentials |
invalid_grant | Redirect URI mismatch | Verify your IDP app settings |
No response in embedded chat | Chat not embedded correctly | Verify the script and app ID |