Set Up Sana From Workday for Gemini Enterprise
- In Workday:
- Review setup considerations for Agent System of Record. See Setup Considerations: Agent System of Record.
- Configure tenant security access for the Self-Service Agent. See Set Up Security for Workday Everywhere Using Self-Service Agent.
- ASOR Admin permissions in theSecurity Configurationdomain in the System functional area.
- In Gemini Enterprise:
- Verify that you have administrative permissions for the Google Cloud Console project and an active Gemini Enterprise account with 1 of these Identity and Access Management (IAM) role combinations on the Cloud Billing account:
- roles/billing.admin. See Billing Account Administrator.
- roles/billing.user. See Billing Account User.
- roles/consumerprocurement.orderAdmin. See Consumer Procurement Order Administrator.
If you don't have the required roles, request access from a Billing Administrator or Organization Administrator. See Access control with IAM. - Verify your Google Cloud Billing account and share it with Workday to receive the private offer.
- Access the private offer link sent by Workday in an email.
- Accept the private offer in Google Cloud Marketplace. See Cloud Billing access control and permissions.
Sana from Workday in Gemini Enterprise enables workers to interact with Workday through conversational AI in Google Cloud. Workers can use the chat interface to find information, complete certain tasks, and get support without accessing Workday.
Examples:
- Change my marital status.
- How much vacation time do I have?
- Help me optimize my time off for the year.
- Register the API Client in Workday
- Access theRegister API Clienttask.Security:Security Administrationdomain in the System functional area.
- Enter these values:OptionValueClient NameGemini Enterprise SetupClient Grant TypeAuthorization Code GrantAccess Token TypeBearerRedirection URIhttps://www.google.comRefresh Token Timeout (in days)30Scope (Functional Areas)Agent System of RecordInclude Workday Owned ScopeSelect
- ClickOK.
- Record the client ID and client secret generated by Workday.
- Generate the Access Token and Create the 3P Agent Definition
- Enter this URL in a new browser tab to request an authorization code:https://<agent-gateway-hostname>/auth/authorize/<tenant-alias>?client_id=<client-id>&response_type=codePlaceholderValue<agent-gateway-hostname>The regional endpoint for your tenant. See Regional Availability of Agent Gateway.<tenant-alias>Your tenant alias.<client-id>The Client ID you copied after registering the API client.
- Sign in to Workday as a user with access to theSetup: Agentdomain and copy the authorization code from the URL response.
- Call the/tokenendpoint using your terminal or API client to retrieve the access token.You can run the Get Token request in the provided Postman/Bruno collection, or you can copy this curl and paste it into your terminal.curl --request POST \ --url https://<agent-gateway-hostname>/auth/oauth2/<tenant-alias>/token \ --header 'content-type: application/x-www-form-urlencoded' \ --data 'grant_type=authorization_code&code=<auth-code>&client_id=<client-id>&client_secret=<client-secret>'You can also download the Gemini-3P-Agent-Setup.zip file to use the curl command and demo video.
- Replace the placeholders with these values:PlaceholderValue<agent-gateway-hostname>The regional endpoint for your tenant. See Regional Availability of Agent Gateway.<tenant-alias>Your tenant alias.<client-id>The client ID you copied after registering the API client.<client-secret>The client secret you copied after registering the API client.<auth-code>The value you copied after requesting the authorization code.
- Record theaccess_tokenfrom the response.
- Call the/asor/v1/agentDefinitionendpoint to create the 3P Agent Definition request.You can run the Create 3P Agent Definition request in the provided Postman/Bruno collection or copy this curl and paste it into your terminal:curl --request POST \ --url https://<agent-gateway-hostname>/asor/v1/agentDefinition \ --header 'authorization: Bearer <bearer-token>' \ --header 'content-type: application/json' \ --header 'wd-agent-tenant-alias: <tenant-alias>' \ --data '{ "name": "Gemini Enterprise", "description": "Gemini Enterprise 3P Agent that can invoke agents via A2A", "url": "https://console.cloud.google.com/gemini-enterprise/apps", "documentationUrl": "https://docs.cloud.google.com/gemini/enterprise/docs", "provider": { "id": "Provider=Self-Built" }, "iconUrl": "https://cdn1.iconfinder.com/data/icons/material-design-icons-light/24/link-variant-512.png", "version": "1.0.1", "capabilities": { "streaming": false, "pushNotifications": false, "stateTransitionHistory": false }, "platform": { "id": "b49b32cfdbef10002184b61535490000" }, "defaultInputModes": [{ "type": "text/plain" }], "defaultOutputModes": [{ "type": "text/plain" }, { "type": "application/json" }], "skills": [{ "id": "ssa-agent-as-a-tool", "name": "Sana Self-Service Agent", "description": "Connects to Sana Self-Service Agent", "tags": [{ "tag": "hr-operations" }], "inputModes": [{ "type": "text/plain" }], "outputModes": [{ "type": "text/plain" }, { "type": "application/json" }] }], "workdayConfig": [{ "skillId": "ssa-agent-as-a-tool", "executionMode": { "id": "Mode=Delegate" }, "workdayResources": [{ "tool_name": "Sana Self-Service Agent", "description": "Connects to Sana Self-Service Agent", "agent_resource": { "id": "6bfadd7c014610000dffae8d77c00000" } }] }] }'You can also download the Gemini-3P-Agent-Setup.zip file to use the curl command and demo video.
- Replace the placeholders with these values:PlaceholderValue<agent-gateway-hostname>The regional endpoint for your tenant. See Regional Availability of Agent Gateway.<tenant-alias>Your tenant alias.<bearer-token>Theaccess_tokenyou just recorded.
- Configure and activate the agent in Workday.
- Access theAgent Management Hubreport.
- Select theAgent Registrytab, and clickGemini Enterprise.
- ClickConfigure Agent.
- Complete the agent configuration:OptionDescriptionStatusSelect to activate the agentAvailable ToSelect the security groups that require access to the skill.
- ClickSave.
- EnterRedirect URI:https://nw.myworkday.com/api/a2a_callbackand clickOK.
- Record the client ID and client secret.
- ClickActivate, and then clickActivateagain on the pop-up.
- Add and configure the agent in Gemini Enterprise.
- Open Gemini Enterprise in your Google Cloud project.
- ClickCreate App.
- In theAgentssection, selectAdd Agent>Agents via Marketplace.
- SelectSana from Workday Agentand clickNext.
- In theAgent Authorizationsection, complete the configuration using the client ID and client secret from Workday.OptionValueClient IDThe client ID you copied after registering the API client.Client SecretThe client secret you copied after registering the API client.Auth URLhttps://nw.myworkday.com/api/a2a_authorizeToken URLhttps://nw.myworkday.com/api/a2a_tokenPKCE Verification EnabledSelect
- On theAgentstab, clickSana from Workdayand clickUser Permissions.
- ClickAdd Userand select the applicable users or groups. Example:All usersor a pilot group.
- From theAssign Roleprompt, select Agent User and clickSave.
- Open the Gemini application, selectSana from Workdayon theAgentstab, and start a chat session.
- When Workday prompts you to authorize the connection clickAuthorize.
- Enter your WorkdayTenant Aliasand clickContinue.
- Sign in to your Workday account.