Admin Guide Workday Studio
Admin Guide Workday Studio
Product Summary
September 2023
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | ii
Contents
Studio Fundamentals................................................................................ 12
Download and Install Workday Studio for Windows......................................................................... 12
Download and Install Workday Studio for macOS............................................................................14
Concept: Workday Studio..................................................................................................................15
Concept: Integration Development Lifecycle.....................................................................................18
Concept: MediationContext Object....................................................................................................18
Concept: Integration Systems and Events........................................................................................19
Reference: Interface Fundamentals.................................................................................................. 19
Integration Design..................................................................................... 21
Assemblies.........................................................................................................................................21
Create an Assembly Project...................................................................................................21
Add Steps to Components..................................................................................................... 21
Add Child Elements................................................................................................................ 22
Connect Assembly Elements..................................................................................................23
Configure Assembly Element Properties................................................................................23
Manage Collections and Projects...........................................................................................24
Declare Namespace Prefixes................................................................................................. 25
Create Path Variables............................................................................................................ 25
Concept: Assembly Palette.................................................................................................... 26
Concept: Components and Steps.......................................................................................... 28
Concept: Assembly Annotations.............................................................................................28
Concept: Linked Resource Files for Assembly Projects........................................................ 29
Concept: Quick Outline View................................................................................................. 29
Reference: Assembly Properties............................................................................................ 29
Reference: Swimlane Properties............................................................................................ 30
Reference: Connection Line Properties................................................................................. 31
Assembly Transports......................................................................................................................... 31
Use Enumerations as Launch Parameters in Studio............................................................. 31
Concept: Assembly Transports.............................................................................................. 32
Concept: Enumerations.......................................................................................................... 34
Reference: Workday-In Transport Properties.........................................................................34
Reference: Local-In Transport Properties.............................................................................. 36
Reference: Workday-Out-Rest Transport Properties............................................................. 37
Reference: Workday-Out-Soap Transport Properties............................................................ 39
Reference: Local-Out Transport Properties........................................................................... 40
Reference: HTTP-Out Transport Properties...........................................................................41
Reference: FTP-Out Transport Properties............................................................................. 45
Reference: FTPS-Out Transport Properties........................................................................... 49
Reference: SFTP-Out Transport Properties........................................................................... 53
Reference: XMPP-Out Transport Properties.......................................................................... 57
Reference: Custom-Out Transport Properties........................................................................59
Reference: Email-Out Transport Properties........................................................................... 61
HTTP-Out Transport Child Elements................................................................................................ 67
Concept: HTTP-Out Transport Child Elements...................................................................... 67
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | iii
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | iv
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | v
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | vi
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | vii
Integration Deployment...........................................................................289
Add a Connection............................................................................................................................289
Add a Group of Connections.......................................................................................................... 290
Edit a Connection............................................................................................................................291
Edit a Group of Connections.......................................................................................................... 291
Remove Connections...................................................................................................................... 292
Import Connections......................................................................................................................... 292
Export Connections......................................................................................................................... 293
Connect to Workday........................................................................................................................293
Deploy Integrations to Workday...................................................................................................... 294
View Deployed Integrations in Workday......................................................................................... 295
Concept: Studio Connections..........................................................................................................295
Concept: Cloud Explorer................................................................................................................. 295
Reference: Connection Errors.........................................................................................................296
Multifactor Authentication in Workday Studio................................................................................. 297
Enable Multifactor Authentication in Workday Studio.......................................................... 297
Integration Configuration........................................................................298
Assign an Integration System User Account to an Integration....................................................... 298
Concept: Integration System Security.............................................................................................299
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | viii
Studio Management.................................................................................325
Studio Preferences.......................................................................................................................... 325
Concept: Assembly Editor Preferences................................................................................325
Concept: Connections Preferences...................................................................................... 326
Concept: Deployment Preferences.......................................................................................326
Concept: HTTPS Preferences.............................................................................................. 326
Concept: Ivy Preferences..................................................................................................... 327
Concept: Linking Preferences.............................................................................................. 327
Concept: MVEL Validation Preferences............................................................................... 327
Concept: Packaged Integrations Preferences...................................................................... 327
Concept: Runtime Preferences............................................................................................ 327
Concept: Server Preferences............................................................................................... 327
Concept: Splash Screen Login Preferences........................................................................ 327
Concept: Status Bar Preferences.........................................................................................328
Concept: Update Preferences.............................................................................................. 328
Concept: XPath Explorer Preferences................................................................................. 328
Reference: Assembly Debug Runtime Preferences.............................................................328
Reference: Assembly Debug View Preferences.................................................................. 329
Reference: Cloud Explorer Preferences...............................................................................329
Reference: Consolidated Report Viewer Preferences..........................................................329
Reference: Java Project Settings Preferences.....................................................................330
Reference: Notification Preferences..................................................................................... 330
Reference: Process Monitor Preferences............................................................................ 331
Reference: Web Service Tester Preferences.......................................................................331
Studio Updates................................................................................................................................ 331
Update Studio....................................................................................................................... 331
Workday Assembly Runtime Changes............................................................................................332
Concept: Assembly Versions................................................................................................332
Reference: Version Changes at the Schema Level............................................................. 332
Reference: Version Changes at the XML Level...................................................................336
Reference: Saxon XSLT Processor Changes...................................................................... 338
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Contents | ix
Glossary....................................................................................................357
Glossary........................................................................................................................................... 357
Cross Application Services Glossary.............................................................................................. 357
Financial Management Glossary.....................................................................................................361
HCM Glossary................................................................................................................................. 363
Integration Glossary........................................................................................................................ 368
Payroll Glossary.............................................................................................................................. 369
Student Glossary............................................................................................................................. 370
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Setup Considerations: Workday Studio | 10
What It Is
Studio is an Eclipse™-based integrated development environment (IDE) that enables you to:
• Build custom integrations.
• Exchange bulk data with external endpoints.
• Upload integrations to Workday.
Studio is an external software application that you install separately from the rest of Workday.
Business Benefits
Studio improves productivity by enabling you to:
• Create integrations that support greater design flexibility than Enterprise Interface Builder (EIB) or
connector templates.
• Debug the XML source code of your custom integrations.
• Export and import large volumes of data through Workday.
• Transform large datasets into a specific format. Example: You can transform CSV datasets into XML
format.
Use Cases
You need:
• A custom integration that isn't available through EIB or connector templates. Example: An integration
that implements XML-to-text (XTT) transformations on a dataset.
• An inbound integration to import bulk data to Workday from multiple data sources.
• An outbound integration that exports bulk data from Workday in a specific format.
• To conduct unit tests on the XML source code of a custom integration.
Questions to Consider
Question Considerations
Does your organization have a long-term support If yes, you can install Studio using Oracle JDK 1.8.
agreement with Oracle?
If no, you can install Studio using OpenJDK 8.
Which platform are you using to install Studio? Install the appropriate installation file for your
platform:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Setup Considerations: Workday Studio | 11
Question Considerations
• MacOS (64-bit)
• Windows (32-bit)
• Windows (64-bit)
Have you attended training for Studio? Workday provides training for Studio through the
Workday Pro accreditation program on Workday
Community.
Workday encourages you to attend this training
program.
Recommendations
Workday recommends that you deploy and test your custom Studio integrations in your Preview Sandbox
environment before transferring them to your Production tenant.
Requirements
Studio integrations require a Java™ Development Kit (JDK) compatible with Java version 8. In addition, the
Eclipse IDE requires a JDK compatible with Java version 11. If you:
• Have a license agreement with Oracle, use Oracle JDK 1.8 and Oracle JDK 1.11.
• Don't have an agreement with Oracle, use OpenJDK 8 and OpenJDK 11.
Both JDKs are required.
Limitations
Studio integration output files can be a maximum of:
• 1 GB (compressed) for individual files.
• 3 GB (compressed) total for all files.
Tenant Setup
You can access the source code of Studio integrations by selecting the Require Source Code check
box on the Edit Tenant Setup - Integrations task in Workday. Accessing the source code of Studio
integrations enables you to identify bugs and improve efficiency.
Security
Consider setting up these domains in the Integration functional area.
Domains Considerations
Integration Build Deploy integrations from Studio to Workday.
Integration Configure Edit Studio integrations in Workday.
Integration Debug Debug Studio integrations in Workday.
Integration Event Launch Studio integrations in Workday.
Integration Security Create an integration system user (ISU) account for
your Studio integrations in Workday.
Business Processes
For Studio integrations, you can configure the:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 12
• Integration Process Event business process in the Integration functional area to control how an
integration runs.
• Integration business process step to launch an integration during a business process. Example:
You can add an integration step to the Complete Form I-9 business process. This step launches an
integration to send data for the worker in the business process.
Reporting
Workday provides these reports for Studio integrations:
Report Description
Integration Events Displays:
• A summary of integration events that are in
process or complete.
• The status of each integration event.
Studio Fundamentals
Context
Workday Studio is built on the Eclipse development platform. It comprises more than 150 Eclipse
plugins in addition to platform and third-party dependencies. To use it, you need 2 versions of the Java™
Development Kit (JDK):
• Eclipse requires a JDK compatible with Java version 11.
• The Studio runtime requires a JDK compatible with Java version 8.
Install both JDKs and then ensure that:
• Your Java Runtime Environment is set to Java 8.
• Your JDK compiler compliance level is set to Java 1.8.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 13
Steps
1. Download and install a JDK that's compatible with Java version 11. You can download the software
from Oracle or you can use the free open-source implementation, OpenJDK.
Source Notes
Oracle JDK 1.1 Requires a commercial license. You can
download the Oracle JDK 1.11 installer for your
operating system here.
OpenJDK 11 Doesn't require a commercial license. OpenJDK is
available from a number of sources. Example: you
can download the Zulu OpenJDK installer here.
2. Download and install a JDK that's compatible with Java version 8. You can download the software from
Oracle or you can use the free open-source implementation, OpenJDK.
Note: Studio requires a JDK that's compatible with Java 8 specifically, not Java 8 as a minimum.
Source Notes
Oracle JDK 1.8 Requires a commercial license. You can
download the Oracle JDK 1.8 installer for your
operating system here.
OpenJDK 8 Doesn't require a commercial license. OpenJDK is
available from a number of sources. Example: you
can download the Zulu OpenJDK installer here.
3. Download the Workday Studio for Windows installer.
4. To launch the installation, double-click the installation executable file. To install Studio in the C:
\Program Files folder, you must run the executable as an Administrator by right-clicking it and selecting
Run as Administrator.
Note:
You can use the Command Prompt application to run a silent Studio installation. In Command Prompt,
navigate to the directory where you saved the installation file and enter:
<Installation_Filename>.exe /S /J=<Java_Home> /D=<Installation_Directory>
where the argument:
• /S specifies silent installation.
• /J specifies the JDK 11 path.
• /RD installs Workday Report Designer.
• /D specifies the installation folder (this argument must be the last in the command).
Example: workday-studio-x86_64.exe /S /J=C:\Program Files\Zulu\zulu11.62.17-
ca-jdk11.0.18-win_x64 /D=C:\Studio
5. Read the license agreement, then select the terms acceptance check box. Click Next.
6. Browse to the directory where you wish to install Studio. Click Next.
7. Browse to the location of your JDK 11 installation and click Next. Example: of JDK installation locations:
C:\Program Files\Zulu\zulu11.62.17-ca-jdk11.0.18-win_x64.
8. If the JVM details are correct, click Confirm. Otherwise, click Back.
9. Select the Report Designer pack to install it alongside Workday Studio. You can also install Report
Designer later from within Studio.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 14
10.When Studio displays the Installation Complete message, click Next, then click Finish.
Note: Eclipse with Java 11 can't use a Workspace created by Eclipse with Java 8. On launch, you can
update your existing Workspace to make it compatible with Java 11. Alternatively, you can create an
entirely new compatible Workspace. Once you've updated your Workspace, you can't use it with earlier
versions of Studio.
11.To ensure that Java 8 is available as a Java Runtime Environment in Studio, navigate to its
Preferences panel:Window > Preferences > Java > Installed JREs
If Java 8 is missing, click Add and select Standard VM as the JRE Type. Specify the Directory where
you installed the JDK 8.
12.Ensure that the check box beside the Java 8 JRE is selected.
13.Check the Execution Environments for a perfect match: Window > Preferences > Java > Installed
JREs > Execution Environments
Select JavaSE-1.8 in the Execution Environments panel, then select the environment described as a
'perfect match' in the Compatible JREs panel.
14.In Studio's Preferences panel, navigate to Java > Compiler.
15.Under JDK Compliance, from the Compiler compliance level drop-down menu, select 1.8.
16.Click Apply and Close.
Context
Workday Studio is built on the Eclipse development platform. It comprises more than 150 Eclipse
plugins in addition to platform and third-party dependencies. To use it, you need 2 versions of the Java™
Development Kit (JDK):
• Eclipse requires a JDK compatible with Java version 11.
• The Studio runtime requires a JDK compatible with Java version 8.
Install both JDKs and then ensure that:
• Your Java Runtime Environment is set to Java 8.
• Your JDK compiler compliance level is set to Java 1.8.
Steps
1. Download and install a JDK that's compatible with Java version 11. You can download the software
from Oracle or you can use the free open-source implementation, OpenJDK.
Note:
Users of Apple silicon such as the M1 and M2 chipsets must use an x86_64 JDK. A JDK for ARM
processors won't work.
Source Notes
Oracle JDK 1.1 Requires a commercial license. You can
download the Oracle JDK 1.11 installer for your
operating system here.
OpenJDK 11 Doesn't require a commercial license. OpenJDK is
available from a number of sources. Example: you
can download the Zulu OpenJDK installer here.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 15
2. Download and install a JDK that's compatible with Java version 8. You can download the software from
Oracle or you can use the free open-source implementation, OpenJDK.
Note: Studio requires a JDK that's compatible with Java 8 specifically, not Java 8 as a minimum.
Source Notes
Oracle JDK 1.8 Requires a commercial license. You can
download the Oracle JDK 1.8 installer for your
operating system here.
OpenJDK 8 Doesn't require a commercial license. OpenJDK is
available from a number of sources. Example: you
can download the Zulu OpenJDK installer here.
3. Download the macOS Studio installer.
4. To launch the installation, open the installation .jar file.
5. Read the license agreement, then select the terms acceptance check box. Click Next.
6. Browse to the directory where you wish to install Studio. Click Next.
7. Browse to the location of your JDK 11 installation and click Next. Example: /Library/Java/
JavaVirtualMachines/zulu-11.jdk/Contents/Home.
8. If the JVM details are correct, click Confirm. Otherwise, click Back.
9. Select the Report Designer pack to install it alongside Workday Studio. You can also install Report
Designer later from within Studio.
10.When Studio displays the Installation Complete message, click Next, then click Finish.
Note: Eclipse with Java 11 can't use a Workspace created by Eclipse with Java 8. On launch, you can
update your existing Workspace to make it compatible with Java 11. Alternatively, you can create an
entirely new compatible Workspace. Once you've updated your Workspace, you can't use it with earlier
versions of Studio.
11.To ensure that Java 8 is available as a Java Runtime Environment in Studio, navigate to its
Preferences panel: Workday Studio > Preferences > Java > Installed JREs
If Java 8 is missing, click Add and select Standard VM as the JRE Type. Specify the Directory where
you installed the JDK 8.
12.Ensure that the check box beside the Java 8 JRE is selected.
13.Check the Execution Environments for a perfect match: Workday Studio > Preferences > Java >
Installed JREs > Execution Environments
Select JavaSE-1.8 in the Execution Environments panel, then select the environment described as a
'perfect match' in the Compatible JREs panel.
14.In Studio's Preferences panel, navigate to Java > Compiler.
15.Under JDK Compliance, from the Compiler compliance level drop-down menu, select 1.8.
16.Click Apply and Close.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 16
As with any other integrations in your tenant, you can launch, schedule, and audit the integrations you build
with Studio. You can launch Studio-created integrations from Studio itself or from the Workday application.
The target user for Studio:
• Has a development skill set.
• Is familiar with integration programming concepts.
• Is comfortable using an IDE.
The Studio platform has 4 principal components:
• The Studio IDE.
• Integrations, collections, and the Cloud Repository.
• The Workday application.
• Cloud Runtimes.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 17
Cloud Runtimes
When an integration launches, Workday:
• Generates an integration event.
• Retrieves the integration from the Cloud Repository.
• Assigns a protected set of processing resources called a Cloud Runtime.
• Executes the integration in the Cloud Runtime.
If Workday is unable to execute an integration, it updates the Process Monitor with an integration launch
status of Failed.
If Workday encounters a problem during execution, such as the unavailability of an external resource,
it terminates and updates the Process Monitor with an integration launch status of Completed with
errors.
Note: It's the integration developer's responsibility to deal with integrations marked as Completed with
errors.
Workday terminates integrations that take longer than 2 hours to execute. Developer-supplied Java code
can't, in general, read from or write to the file system or Java system properties. Developer-supplied Java
code can't spawn new Java threads.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 18
Phase Description
Integration Design In Studio, develop the assemblies that form your
integration. Optionally, create assembly modules,
which enable you to reuse and share integration
patterns and configurations.
Each assembly has at least 1 workday-in
transport, which denotes where execution begins.
Each workday-in transport can optionally define:
• Launch parameters, which enable a client to
pass information to the integration as input.
Example: A payroll integration might specify that
it requires 2 launch parameters: payPeriod
and payGroup. This enables the integration's
users to specify the month and employee group
to use when calculating payroll.
• Workday services that the assembly uses at
runtime. Workday provides generic integration
services for attribute mapping, sequence
generation, transaction logging, document
retrieval and delivery. It also provides a listener
service, a report service, and a custom object
service.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 19
• MediationMessage: an object containing the text or binary data message that Studio ultimately sends
to an external target using an out-transport.
• Variables: temporary holders for message data.
• Properties: a map of name-object pairs that assembly elements use for storing transient data outside of
a message.
All processing in assemblies involves either reading from or writing to the MediationContext.
Note: When you access the MediationContext object using MVEL, the accessor is context.
Example: context.getErrorMessage(). In Java, it's mediationContext. Example:
mediationContext.getErrorMessage().
Integration Systems
In Workday, an integration system is an abstraction of an integration with an external system or a Workday
endpoint. Integration systems provide the framework by which Workday launches and tracks integrations.
You can use an integration system to configure:
• Security: Specify who can launch the integration and what rights the integration has while executing.
• Notifications: Specify who gets notified as an integration executes.
• Parameters: You can parameterize the invocation of an integration. Example: you can configure the
endpoints and user credentials an integration needs to upload data to an external SFTP site.
• Triggers: You can configure the integration to be triggered:
• Manually.
• As part of a subscription.
• Using an API.
• On a schedule.
• As part of a Business Process.
Workday represents all integrations, regardless of their origin, as integration systems.
When you develop an integration using Workday Studio and deploy it to Workday, you automatically
register a new integration system for every workday-in transport in that integration.
Integration Events
When an integration launches, Workday creates an object called an integration event. This object is unique
to each invocation and contains an ID called an integration event ID. Workday uses this unique ID to track
all executing integrations. You can view integration events using the Process Monitor in Workday.
As well as creating an integration event object, Workday creates an integration event request message
and sends it to the integration. This request contains information about the integration system and the
integration event ID. It also contains values for any parameters supplied at launch time. The integration
can then use this information when requesting information from Workday Web Services. The integration
can also use this information to send update information back to Workday. Example: a status message that
tells the user that it has processed 100 employee records successfully. Workday adds these updates to the
integration event object.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Fundamentals | 20
View Description
Project Explorer Studio's project navigator. Displays projects saved
in the current workspace. Each folder contains all of
the relevant files for that project and references the
collections to which the project belongs.
Cloud Explorer Displays the integration cloud servers to which
Studio can deploy, as well as the currently
deployed collections. You can add connections
to multiple environments. If connection,
authentication, or authorization errors occur, Studio
displays an error or warning decorator on the
connection icon.
Palette Displays all the assembly components that you can
add. Features 3 tabbed subviews:
• Design: displays the assembly diagram.
• Source: displays the XML source.
• Message Builder: a graphical view that
simplifies defining the message content for
assembly elements such as the write step.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 21
Integration Design
Assemblies
Context
Assemblies define message-based integration processes consisting of annotations, transports, mediation
components, mediation steps, and error handlers.
Steps
1. Select File > New > Workday Assembly Project.
2. In the Project name field, enter a name for your project.
Project names must not contain spaces.
3. From the Target Runtime list, select Workday Runtime.
4. From the Configurations list, select 1 of these configuration options:
Option Description
Assembly Creates a simple assembly project.
Assembly (with Java support) Creates a project containing a Java facet.
Custom Enables you to specify the project facets for your
assembly project.
5. Click Next. Enter a Collection name.
The Collection name field automatically populates with your project name.
6. Click Finish to create your project.
Result
Your new assembly project displays on the Project Explorer view. It contains an assembly.xml file, which
you can now open in the Assembly Editor.
Next Steps
Using the Assembly Editor, you can define your integration by adding and linking transports, mediation
components, and mediation steps.
Prerequisites
Create an assembly project.
Context
Steps perform individual operations on a message as it passes through an integration. You can add steps
to async-mediation and sync-mediation components only.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 22
Steps
1. Open the assembly in the Assembly Editor.
2. Add an async-mediation or sync-mediation component to the assembly.
3. Drag a step from the Palette into your async-mediation or sync-mediation component. Place steps in
order of execution. As you complete the task, consider:
Result
Studio displays the new step within the component on the assembly diagram.
Next Steps
Configure the properties of the new step.
Prerequisites
Create an assembly project.
Context
Some assembly elements support child elements. Child elements are optional.
Steps
1. Open the assembly in the Assembly Editor.
2. Add an assembly element that supports child elements to the assembly diagram.
3. Hover your cursor over the title of the assembly element to display its child element options.
4. Click a child element option to add it to your assembly element.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 23
Result
Studio displays the child element on your assembly element.
Next Steps
Configure the properties of the child element.
Prerequisites
Create an assembly project.
Context
Connections between assembly elements define the path of a message through your assembly. You
can connect assembly elements using the Outgoing connection handle (blue square), or the Incoming
connection handle (orange square) in the Assembly Editor.
Steps
1. Open the assembly in the Assembly Editor.
2. Add 2 assembly elements to the assembly diagram.
3. Place your cursor over the title of the first assembly element to display its connection handles. Drag the
Outgoing connection handle (blue square) from the first assembly element to the second assembly
element.
4. Alternatively, place your cursor over the title of the second assembly element and drag the Incoming
connection handle (orange square) to the first assembly element.
Result
The message output from the first assembly element becomes the input for the second assembly element.
Prerequisites
Add assembly elements to an assembly diagram.
Context
Each element on the Workday Studio Palette has a Properties view where you can configure its
functionality.
Steps
1. Right-click an assembly element and select Show Properties View.
2. Required properties have an asterisk in the upper left-hand corner of the icon. As you complete the
task, consider:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 24
MVEL expressions.
MVEL templates.
Boolean values.
Options.
Numeric values.
Attribute values.
Note: When properties are MVEL-capable, the relevant MVEL icon is added to the property's own icon.
Example:
3. To compare property views:
a) Select a component in the assembly diagram.
b) Hold down the Ctrl key and select a second component.
c) Right-click either component and select Compare Properties. The first component's Properties
view displays on the left. The second component's Properties view displays on the right, and is
pinned to that selection. The view on the left changes when you select a different component.
4. In MVEL-capable property fields, press Ctrl+space to access content assist, a set of context-sensitive
code completion options.
Note: Content assist is only available in assembly projects that contain the Java facet.
Prerequisites
Create an assembly project.
Context
In Workday Studio, collections enable you to package and deploy multiple projects. A project always
belongs to at least 1 collection, and can be a member of multiple collections simultaneously.
Steps
1. Click Workday > Manage Collections.
If you expand a collection in the left window pane, Studio displays the projects it contains. Projects that
aren't a member of that collection display in the right window pane.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 25
Button Description
New Collection Adds a new collection to your workspace.
Rename Collection Renames the selected collection.
Remove Collection Removes the selected collection from your
workspace.
Add to Collection Adds the selected project to a collection.
Add All Integrations to the Collection Adds all projects to the selected collection.
Remove the Integration from Collection Removes the selected project from a collection.
Note: Ensure that all projects in a collection have the same assembly version. Otherwise, Studio
displays an error marker. You can configure the Version property value for the assembly on the
Properties view in the Assembly Editor.
3. Click Finish.
Prerequisites
Create an assembly project.
Context
In Workday Studio, namespace prefixes are abbreviations with predefined URI values. You can declare
namespace prefixes to refer to specific URI values in your assemblies.
Steps
1. Open an assembly in the Assembly Editor.
2. Right-click on the background of the assembly diagram, and select Show Properties View.
3. Click the Namespace Prefixes tab.
4. Click Add to add a new namespace prefix. As you complete the task, consider:
Option Description
Prefix Enter a prefix name here.
Namespace Enter the namespace URL here.
5. To edit your new namespace prefix, click Edit.
6. To remove your new namespace prefix, click Remove.
Result
The namespace prefix for the assembly displays in the XML schema.
Prerequisites
Create an assembly project.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 26
Context
Path variables specify the location of resource files in your workspace folder. You can use workspace path
variables when you link platform resources in your assembly projects.
Steps
1. Select Windows > Preferences > General > Workspace > Linked Resources.
2. Click New.
As you complete the task, consider:
Option Description
Name Enter the name of your path variable.
Location Enter the file location of your path variable.
3. Click Ok.
Result
Your new path variable now specifies the location of resource files in your workspace folder.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 27
To manually filter the assembly elements displayed on the Palette, use the type filter text field. Studio
also provides these preconfigured category filters directly underneath the type filter text field:
Studio automatically displays the Palette beside the Assembly Editor. To display the Palette in a separate
view, select Window > Show View > Other > General > Palette and click OK. You can also change the
layout of the Palette by right-clicking on it and selecting Layout.
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 28
Option Description
message The entire message, including rootpart and
attachments. When you specify this option, Studio
creates a new message, effectively removing any
attachments.
soapbody The contents of the SOAP body from the rootpart of
the message.
attachment A MIME attachment to the message. Specify
the index value of the attachment you wish to
access. You can also add a new attachment to the
message by specifying an index value of -1.
rootpart The content of the rootpart of a MIME message,
or if the message isn't MIME, the message itself.
When specified for the output attribute, this
value preserves any attachments on the original
message.
variable A variable from the MediationContext. Specify
the name of the variable to use.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 29
Swimlanes
Swimlanes enable you to organize assembly components into groups.
You can:
• Display or hide swimlane descriptions by clicking the Show/Hide swimlane descriptions button.
• Expand and collapse all swimlanes by clicking the Expand all swimlanes and Collapse all swimlanes
buttons.
• Expand and collapse individual swimlanes by clicking the plus and minus icons in their headers.
Swimlane status is persistent. When you open an assembly, swimlanes display in the collapsed or
visible state they were in when the assembly was saved.
Swimlanes are nestable.
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
To select a search type, click the relevant button under the search field at the top of the view.
To search, enter text in the search field. When you select an MVEL expression, component ID, or variable
in the list of search results, Studio jumps to the relevant component in the assembly diagram.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 30
Common Tab
Property Description
Name The name of the swimlane. Displays in the header
of the swimlane.
Description A description of the swimlane. Displays when you
select Show swimlane descriptions.
Orientation The orientation of the swimlane. The options are:
• HORIZONTAL
• VERTICAL
Top border color The color of the top border on the swimlane.
Line color The color of the side and bottom borders of the
swimlane.
Fill color The background color of the swimlane.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 31
Property Description
Font The font of the swimlane label.
Line style The style of the side and bottom borders of the
swimlane. The options are:
• SOLID
• DASH
• DOT
• DASHDOT
• DASHDOTDOT
Common Tab
Property Description
Line Type The type of line used to display Route To and
Route Response To connections on an assembly
diagram. The options are:
• straight
• curved
Assembly Transports
Prerequisites
Create an assembly project containing a workday-in transport.
Context
In Workday Studio, you can use enumerations as integration launch parameters. This restricts the values
you can select in the Integration Criteria tab when you launch the integration. You can define the
enumerations in Studio or refer to existing enumeration definitions in your tenant.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Launch Parameters tab of the Properties view for the workday-in transport, click Add
Enumeration Type Parameter.
3. Click Edit Type.
4. As you configure the enumeration, consider:
Option Description
Enumeration Reference Enter the Type Name of an existing enumeration
definition in your tenant.
Enumeration Definition Enter a unique Type Name for the enumeration
definition.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 32
Option Description
Note: When you enter the Type Name of
an existing enumeration definition, Workday
overwrites the definition.
Add the values that the enumeration allows.
Next Steps
Deploy your integration.
Related Information
Tasks
Deploy Integrations to Workday on page 294
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 33
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 34
Concept: Enumerations
Enumerations restrict an attribute value to a set of literal values, such as cost center codes. You can use
enumerations to define a set of constants to use as literal values when you design integrations. This allows
you to restrict the range of data your integration uses.
You can create and maintain enumeration definitions in Workday using these tasks:
• Create Integration Enumeration Definition
• Edit Integration Enumeration Definition
• Delete Integration Enumeration Definition
• View Integration Enumeration Definition
You can use enumerations in these elements:
• Launch parameters.
• Integration attributes.
• Integration maps.
You can assign enumerations:
• In Studio.
• Using the Create Integration Generic Service task in Workday.
You can assign enumerations in Studio integrations using 1 of these methods:
• Create an enumeration definition in Studio and deploy it to your tenant when you launch the Studio
integration.
• Create an enumeration reference to an existing enumeration definition in your tenant.
You can use the same enumeration definition across multiple integrations by selecting 1 integration to
provide the definition, and referring to it in the others.
Related Information
Tasks
Create Attribute Map Services on page 272
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 35
Services Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 36
Common Tab
Advanced Tab
Parameters Tab
The local-in transport's parameters specify any MediationContext properties you can set.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 37
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 38
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 39
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 40
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 41
Parameters Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 42
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 43
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 44
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 45
Common Tab
Input Content Type input-content-type The media type that the runtime
includes for the content-type
value in the message header. A
media type comprises at least 2
parts: a type, a subtype, and 1 or
more optional parameters. The
text subtype has an optional
charset parameter, which
specifies the character encoding.
Example: text/html;
charset=UTF-8
This property is particularly useful
in the case of non-XML text file
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 46
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 47
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 48
Mime Types Map File mime-types-map-file The location of a map file for
mapping between MIME types
and file extensions. Use this
property to:
• Map MIME types to file
extensions when the Method
property is set to put.
• Map file extensions to MIME
types when the Method
property is set to get.
The file for this mapping is ccx/
conf/mime.types. You can
provide your own version of this
file.
This transport can generate
filenames for its output files
using a ${EXT} token placed at
the end of the output-file-
pattern value.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 49
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 50
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 51
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 52
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 53
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 54
Input Content Type input-content-type The media type that the runtime
includes for the content-type
value in the message header. A
media type comprises at least 2
parts: a type, a subtype, and 1 or
more optional parameters. The
text subtype has an optional
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 55
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 56
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 57
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 58
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 59
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 60
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 61
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 62
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 63
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 64
OAuth Tab
To use Microsoft Outlook OAuth authentication with Studio's Email-Out component, register Studio as an
app with Microsoft Azure, provide domain-wide delegation, grant administrator consent for Mail.Send
permissions, and obtain various values. For details, see https://learn.microsoft.com/en-gb/azure/active-
directory/develop/v2-oauth2-client-creds-grant-flow.
To use Google Gmail OAuth authentication with Studio's Email-Out component, register a Service Account
with Google Cloud, provide domain-wide delegation, and obtain a JSON description of various values. For
details, see https://support.google.com/cloud/answer/6158849?hl=en.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 65
Name Value
outlook.client.id From a
registered
app's
Overview
page on the
Microsoft
Azure Portal:
Application
(client) ID.
outlook.client.secret
From a
registered
app's
Certificates
& secrets
page on the
Microsoft
Azure Portal:
Client Secret
ID.
outlook.tenant.id From a
registered
app's
Overview
page on the
Microsoft
Azure Portal:
Directory
(tenant) ID.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 66
Name Value
gmail.service.account.key.json
The JSON text
from the file
downloaded
from the KEYS
section of
the Service
accounts
page on the
Google Cloud
Console.
gmail.delegated.user
The Gmail
address from
which the
email will be
sent. Must be
a Principal
associated
with the
Google Service
Account. Also
entered in the
From field on
the Common
tab.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 67
• port either:
• 465, if ssl is set to true.
• 587, if starttls is set to true.
• timeout is 30000 (30 seconds).
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 68
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 69
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 70
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 71
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 72
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 73
Common Tab
Components
Concept: Components
Components enable you to manipulate and transform messages as they pass through your integration.
Workday Studio provides support for these components on the Components section of the Assembly
Palette:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 74
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 75
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 76
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 77
Common Tab
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 78
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 79
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 80
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 81
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 82
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 83
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 84
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 85
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 86
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 87
Common Tab
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 88
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 89
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 90
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 91
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 92
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 93
Common Tab
Common Components
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 94
It also displays the parameters you can use with that subassembly, with required parameters already
selected. You can adjust parameters at any time in the subassembly's Properties view.
Studio includes these Common Components on the Palette:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 95
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 96
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 97
Parameters Tab
Parameter Description
wd.ftp.endpoint The endpoint scheme used to determine which ftp-
out transport to use. The endpoint must start with
ftp://, sftp://, or ftps://.
wd.ftp.username The username used to access the FTP server.
wd.ftp.password The password associated with the username used
to access the FTP server.
wd.ftp.method The method or message action that the FTP
subassembly implements when connecting with
the endpoint. Enclose each action in single quotes.
Valid options include:
• 'put': The FTP component sends the
message to the FTP server and the message
remains unchanged.
• 'get': The assembly replaces the root part of
the message with the data that it receives from
the FTP server.
• 'list': The message remains unchanged.
Workday adds a context property called
wd.ftp.files.list, which contains a
List<String> object instance.
Note: Using the 'list' method with a
file pattern of *.txt or *.xml results in an
exception.
• 'delete': Workday requests a file deletion
from the FTP server. The message remains
unchanged.
• 'mget' (multiget): Workday downloads all
files that match the input pattern and replaces
the root part of the message with a ZIP file
containing those files.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 98
Parameter Description
• 'mdelete' (multidelete): Workday deletes all
files that match the input pattern. The message
remains unchanged.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 99
Parameter Description
wd.ftp.proxy.type The type of the proxy server.
wd.ftp.input.content.type Specifies the content type of files retrieved
using FTP get. Example: text/plain;
charset=Big5.
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 100
Parameters Tab
Parameter Description
ie.event.wid The Workday ID for the integration event whose
service configurations you want to retrieve.
Automatically populates with lp.isSet() ?
lp.getIntegrationEventWID() : null.
is.event.disable.msg.storage Switches off message storage when set to true.
ie.event.wws.version The integration event Web Service version.
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 101
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 102
Parameters Tab
Parameter Description
ie.event.wid The Workday ID for the integration event whose
service configurations you want to retrieve.
Automatically populates with lp.isSet() ?
lp.getIntegrationEventWID() : null.
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 103
Parameters Tab
Parameter Description
ie.event.wid The Workday ID for the integration event whose
service configurations you want to retrieve.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 104
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 105
Parameters Tab
Parameter Description
is.system.wid The Workday ID for the integration system
whose service configurations you want to
retrieve and parse. Automatically populates with
lp.getIntegrationSystemRefWID().
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 106
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 107
Parameters Tab
Parameter Description
is.paged.get.request.current.page.xpath The XPath location in the request document where
the PagedGet component sets the number of the
pages being requested.
is.paged.get.response.current.page.xpathThe XPath expression to extract the current page
value from the web service response message.
is.paged.get.response.total.pages.xpath The XPath expression to extract the total pages
value from the web service response message.
The XPath expression to extract the total results
is.paged.get.response.total.results.xpath
page value from the web service response
message.
is.paged.get.process.endpoint The local-in endpoint of the subassembly that
processes each page of results. Example: vm://
payrollInterface/ProcessPayeesLocalIn.
Note: Workday ignores aggregate parameters
when you set this parameter.
These MediationContext properties are
available in the processing subassembly:
• is.paged.get.request.current.page.xpath
• is.paged.get.response.current.page.xpath
• is.paged.get.response.total.pages.xpath
• is.paged.get.response.total.results.xpath
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 108
Parameter Description
is.paged.get.page.zero Specifies whether a response page should be
generated for cases where the total number of
pages is zero.
is.paged.get.parallel Specifies whether to retrieve web
service responses in parallel, enabling
the subassembly named in the
is.paged.get.process.endpoint parameter
to process each paged response. Automatically
populates with false, meaning that web service
responses are aggregated rather than retrieved in
parallel.
Workday processes parallel responses using
unique contexts that enable read-only access
to the property values and variables that
were set before the PagedGet was entered.
When the subassembly finishes with each
page, you lose any properties or variables set
during that processing. The PagedGet still
sets the is.paged.get.total.pages and
is.paged.get.total.results properties
on the calling MediationContext. The
is.paged.get.current.page property is set in
the parallel paged contexts.
Workday processes nonparallel responses in
the same context and processes the pages in
the subassembly. This means that you can set
properties and variables in the subassembly and
check the state of previous pages.
Out Parameters
As the PagedGet subassembly processes, it passes these out-parameter values for use by downstream
components:
Out-Parameter Description
is.paged.get.last.page The final page returned by the web service
operation.
is.paged.get.current.page The number of the page currently being processed.
is.paged.get.total.pages The total number of pages to be processed.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 109
Out-Parameter Description
is.paged.get.total.results The total number of results returned by the web
service operation.
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 110
Parameters Tab
Parameter Description
is.paged.get.process.endpoint Specifies the local-in endpoint of the
subassembly that will process each page of
results. Example: vm://payrollInterface/
ProcessPayeesLocalIn.
Note: Workday ignores aggregate parameters
when you set this parameter.
These MediationContext properties are
available in the processing subassembly:
• is.paged.get.request.current.page.xpath
• is.paged.get.response.current.page.xpath
• is.paged.get.response.total.pages.xpath
• is.paged.get.response.total.results.xpath
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 111
Parameter Description
The XPath expression used to find the parent
is.paged.get.request.reference.wids.parent.xpath
element of the request message where WIDs will
be indicated when getting each page of data.
The element name for the WID to be used in the
is.paged.get.request.reference.wids.element.name
request for each page of data.
is.paged.get.application The application group of the web service you're
invoking. Example: Human_Resources.
is.paged.get.version The version of the public web service you're
invoking. As best practice, use the latest WWS
version at the time you're building the integration.
Don't use a dynamic latest version that changes as
the integration runs.
For assemblies with a version prior to 2016.45,
this parameter automatically populates with
util.assemblyVersionAsWWSVersion.
For assemblies with a version 2016.45 or later, you
must explicitly supply the Web services version.
Example: v27.2.
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 112
Advanced Tab
Parameters Tab
Parameter Description
pdf.report.design.variable The name of the integration variable that
contains the report design, which defines the
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 113
Parameter Description
layout for the printed custom report. Example:
'test.report.design'.
The report design definition is contained in a file
with the extension.rptdesign.
Related Information
Reference
The Next Level: Using BIRT in Studio Integrations
Common Table
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 114
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 115
Parameters Tab
Parameter Description
is.event.wid The Workday ID of the integration event to which
Workday will link the message.
If you don't specify this value and it isn't
present in the lp MVEL variable, Workday
uses the is.system.wid parameter instead,
linking the message to the integration system.
Automatically populates with lp.isSet() ?
lp.getIntegrationEventWID() : null.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 116
Parameter Description
that can be converted to a Java BigDecimal object.
It must be a value between zero and 100.
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 117
Parameters Tab
Parameter Description
is.event.wid The Workday ID of the integration event to which
Workday will link the message.
If you don't specify this value and it isn't
present in the lp MVEL variable, Workday
uses the is.system.wid parameter instead,
linking the message to the integration system.
Automatically populates with lp.isSet() ?
lp.getIntegrationEventWID() : null.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 118
Parameter Description
is.message.detail.richtext Determines whether the message detail is
formatted as rich text. Automatically populates with
true.
is.document.variable.name The name of a variable in the MediationContext
that contains the Atom schema output of an
assembly store step. The variable content is used
to add a reference to the integration event.
The store step used to create the document
must have the schema attribute set as follows:
schema="http://www.w3.org/2005/Atom".
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 119
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 120
Parameters Tab
Parameter Description
wd.sf.auth.username Your salesforce.com developer account username.
wd.sf.auth.password Your salesforce.com developer account password.
wd.sf.msg.varname The XML message that Workday sends to the
salesforce.com endpoint.
wd.sf.auth.token Your salesforce.com developer account security
token.
wd.sf.auth.endpoint An optional salesforce.com endpoint. A default
endpoint is already configured as part of the
subassembly's http-out transport.
wd.sf.api.custom.version An optional salesforce.com API version. If you don't
provide a value, the endpoint API version is used.
Prerequisites
Security: Security Administration domain in the System functional area.
Context
Workday Studio's PrismAnalytics component enables you to send CSV data to Workday Prism Analytics.
Before you configure an assembly to use the PrismAnalytics, you must register a Prism API client in
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 121
Workday and obtain a REST API endpoint. You must also create a JSON description of the source CSV
data.
Steps
1. Register a Workday Prism Analytics API Client on page 121.
In Workday, register an integrations API client with Prism Analytics as its scope. Obtain the Client ID,
Client Secret, and Refresh Token values that the PrismAnalytics component requires as parameters.
2. Obtain the Workday REST API Endpoint on page 122.
In Workday, obtain the Workday REST API endpoint that the PrismAnalytics component requires as a
parameter.
3. Describe the Source CSV Data on page 122.
Describe the source CSV data in JSON text for passing to the PrismAnalytics component as a
variable.
4. Configure an Assembly with the PrismAnalytics Subassembly on page 128.
In Workday Studio, create an assembly that acquires CSV data and passes it to a properly configured
PrismAnalytics component.
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
Prerequisites
Security: Security Administration domain in the System functional area.
Context
To use Workday Studio's PrismAnalytics component, you must register an API client in Workday with
Prism Analytics as its scope. The component requires the Client ID and Client Secret values that
Workday generates during the registration process. It also requires a Refresh Token value.
Steps
1. Access the Register API Client for Integrations task. As you complete this task, consider:
Option Description
Non-Expiring Refresh Tokens Prevents the refresh token from timing out.
Automatically selected by Workday. Don't clear.
Scope (Functional Area) Select Prism Analytics.
Include Workday Owned Scope Provides access to core Workday domains that
aren't in any functional areas. Select this check
box.
2. Copy the Client ID and Client Secret values. Studio's PrismAnalytics component requires them for its
wd.prism.component.client.id and wd.prism.component.client.secret parameters.
3. From the related actions menu, select API Client > Manage Refresh Tokens for Integrations.
4. Select a Workday Account to associate with the refresh token. The account must have permission to
create Prism tables in Workday.
Note: You can't perform these steps as an Integration System User.
5. Select Generate New Refresh Token.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 122
6. Copy the Refresh Token value. The PrismAnalytics component requires it for its
wd.prism.component.refresh.token parameter.
Prerequisites
Security: Security Administration domain in the System functional area.
Context
Studio's PrismAnalytics component requires a Workday REST API endpoint. You can find this endpoint in
Workday.
Steps
1. Access the View API Clients report.
2. Copy the Workday REST API Endpoint value.
Example: https://i-07d55d20e81e2d191.workdaysuv.com/ccx/api/v1/super.
3. Delete the https:// at the beginning and the /ccx/api/v1/<tenant_name> at the end.
Example: i-07d55d20e81e2d191.workdaysuv.com.
4. Copy the text. Studio's PrismAnalytics component requires it for its
wd.prism.component.api.hostname parameter.
Context
Workday Studio's PrismAnalytics component requires a description of the source CSV data. You can
create the JSON text in the tool of your choice and use it in Studio later. Example: paste it into a text
message on the Message Builder tab of a write step.
Steps
1. Create JSON text containing 2 main nodes:
• parseOptions: information about the format of the CSV data, including the character set and the
delimiter character.
• fields: information about each field in the CSV data, including data type and formatting.
2. In the parseOptions node, you can define these fields:
"charset": {
"id":
"Encoding=UTF-8"
}
Currently, Workday
supports the UTF-8
encoding format only.
Workday ultimately
stores the data in
Unicode format.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 123
"fieldsEnclosedBy":
"\""
"fieldsDelimitedBy":
","
"headerLinesToIgnore":
1
"type": {
"id":
"Schema_File_Type=Delimited
}
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 124
"description":
"The worker's
full name."
"type": {
"id":"Schema_Field_Type=Date
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 125
"parseFormat":
"dd-MM-yy
HH24:mm:ss"
"precision": 38
"scale": 2
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 126
Example
Your source CSV file describes this table:
{
"parseOptions": {
"fieldsDelimitedBy": ",",
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 127
"fieldsEnclosedBy": "\"",
"headerLinesToIgnore": 1,
"charset": {
"id": "Encoding=UTF-8"
},
"type": {
"id": "Schema_File_Type=Delimited"
}
},
"fields": [
{
"ordinal": 1,
"name": "Employee",
"description": "Employee",
"precision": 255,
"scale": 0,
"parseFormat": null,
"type": {
"id": "Schema_Field_Type=Text"
}
},
{
"ordinal": 2,
"name": "Employee_ID",
"description": "Employee ID",
"precision": 38,
"scale": 0,
"parseFormat": null,
"type": {
"id": "Schema_Field_Type=Numeric"
}
},
{
"ordinal": 3,
"name": "Job_Title",
"description": "Job Title",
"precision": 255,
"scale": 0,
"parseFormat": null,
"type": {
"id": "Schema_Field_Type=Text"
}
},
{
"ordinal": 4,
"name": "Hire_Date",
"description": "Hire Date",
"precision": 0,
"scale": 0,
"parseFormat": "MM/dd/yy",
"type": {
"id": "Schema_Field_Type=Date"
}
},
{
"ordinal": 5,
"name": "Annual_Salary",
"description": "Annual Salary",
"precision": 38,
"scale": 2,
"type": {
"id": "Schema_Field_Type=Numeric"
}
}
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 128
],
"schemaVersion": {
"id": "Schema_Version=1.0"
}
}
Related Information
Reference
Reference: Supported Date Formats for External Data in Tables and Datasets
Context
To send CSV data to Prism Analytics, your assembly must contain a PrismAnalytics component that:
• Receives CSV data as input, either in the rootpart of the message or as a variable.
• Receives a variable containing a JSON description of the CSV data.
• Has a number of parameters configured correctly.
Steps
1. Configure your assembly to obtain a source CSV file or source CSV files. Depending on the method
you use to acquire the CSV data, you might need to provide a variable name or set a MIME type.
As you complete the task, consider:
Any other method • Studio adds the CSV data to the message
rootpart or to a variable.
• If applicable, name the variable using the
wd.prism.component.csv.input.varname
parameter.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 129
2. Create a text message on the Message Builder tab of a write step and add the JSON text that
describes the data. Output a variable. Example: temp.schema.
Note: You can add the JSON text directly to the Message Builder. Alternatively, you can write it in the
tool of your choice and paste it in.
3. Configure the PrismAnalytics component's parameters:
Parameter Description
wd.prism.component.schema.varname The variable containing the JSON schema that
describes the data.
wd.prism.component.table.name The name of the Prism table. Table names:
• Must be unique in the Data Catalog.
• Can contain up to 255 characters.
• Can only include alphanumeric and
underscore characters.
• Must start with a letter.
• Can't end with an underscore character.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 130
Parameter Description
at the beginning and the /ccx/api/v1/
<tenant-name> at the end.
Example:
i-09e55d32d61e2e287.workdaysuv.com.
Next Steps
Deploy and launch the integration.
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 131
Parameters Tab
Parameter Description
wd.prism.component.schema.varname The variable containing the JSON schema that
describes the data.
wd.prism.component.table.name The Prism table's identifier in the Data Catalog.
Table names:
• Must be unique in the Data Catalog.
• Can contain up to 255 characters.
• Can only include alphanumeric and underscore
characters.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 132
Parameter Description
• Must start with a letter.
• Can't end with an underscore character.
You can't use this component to update a Prism
table name, only to create one.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 133
Name Function
send-error Enables you to process the error using standard
components and steps. A common pattern is to
use send-error to report the error to the integration
event by invoking the PutIntegrationMessage
common component.
log-error Logs the current error to the output log. Includes
the error message and the stack trace of the Java
exception. Use when there’s no need to individually
expose errors on the integration event but you
want to log the message at the time of the error.
Avoid logging large messages as they can degrade
performance and might be truncated, leading to
loss of diagnostic data.
custom-error-handler Enables you to supply a Spring bean that uses
Java to process the error. Use when error handling
requires complex Java code.
You can add an error handler as a child element of a mediation component or as an individual element on
the assembly. Error handlers added to mediation components are local. Error handlers on the assembly
are global.
When Workday encounters an error in a Studio integration, it stops normal processing and unwinds the
chain of processed components, looking for an error handler to invoke. It always attempts to process errors
locally first. If no local error handler is available, responsibility passes to the global error handler. Use local
error handlers when you want fine control over what happens when errors occur or need to report the
detailed context of what the integration was doing at the time of the error. Think of global error handlers as
a failsafe.
If every error handler has fired and an error still isn't marked as handled, Workday processes the message,
generates an error from the exception, and marks the assembly as terminated. It describes the integration
as Completed with Errors.
Notable default behaviors:
• Local error handlers only process errors that arise in their parent mediation component. However,
they can also process errors in downstream components. To enable this behavior, set the Handle
Downstream Errors property of the mediation component containing the error handler to true.
• Workday marks errors as handled when an error handler is invoked. However, if you set an error
handler's Rethrow Error property to true, Workday doesn’t clear the error. As a result, it’s handled by
the next in-scope upstream error handler or global error handler. Use this pattern to report the detail of
an error locally but to handle the overall failure or completion at a higher level in the assembly where it
will be common to multiple error conditions.
• When Workday handles an error, it restarts message processing from the invoked error handler,
continuing on the response path towards the element where the error was raised. However, you can
specify that processing should instead resume at the element where the error was raised. To enable
this behavior, set the Continue After Error property of the mediation component containing the error
handler to recover. Use this behavior in situations where the code invoked by the error handler can
correct the error condition, enabling a retry of the failed operation to succeed.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 134
You can exercise greater control over error handlers by adding MVEL condition expressions on their
Properties view. When condition expressions are present, Workday only invokes the error handler if they
all evaluate to true.
You can force error raising using the context.setError or context.SetException methods in
MVEL or Java code. When using the setError method, you can configure an error ID that can be
detected by conditional expressions on the error handler. Use this technique when you’re handling an error
locally but want to pass some detail of the error type to an upstream error handler for common handling.
You can also handle errors using Route components:
• The failover-strategy attempts to use a route, and if an error occurs, executes the failover route,
marking the error as handled.
• The custom-strategy enables you to supply a Spring bean. Spring beans implement the
RoutingStrategy interface, which has an isHandleError method. Use this method to specify that
the strategy handles errors.
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 135
Expressions Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 136
Advanced Tab
Expressions Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 137
Common Tab
Expressions Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 138
Transform Steps
Prerequisites
Create an assembly containing a textschema step. Obtain the sample text that will form the basis of your
text schema.
Context
The textschema step enables you to convert text to XML using a text schema. To develop a text schema,
you must know the structure of the data that you want to transform. The process is considerably simplified
by having a small sample document containing representative data. This topic assumes that you have such
a sample.
You can use the textschema step to convert XML to text or to transform delimited files, but in most cases
it's simpler to use the XTT step and the csv-to-xml step, respectively.
Steps
1. In the textschema step's Properties view, click Create Text Schema File.
2. Select a parent folder for the text schema file and provide a filename. If required, specify the target
namespace URI.
3. Studio opens the Text Schema Editor and displays the new text schema in its Tree view.
4. Cut and paste your sample text into the area in the upper right of the Text Schema Editor, replacing
initial-text.
Note: To strip the terminating linefeed from input files, add this attribute to the root schema element:
ts:eofStrip=" ".
5. Begin describing the sample text. Select the first field, then right-click it and select Create Field.
Note: If you don't have a sample of the text you want to convert but know its structure, you can edit the
text schema's Source view directly.
6. On the Identity page of the Create Field Wizard, provide a basic description of the field. As you
complete the task, consider:
Option Description
Name A name for the field.
Occurrence The options are:
• Default: The field is mandatory and occurs
only once.
• Required: Same as default.
• Optional: The field is optional can occur only
once.
• Multiple Optional: The field is optional and
can occur multiple times.
• Multiple Required: The field is mandatory and
can occur multiple times.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 139
Option Description
display in the output value, use the ts:format
option.
End Tag A regular expression that specifies the text that
marks the end of an element. Note that the text
matching this expression doesn't form part of
the output value. If you want the matched text to
display in the output value, use the ts:format
option.
Truncate Specifies whether to truncate overflowing data in
a fixed-length field or throw an error. The default
value is true.
Separator A regular expression that specifies a character
that separates repeated fields. Enabled only if
you select the Multiple Optional or Multiple
Required occurrence options.
Omit Specifies whether to omit the field from the output
in a text-to-XML or XML-to-text transformation.
The default is no omission.
7. On the Delimit page of the Create Field Wizard, describe how many characters from the sample text
represent a field:
Option Description
Format A regular expression that identifies valid patterns
of text for a field. Use this expression as an
alternative to Start Tag and End Tag to ensure
that all of the matched text displays in the output.
You can also use it when dealing with multiply
occurring values so it's clear when the end of the
sequence occurs.
Fixed Length Specifies the length of fixed-length fields. Includes
quotation marks and escape characters.
Quoted Indicates whether string values are treated as
quoted strings. The options are:
• Default:
• always:
• always-including-empty:
• optional:
• never:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 140
8. On the Interpret page of the Create Field Wizard, describe how many characters from the sample text
represent a field:
Option Description
Type The field's data type.
Default Value A default value for the field.
Date Format Specifies a pattern for dates or datetimes.
Supports any pattern allowed by Java's
SimpleDateFormat.
Date Language Specifies the date language to use when
interpreting dates. Ensures that the name is
handled in the appropriate language when the
date format uses the names of months. The
default value isEN.
Two Digit Year Specifies a value for interpreting 2-digit year
dates. The text schema parser interprets 2-
digit year dates that occur before that value as
occurring in the current century. Example: if you
enter 18, the parser interprets 14 as 2014 and 96
as 1996.
Number Format Specifies a pattern for numbers. Supports any
pattern allowed by Java's DecimalFormat.
Decimal Separator Specifies the separator used for decimal
numbers.
Grouping Separator Specifies the thousands grouping separator for
numbers.
9. Repeat steps 6-9 for each field in the sample text, adding new elements in the Tree view. When you've
created all of the required field definitions, delete the remaining Unparsed child element.
10.To wrap all of the elements you've created into a complex type, select them, right-click them, and select
Wrap Elements. Then provide a name and an occurrence value for the wrapper element.
11.In the wrapper element's Properties view, select /n from the End Tag drop-down list.
12.The default schema root element is named File. On the Schema tab of the element's Properties
view, provide a more meaningful name.
13.In the Properties view of the top level schema element, the Root Element property has the value
tns:File. Replace File with the meaningful name you selected for the root element.
14.To remove any extra spaces from the generated output, select the Properties view of the top level
schema element. Select + from the Padding drop-down list. Save the schema.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 141
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 142
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 143
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 144
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 145
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 146
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 147
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 148
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 149
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 150
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 151
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 152
Advanced Tab
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 153
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 154
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 155
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 156
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 157
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 158
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 159
Mappings Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 160
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 161
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 162
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 163
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 164
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 165
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 166
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 167
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 168
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 169
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 170
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 171
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 172
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 173
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 174
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 175
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 176
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 177
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 178
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 179
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 180
Advanced Tab
You can use the static-file child element to specify a character-encoding property for an input file.
Example:
<cc:log-message>
<cc:static-file character-encoding="UTF-16" input-
file="logfile.html"/>
</cc:log-message>
If you don't specify a character-encoding value, Workday uses the character set specified in the
output-mimetype property. If a character set isn't specified there either, Workday uses UTF-8.
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 181
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 182
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 183
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 184
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 185
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 186
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 187
Advanced Tab
Headers Tab
Add Headers
Remove Headers
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 188
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 189
Advanced Tab
Validation Steps
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 190
Expressions Tab
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 191
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 192
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 193
Expressions Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 194
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 195
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 196
Encoding Steps
compress Transforms a single file in the • Unlike the ZIP step, this step
MediationContext to a GZIP doesn't support file archiving.
or BZIP2 file. Use it to compress single files.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 197
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 198
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 199
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 200
Advanced Tab
Related Information
Reference
Workday 31 What’s New Post: Workday Studio
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 201
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 202
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 203
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 204
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 205
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 206
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 207
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 208
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 209
Advanced Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 210
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 211
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 212
Advanced Tab
Other Steps
Name Function
custom Enables you to apply custom code written using
Spring beans to incoming messages.
set-dynamic-endpoint Configures WS-Addressing (WSA) endpoint
information for an out-transport.
store Creates a persistent copy of a document that's
available to other users and/or can be viewed as an
attachment to the integration event.
The individual message size limit for store steps is
1 GB (compressed). The cumulative limit is 3 GB
(compressed). Workday terminates integrations
that exceed these limits. Where possible, use
splitters or streaming to break up large files in your
integrations.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 213
Name Function
retrieve Retrieves a persistent copy of a document that was
previously stored by a store step.
xmldiff Compares 2 XML input documents.
enqueue-message Organizes messages into a queue.
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 214
Advanced Tab
Common Tab
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 215
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 216
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 217
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 218
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 219
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 220
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 221
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 222
Advanced Tab
Definitions Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 223
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 224
Advanced Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 225
Assembly Modules
Prerequisites
Create an assembly project.
Context
Workday Studio assembly modules provide parameterized templates for building assemblies. They enable
you to create and reuse preconfigured sets of components and steps that perform particular tasks.
Steps
1. Add the elements that you want to include in your assembly module and configure their properties
as required. You can create a module from a functionally complete assembly or from a smaller set of
components and steps. Users can adjust parameters when they implement the module.
2. Save your assembly.
3. In the Project Explorer, right-click the assembly project, then select Create Assembly Module....
4. Provide a name and description for the module. The description displays as the tooltip for the module.
5. Select an icon for the module. You can use the default icon or upload one of your own.
6. Studio organizes module parameters into collections called pages. A parameter must belong to a page.
Each page has a name and a description. Each parameter has a name, a label (which displays in the
Configure Module wizard), a description, a type, and a default value. There are 6 parameter types:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 226
Prerequisites
Create an assembly project or open an existing assembly project.
Context
Workday Studio assembly modules provide parameterized templates for building assemblies. They enable
you to create and reuse preconfigured sets of components and steps that perform particular tasks.
Steps
1. Drag the module from the Modules section of the Palette to the Assembly Editor. Studio opens the
Configure Module wizard.
Note: The Module Library displays only those assembly modules that you select on the Window >
Preferences > Workday > Assembly Editor > Modules preference page.
2. Configure the module's parameters.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 227
3. If the assembly module contains a parameter of type XMLRequest, click either Create Literal XML
or Create Workday Web Service Request to specify a value for the Web service request. As you
complete this task, consider:
4. Studio displays a preview of the assembly elements that the module contains. When you complete the
wizard, Studio adds those elements to the assembly.
Subassemblies
Create Subassemblies
Prerequisites
Create an assembly.
Context
A subassembly is a processing chain whose first component is a local-in transport. You invoke it with a
local-out transport, either from within the same assembly or from a separate assembly.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 228
Steps
1. Add and configure the local-in transport that defines the beginning of the subassembly.
a) Add a local-in transport at the beginning of the processing chain that you want to turn into a
subassembly.
b) On the Common and Advanced tabs of its Properties view, configure the transport's properties.
You can provide an icon for the subassembly and text that displays as its tooltip.
c) On the Parameters tab, define parameters that the subassembly requires as input. You can
configure these parameters on the local-out transport that calls the subassembly. Studio stores
them as MediationContext properties.
d) On the Out Parameters tab, define the MediationContext properties that the subassembly sets.
e) Save the assembly.
2. Add and configure the local-out transport that invokes the subassembly.
a) Add a local-out transport to the assembly that invokes the subassembly.
b) On the Common and Advanced tabs of its Properties view, configure its properties. Specify the
subassembly local-in as the endpoint property. Use the format vm://assembly-name/local-
out-ID, or click Select local-in sub-assembly.
c) On the Parameters tab, set MediationContext properties. You can create new parameters by
clicking Create 'set' element. You can also select any that parameters that you define in the local-
in transport and assign them values by clicking Select Parameter.
Note: In the Select Parameters wizard, an asterisk indicates that the property is required. A
question mark indicates that usage is dynamic.
d) Save the assembly.
Concept: Subassemblies
A subassembly is a processing chain whose first component is a local-in transport. The local-in defines
an entry point to the processing chain, enabling it to be called by a local-out transport in the same
assembly or in another assembly. You can include several subassemblies and local-out transports within
the same assembly.
Note: You can't deploy subassemblies to Workday on their own because they don't begin with a workday-
in transport.
Because you can invoke them at will, subassemblies enable you to encapsulate processing logic for reuse.
You can think of them as programming subroutines. The default ID for a local-in transport is SubRoutine.
The default ID for a local-out transport is CallSubRoutine.
Subassemblies have parameters. You specify them on the local-in transport and assign them values on
the local-out. These parameters define properties in the MediationContext.
When you save a subassembly, Workday Studio automatically adds a local-out transport that invokes it to
the Workspace Components category on the Palette. This local-out transport uses the custom icon from
the subassembly's local-in transport, if you supplied one. Otherwise it uses a question mark icon.
The Palette always displays public subassemblies. It displays private subassemblies only if they occur
in the assembly. Studio provides several prepackaged subassemblies in the Common Components
category on the Palette.
To locate the local-in transport that a local-out references, right-click the local-out and select
Declaration in Workspace.
To locate the local-out transports that are referenced by a local-in, right-click the local-in and select
References in Workspace.
Related Information
Concepts
Concept: Common Components on page 93
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 229
Prerequisites
Create an assembly project.
Context
You can create 4 custom assembly elements from the Palette in Workday Studio:
• custom-mediation component
• custom step
• custom-out transport
• custom-error-handler
A fifth custom element, custom routing strategy, is available from the Route component's context toolbar.
Steps
1. Open an assembly in the Assembly Editor.
2. Add one of these custom elements to the assembly:
• custom-mediation component
• custom step
• custom-out transport
• custom-error-handler
3. Configure the custom element's properties in its Properties view.
4. Click Create Spring Bean Properties and Java Class, to the right of the Spring Bean field. The
properties that Studio displays vary slightly depending on the custom element type. As you complete
the task, consider:
Option Description
Id Provide a unique Spring bean identifier.
Scope • Select singleton to return the same bean
instance with each reference.
• Select prototype to return a different bean
instance with each reference.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 230
Option Description
Include argument for dynamic endpoint Specifies whether to include an argument for a
dynamic endpoint.
Annotate Java class to appear in palette Select this check box to display the custom
element on the Palette. This option adds an
annotation to the generated Java class, which is
located in the src folder of your assembly project
folder.
Tooltip Enter the text that displays as the custom
element's description.
5. Save the assembly.
Result
Studio generates the Java class representing the custom element within the package specified. It also
adds a reference to the new custom Spring bean at the bottom of the assembly.xml file.
Next Steps
Add the required code to your custom Java class.
Custom Steps
When writing a Java implementation for a custom step, consider these points:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 231
• The method must be declared public so it can be called from outside the class.
• The method must be nonstatic.
• Each method must have a unique name.
• Parameter lists must match the supported combinations.
• The method can throw any type of exception.
• If you don't provide a method name, Workday selects any public method (ignoring getters and setters)
with a parameter list matching the supported method signatures. If there's any ambiguity, Workday
reports an error during deployment, which you can resolve by specifying a method name.
A custom step must provide a method that adheres to one of these signatures:
The custom step supports these input, return, and output parameter types:
If a custom step returns a void type or a null value, it doesn't alter the mediation message.
import com.capeclear.assembly.annotation.Component;
import com.capeclear.assembly.annotation.ComponentMethod;
import com.capeclear.assembly.annotation.Property;
import static com.capeclear.assembly.annotation.Component.Type.*;
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 232
@Component(
name = "TimeStamperCustomMediationStepImpl",
type = mediation,
toolTip = "This custom code step adds the current time on the first
line of the message.",
scope = "singleton",
smallIconPath = "icons/TimeStamperCustomMediationStepImpl_16.png",
largeIconPath = "icons/TimeStamperCustomMediationStepImpl_24.png"
)
// Displays a text box with a Select button to enable you to select a Spring
bean.
@Property(name="Text", edit=Edit.BEAN_REF)
// Displays a text box with a Select button to enable you to select a Java
class.
@Property(name="Text", edit=Edit.CLASS)
// Displays a text box with a dialog box that enables you to specify a cron
expression.
@Property(name="Text", edit=Edit.CRON)
Studio looks for customization classes on the project classpath of the project that contains the
assembly.xml file being edited. To distribute your custom component to multiple assembly projects,
package the customization in binary form as a JAR file containing the class files and icon images. Other
users can include this JAR within the project’s classpath to make it available in their Assembly Editor.
The Assembly Editor automatically loads any customized components it finds in its classpath at startup.
Right-click on the assembly diagram background and select Refresh Customizations to reload any
recently added custom components.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 233
Option Description
Create 'bean' Creates a Spring bean element in the assembly file.
Select the top-level beans node to make this option
available.
Create 'alias' Creates an alias for a Spring bean element in the
assembly file. Select the top-level beans node to
make this option available.
Create 'property' Creates a property element for the selected bean.
Create 'constructor-arg' Creates a constructor-arg element for the
selected bean.
Create 'ref' Creates a ref element, enabling other beans to
reference the selected property.
Create 'list' Creates a list element for the selected property,
enabling you to define the properties of a List Java
collection.
Create 'map' Creates a map element for the selected property,
enabling you to define the properties of a Map Java
collection.
Create 'import' Creates a top-level import element within the
assembly's beans definition, enabling you to
specify a resource file containing one or more bean
definitions. Select the top-level beans to make this
option available.
Create 'value' Creates a nested value element within the
selected property definition, enabling you to specify
the property as a human-readable string.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 234
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 235
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 236
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 237
Message Builder
Prerequisites
Create an assembly containing 1 of these elements:
• A write step
• A log step
• A log-error error handler
Context
Workday Studio's Literal Builder enables you to create simple XML documents that conform to selected
schema or SOAP request messages that conform to selected WSDLs. You can append WS-Security
headers to SOAP request messages.
Steps
1. Add a text element to 1 of these assembly elements:
• A write step
• A log step
• A log-error error handler
2. In the right pane, click Generate XML literal.
3. In the Literal Builder wizard, select the schema or WSDL element that you want to generate the XML
literal for. As you complete the task, consider:
Option Description
Show Messages By default, Studio displays WSDL elements
as messages. To display them as interface
definitions with portTypes, operations, input
messages, and output messages, deselect this
option.
Wrap SOAP Wraps the selected XML definition in a SOAP
envelope.
Add WS-Security Header Adds a SOAP Header element to the SOAP
request. The SOAP header includes the WS-
Security credentials you provide within a
UsernameToken element. Only available if you
select Wrap SOAP.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 238
Option Description
Wrap XSLT Creates an XML literal wrapped in an XSL
stylesheet. You can save the stylesheet as an
XSLT file for later use.
Ask for Choices Selection Prompts you to select a particular choice from a
schema when creating and copying an XML literal
or SOAP literal. If you don't select this option,
Studio uses the first choice in a particular set.
Result
Studio displays a preview of the XML literal, which you can edit.
Prerequisites
Create an assembly containing 1 of these steps:
• java-to-xml
• validate
• xml-to-java
Context
In Workday Studio, the XPath Expression Builder enables you to create XPath expressions based on
selected schema or WSDLs.
Steps
1. On the Properties view of 1 of these steps, click Build XPath Expression, next to the XPath property:
• java-to-xml
• validate
• xml-to-java
2. On the lower pane of the XPath Expression Builder wizard, select the schema or WSDL element that
the XPath expression will match. As you complete the task, consider:
Option Description
Show Messages By default, Studio displays WSDL elements
as messages. To display them as interface
definitions with portTypes, operations, input
messages, and output messages, deselect this
option.
Prefix SOAP By default, Studio prefixes the XPath expressions
you create with this expression, as shown in the
upper text pane: env:Envelope/env:Body. To
remove the prefix, deselect this option.
3. If required, you can edit the XPath expression manually in the upper text pane. Example: you might
want to use a predicate to filter the nodeset that the XPath returns.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 239
Option Description
Create 'message-content' Adds the content of the mediation message to the
message.
Create 'text' Adds a string literal to the message. There are 3
options:
• Enter the text manually, then click Apply
changes.
• Click Insert MVEL Expression, enter MVEL
expressions (in combination with plain text, if
required), then click Apply.
• Click Generate XML literal and select the
defining schema or WSDL element.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 240
The right pane is where you define the message element's value. The contents of the value pane vary
depending on the message element type.
To reorder or delete message elements, use the buttons on the right of the content pane. Their order in
Message Builder is mirrored in the XML.
message-content
exception
xpath
xslt
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 241
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 242
xml-stream
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 243
regex-match
static-file
header
Transport Bindings
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 244
• sftp-out
• xmpp-out
• custom-out
• email-out
Studio supports these transport bindings:
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 245
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 246
Common Tab
Common Tab
Common Tab
Common Tab
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 247
Schema Explorer
Context
The Schema Explorer view displays WSDL and XSD files in read-only format. You can copy content from
these files to your clipboard, enabling you to reuse the data in other text editor views in Studio.
Steps
1. Select Window > Show View > Schema Explorer.
2. On the Schema Explorer view, click Add WSDL or XSD.
3. Select a WSDL or XSD file.
4. On the Schema Explorer view, expand the WSDL or XSD file to view its structure.
Result
Studio displays the WSDL or XSD file on the Schema Explorer view.
Next Steps
Copy content from the WSDL or XSD file to your clipboard.
Context
The Schema Explorer view displays WSDL and XSD files in read-only format. You can copy content from
these files to your clipboard, enabling you to reuse the data in other text editor views in Studio.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 248
Steps
1. Select Window > Show View > Schema Explorer.
2. On the Schema Explorer view, click Add Workday Web Services.
3. Select and expand a Workday Web Service.
4. Select wsdl.
5. On the Schema Explorer view, expand the Workday Web Service WSDL to view its structure.
Result
Studio displays the Workday Web Service WSDL on the Schema Explorer view.
Next Steps
Copy content from the Workday Web Service WSDL to your clipboard.
Context
The Schema Explorer view displays WSDL and schema (XSD) files in read-only format. You can copy
content from these files to your clipboard, enabling you to reuse the data in other text editor views in
Studio.
Steps
1. Select Window > Show View > Schema Explorer.
2. On the Schema Explorer view, click Add Custom Raas Report Schema.
3. On the Add Custom RaaS Report window, consider:
Option Description
Environment The Workday environment that contains your
custom report.
Report name The name of your custom report.
4. On the Select Reports window, select a custom report.
5. Click Finish.
6. On the Schema Explorer view, expand the custom report schema to view its structure.
Result
Studio displays the custom report schema on the Schema Explorer view.
Next Steps
Copy content from the custom report schema to your clipboard.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 249
MVEL
Syntax
MVEL is an expression language for Java-based applications. Its syntax is similar to Java's but it has some
additions that make it more efficient at matching content.
Note:
• MVEL uses Java namespaces and classes, but can't itself declare either.
• Unlike Java, MVEL is dynamically typed, with optional typing.
• MVEL expressions can be single statements or multiline scripts. For multiline scripts, use a semicolon
to separate each statement.
• MVEL operates on the principle of last value out. It supports the return keyword but doesn't generally
require it.
• MVEL supports operator precedence rules and uses bracketing to control execution order.
• You can enclose MVEL string literals in single or double quotation marks.
• The semicolon is a reserved character in MVEL. You can't use it in expressions. Use (char) 59
instead. Example: props['string']='a;b' throws an error. This code does not:
props['string']= (char) 59
props['string_new']='a'props['string']'b'
context.errorMessage
It extracts the property errorMessage from the variable or context object context.
MVEL supports all of the usual Java comparison, mathematical, and logical operators. This table
summarizes other notable MVEL operators:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 250
Value Testing
In Java, the operator == checks whether references point to the same object. In MVEL, however, the
comparison operator == checks whether values are equal. The MVEL expression foo == 'bar' is the
equivalent of Java's foo.equals("bar").
An example of an MVEL boolean expression:
It returns true if the name property of the variable or context object user is John Smith.
MVEL employs type coercion. If you compare 2 values of different types, MVEL tries to coerce the value on
the right to the type on the left. If that isn't possible, it tries to coerce the value on the left to the type on the
right. Example:
"123" == 123;
This expression returns true because MVEL coerces the value on the right to a string before it performs
the comparison.
Enclose MVEL maps in square brackets. Separate keys and values with colons. Example:
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 251
Property Navigation
MVEL provides a single, unified syntax for accessing properties, static fields, lists, maps, and arrays.
In Java, you might access a property from an object using this statement:
context.getException().getCause()
In MVEL you can access the same property using this expression:
context.exception.cause
parts[2]
You access maps in the same way as arrays but can pass any object as the index value. Example:
props["foobar"]
If a map uses a string as a key, you can treat the map itself as a virtual object. Example:
props.foobar
foo = "Berlin";
foo[0];
Assignment
You can assign variables in an MVEL expression for use within the expression or for extraction at runtime.
Because MVEL is a dynamically typed language, you don't need to specify a type when you declare a new
variable. But you can do so.
Both of these examples are valid in MVEL:
When assigning a value to a typed variable, MVEL attempts to perform automatic type conversion.
Example:
String num = 1;
You can cast the value of a dynamically typed variable to another type. Example:
String num = 1;
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 252
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 253
context.getProperty('myProperty')
context.getProperty('someProperty').equals('some
da.toVar('eib_transform_output.txt',
'var1')
da.getDocsMatching('label')
ftp.list('URL')
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 254
intsys.getAttribute('username')
intsys.isServiceEnabled('name')
lp.getSimpleData('name')
lp.exists('label') == true
message.rootPartAsText
message.variables
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 255
mtable['my_property'].set(0,
'Data_Column', 'my_test_data')
parts[0].getHeader('someHeader')
parts[0].xpathB('/a/b')
props.myProperty
props['bean.property']
spring.getBean('fred').name
spring.parent ApplicationContext
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 256
props['is.last.record'] =
util.isLastMessageInBatch()
vars['myVariable'].length
vars['myVariable'].length
xmldiff.isDifferent() == true
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 257
xmldiff.changes
Useful Functions
message.setMessage(da.getDat
‘text/xml’)
Results in an error if
there's no integration
attachment with the
specified index.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 258
message.setMessage(da.getDat
‘text/xml’)
Results in an error if
there's no integration
attachment with the
specified filename.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 259
da.getFileNames(label).get(i
In most cases,
you must use
da.getFileNames(label)
to find the number of
matching filenames
before you can use
an index. The only
exception is the limited
case where you require
the first (zero index)
value.
da.getFileNames(labels).get(
In most cases,
you must use
da.getFileNames(labels)
to find the number of
matching filenames
before you can use
an index. The only
exception is the limited
case where you require
the first (zero index)
value.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 260
da.getFileNames(java.util.Ar
In most cases,
you must use
da.getFileNames(labels)
to find the number of
matching filenames
before you can use
an index. The only
exception is the limited
case where you require
the first (zero index)
value.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 261
da.toVar(0,
‘myInputDocument’)
da.toVar(‘WorkerData.xml’,
‘myInputDocument’)
Useful Properties
Name Notes
integrationEventWID Returns the WID for the integration event
relating to the current launch of the
integration. Useful when making webservice
calls such as Get_Event_Documents,
Put_Integration_Message, or
Put_Integration_Event.
Automatically provides a default parameter
to the wcc://GetEventDocuments, wcc://
PutIntegrationMessage, and wcc://
PutIntegrationEvent common components.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 262
Name Notes
integrationSystemRefWID Returns the WID for the current integration
system. An entirely equivalent alternative to the
integrationSystem property.
parentEventWID Returns the WID for the current launch event's
parent event.
sentOn Returns the date and time of the integration's
launch formatted as an ISO-8601 date and time.
sentOnAsDate Returns the date and time of the integration's
launch in the form of a java.util.Date object.
Useful Functions
Note:
Some of these functions specify a launch parameter by its name alone. Others specify both the launch
parameter's name and the name of the integration service that provides it. The latter are useful when a
launch parameter with the same name exists in multiple integration services configured on the integration
system. Most integrations don't need to accommodate launch parameter names that are duplicated across
multiple services, so those functions are less frequently required.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 263
lp.getReferenceData(‘Employe
‘Employee_ID’)
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 264
Useful Functions
<Value>@{util.cleanString(pa
root/row/
a_value’))}</
Value>
util.getFilenameFromContentD
filename=testfile.pdf’)
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 265
util.readFileToVar(‘v1’,
‘icon-32.png’)
util.readFileToVar(‘v1’,
‘icon-32.png’,
‘image/png’)
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 266
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 267
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 269
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 270
Create a new message from the Creates a new message from the
root part of the current message. context.message = root part of the current message.
parts[0]
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 271
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 272
Prerequisites
Create an assembly project.
Context
The attribute map service enables you to define attributes and maps for your integration. Attributes are
configurable values that define your integration. You can create these types of attributes:
• Simple.
• Reference.
• Enumeration.
Maps reconcile internal Workday values with the external attribute values defined on your integration. You
can create these types of maps:
• Simple.
• Class Report Field.
• Enumeration.
Steps
1. Open the assembly in the Assembly Editor.
2. Drag a workday-in transport from the Palette to the Assembly Editor.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 273
3. On the Services tab of the Properties view for the workday-in transport, click Create attribute-map-
service.
4. On the Service Name window, enter a name for your attribute map service.
5. On the Integration Attributes tab, consider:
Option Description
Name The name of the attribute. Must be unique across
all integration systems.
Type The attribute type definition.
Add Simple Type Attribute Adds an attribute type that uses string literal
values.
Add Reference Type Attribute Adds an attribute type that uses references to
Workday Class Report Fields (CRFs) and web
services.
Add Enumeration Type Attribute Select Edit Type to configure the enumeration.
You can:
• Use an Enumeration Reference to an existing
enumeration definition in your tenant by
entering its Type Name.
• Create a new enumeration by entering a
unique Type Name on the Enumeration
Definition tab and specifying the values that it
allows.
Note: When you enter the Type Name of an
existing definition on the Enumeration Definition
tab, Workday overwrites the definition.
Result
Studio saves the attribute map service on the workday-in transport of your integration.
Next Steps
Deploy your integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 274
Related Information
Concepts
Concept: Enumerations
Tasks
Deploy Integrations to Workday on page 294
Set Up Attributes and Maps in Benefits Integration
Prerequisites
Create an assembly project.
Context
The delivery service enables you to deliver documents to a target endpoint from your Workday tenant.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
3. Drag a workday-in transport from the Palette to the Assembly Editor.
4. In the Assembly Editor, click the workday-in transport.
5. On the Services tab of the Properties view for the workday-in transport, click Create delivery-
service.
6. On the Service Name window, enter a name for your delivery service.
7. Click Save.
Result
Studio saves the delivery service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the delivery service on your integration system in Workday.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Set Up Integration Delivery
Prerequisites
Create an assembly project.
Context
The listener service enables your integration to receive launch messages from third-party clients through
your Workday tenant.
Steps
1. Open the assembly in the Assembly Editor.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 275
Result
Studio saves the listener service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the listener service for your integration system in Workday.
Note: You can only deploy integrations that use listener services if they have no launch parameters.
Related Information
Concepts
Concept: Listener Service API
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
Create an assembly project.
Context
The retrieval service enables your integration to retrieve documents from remote clients and store them in
your Workday tenant.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
3. Drag a workday-in transport from the Palette to the Assembly Editor.
4. In the Assembly Editor, click the workday-in transport.
5. On the Services tab of the Properties view for the workday-in transport, click Create retrieval-
service.
6. On the Service Name window, enter a name for your retrieval service.
7. Click Save.
Result
Studio saves the retrieval service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the retrieval service on your integration system in Workday.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 276
Related Information
Tasks
Deploy Integrations to Workday on page 294
Set Up Integration Retrieval
Prerequisites
Create an assembly project.
Context
The sequence generator service enables you to generate unique, sequenced filenames for documents
each time you run your integration. In Studio, you configure the sequence generator service on a workday-
in transport. Before you can launch your integration, you must also configure the sequence generator
service in your Workday tenant.
Steps
1. Open the assembly in the Assembly Editor.
2. In the Assembly Editor, click the workday-in transport.
3. On the Services tab of the Properties view for the workday-in transport, click Create sequence-
generator-service.
4. On the Service Name window, enter a name for your sequence generator service.
5. On the Properties view for the sequence generator service, click Add to add a sequencer.
6. On the Sequencer field, enter a name for your sequencer.
7. On the Project Explorer view, right-click your assembly project and select Deploy to Workday.
8. On the Cloud Explorer view, navigate to your deployed assembly project.
9. Right-click the integration node of your deployed assembly project.
10.Select Workday: Integration System.
11.On the Workday tab, consider:
Option Description
Username The username credentials for your Workday
tenant.
Password The password credentials for your tenant.
12.In your Workday tenant, on the Integration Services column of the Custom Integration Services
section, locate the name of your sequence generator service and select Related Actions and Preview.
13.Select Integration Sequence Generator Service > Configure Integration Sequence Generators.
14.In the Increment Sequence ID By field, enter the value 1.
15.In the Sequence ID Format field, enter the value file[Seq].csv.
16.Click OK.
17.Click Done.
Result
Studio saves the sequence generator service on the workday-in transport of your integration. Workday
saves your sequence generator settings on your integration system.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 277
Next Steps
Launch your integration.
Related Information
Tasks
Launch Integrations from Studio on page 299
Set Up Integration Sequence Generators
Prerequisites
Create an assembly project.
Context
The transaction log service enables you to display the logs for transaction events that your integration has
subscribed to in your Workday tenant.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
3. Drag a workday-in transport from the Palette to the Assembly Editor.
4. In the Assembly Editor, click the workday-in transport.
5. On the Services tab of the Properties view for the workday-in transport, click Create transaction-
log-service.
6. On the Service Name window, enter a name for your transaction log service.
7. Click Save.
Result
Studio saves the transaction log service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the transaction log service on your integration system in Workday.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Steps: Set Up Directory Service Integration
Prerequisites
Create an assembly project.
Context
The report service specifies aliases for any custom reports that you refer to in your integration.
Steps
1. Open the assembly in the Assembly Editor.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 278
Result
Studio saves the report service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the report service for your integration system in Workday.
Related Information
Concepts
Concept: Custom Reports
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
Create an assembly project.
Context
The custom object service specifies aliases for any custom objects that you refer to in your integration.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 279
Result
Studio saves the custom object service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the custom object service on your integration system in Workday.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Set Up Integration Custom Objects
Prerequisites
Create an assembly project.
Context
The Data Initialization Service enables you to gain faster and more efficient access to Workday data in
your Studio integrations.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
3. Drag a workday-in transport from the Palette to the Assembly Editor.
4. In the Assembly Editor, click the workday-in transport.
5. On the Services tab of the Properties view for the workday-in transport, click Create data-
initialization-service.
6. On the Service Name window, enter a name for your data initialization service.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 280
7. Click Save.
Result
Studio saves the data initialization service on the workday-in transport of your integration.
Next Steps
Deploy your integration and configure the data initialization service for your integration system in Workday.
Prerequisites
Create an assembly project.
Context
Service references enable you to reference any integration service configured on another workday-in
transport within the same collection.
Steps
1. Open the assembly in the Assembly Editor.
2. On the Palette, expand the In Transports tab.
3. Drag a workday-in transport from the Palette to the Assembly Editor.
4. In the Assembly Editor, click the workday-in transport.
5. On the Services tab of the Properties view for the workday-in transport, click Create service-
reference.
6. On the Service Reference window, select a service reference.
7. Click OK.
8. Click Save.
Result
Studio saves the service reference on the workday-in transport of your integration.
Next Steps
Deploy your integration.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
Create an assembly project that contains a workday-out-rest transport.
Context
The workday-out-rest transport enables you to send REST request messages to an HTTP URL. You can
add a reference to a custom report as an extra path value on a workday-out-rest transport.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 281
Steps
1. Open the assembly in the Assembly Editor.
2. In the Assembly Editor, click the workday-out-rest transport.
3. On the Common tab of the Properties view for the workday-out-rest transport, click Select a RaaS
Report.
4. On the Add Custom RaaS Report window, consider:
Option Description
Environment The Workday environment that contains your
custom report.
Report name The name of your custom report.
5. On the Select Reports window, select your custom report.
6. On the Report Service Configuration window, consider:
Option Description
Report Alias The alias of your custom report.
Description A text description of your custom report.
7. Click Finish.
Result
Studio adds a reference to your custom report on the workday-out-rest transport of your integration.
Next Steps
Launch your integration.
Related Information
Tasks
Launch Integrations from Studio on page 299
Prerequisites
Create an assembly project that contains a workday-out-rest transport.
Context
The workday-out-rest transport enables you to send REST request messages to an HTTP URL. You can
add a reference to a custom object as an extra path value on a workday-out-rest transport.
Steps
1. Open the assembly in the Assembly Editor.
2. In the Assembly Editor, click the workday-out-rest transport.
3. On the Common tab of the Properties view for the workday-out-rest transport, click Select a Custom
Object.
4. On the Add Custom Object window, consider:
Option Description
Environment The Workday environment that contains your
custom object.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 282
Option Description
HTTP Methods Options are:
• POST
• PUT
• GET
• DELETE
Skip to step 7 if you selected the PUT, GET, or DELETE HTTP methods.
6. If you selected the POST HTTP method, Studio displays the POST Query Parameters window. As you
complete the task, consider:
Option Description
updateIfExists Updates an existing custom object.
bulk Creates or updates a collection of custom objects.
7. If you selected the PUT, GET, or DELETE HTTP methods, select a custom object id reference from the
Custom Object Id Reference Selection window.
8. Click Finish.
Result
Studio adds a reference to your custom object on the workday-out-rest transport of your integration.
Next Steps
Launch your integration.
Related Information
Tasks
Launch Integrations from Studio on page 299
CLAR Files
Context
Manifest files enable you to export assembly collections as CLAR files. You must save manifest files to a
project folder in an assembly collection. Manifest files contain the metadata of your assembly collections.
Steps
1. On the Studio menu bar, select Workday > Solution > Generate Workday Manifest.
2. Double-click the target project folder for the manifest file.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 283
Result
Studio saves the manifest file to the project folder.
Next Steps
Export the assembly collection as a CLAR file.
Prerequisites
Save a CLAR file to your file system.
Context
You can add assemblies to your workspace by importing CLAR files.
Steps
1. On the Studio menu bar, select File > Import....
2. Select the CLAR file import wizard.
3. Click Browse and select a CLAR file to import.
4. Click Next to display the collections and projects in the CLAR file.
5. Select collections and projects to import from the CLAR file.
Studio automatically selects every collection and project in the CLAR file. Modify your selection using
the check boxes. Studio displays decorators on collections and projects with name conflicts.
6. Edit all project name conflicts.
a) Select a project with a name conflict.
b) Click Edit....
c) In the Project Name field, rename the project.
7. Edit all collection name conflicts.
a) Select a collection with a name conflict.
b) Click Edit....
c) In the Collection Name field, rename the collection.
8. Click Finish.
Result
Studio imports the contents of the CLAR file to your workspace.
Prerequisites
• Create an assembly project.
• Generate a manifest file.
Context
You can export assemblies from your workspace as CLAR files. You can use CLAR files to share your
assemblies with other Studio integration developers. Example: by uploading them to the Contributed
Solutions page on Workday Community.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 284
Steps
1. On the Studio menu bar, select File > Export....
2. Select the CLAR file export wizard.
3. On the CLAR File Specification window, select a collection to export as a CLAR file.
4. On the Workday Manifest Specification window, select Use existing manifest from collection.
5. On the Export Destination window, specify the target destination of the CLAR file.
6. Click Finish.
Result
Studio exports the assemblies as a CLAR file.
Related Information
Reference
All Contributed Solutions
CLAR Files
A CLAR (Cloud Archive) file is a package file that stores assembly collections, projects, and metadata.
CLAR files enable you to import and export assemblies through your workspace. You can use CLAR files
to share your assemblies with other Studio integration developers.
Manifest Files
Manifest files enable you to export assembly collections as CLAR files. You must save manifest files to a
project folder in an assembly collection. Manifest files contain the metadata of your assembly collections.
Contributed Solutions
The Contributed Solutions page is an online repository that enables you to access and share CLAR files.
You can access the Contributed Solutions page on Workday Community.
JAXB Projects
Prerequisites
Save an XML schema file to your file system.
Context
JAXB is a binding framework that enables you to convert data between XML and Java formats. In Studio,
you can convert XML schema files into Java classes by creating a JAXB project. Once you create a JAXB
project, you can implement its Java classes in an integration by adding it as a dependency in an assembly
project.
Steps
1. Select File > New > Workday Schema to Java (JAXB) Project.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 285
JAXB External Binding Files (optional) The location of any binding files for your XML
schemas. Studio displays these options:
• Workspace
• External
Generate default binding file for unmapped Creates generic binding files for your XML
schemas schemas.
Location within Project The directory folder for generic binding files.
Automatically populates as jaxb-resources/
bindings.xjb.
Choose how to manage Schema and External Select Create links in the project to external
JAXB Binding files Schema/Binding files to create links to your
schema and binding files in your new JAXB
project. Studio automatically selects this option.
Select Copy Schema/Binding files to project
now to copy your schema and binding files into
your new JAXB project.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 286
5. Click Finish.
Result
Studio displays the JAXB project on the Project Explorer view.
Next Steps
Add the JAXB project as a dependency in an assembly project.
Prerequisites
• Create an assembly project.
• Create a JAXB project.
Context
JAXB is a binding framework that enables you to convert data between XML and Java formats. In Studio,
you can implement JAXB Java classes in your integrations by adding JAXB projects as dependencies in
assembly projects.
Steps
1. On the Project Explorer view, right-click an assembly project.
2. Select Build Path > Configure Build Path....
3. On the Java Build Path window, select the Projects tab.
4. Click Add....
5. Select a JAXB project to add to your assembly project.
6. Click OK.
7. Click Apply and Close.
Result
Studio adds the JAXB project as a dependency in the assembly project. You can now implement your
JAXB Java classes in integrations stored within that assembly project.
Next Steps
Deploy your integration.
JAXB Projects
In Studio, you can convert XML schema files into Java classes by creating a JAXB project. Once you
create a JAXB project, you can implement its Java classes in an integration by adding it as a dependency
in an assembly project.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 287
• xml-to-java
Context
Workday Studio supports an Apache Ivy™ plugin that enables you to manage project dependencies. You
can configure the Ivy plugin as a preference in Studio.
Steps
1. Click Window > Preferences > Workday > Ivy.
2. On the Configure Ivy Engine window, consider:
Option Description
Ivy settings URL The URL for your ivysettings.xml file.
Ivy Properties The URL to your ivyproperties.xml file.
Load ivy.properties file from home directory if Loads the ivy.properties file automatically
present from your home directory.
Result
Studio applies your Ivy plugin preferences to your assembly projects.
Prerequisites
• Configure the Apache Ivy™ plugin for Workday Studio.
• Create an assembly project.
Context
Workday Studio supports an Apache Ivy plugin, which enables you to manage project dependencies by
configuring projects with the Workday Ivy nature.
Steps
1. On the Project Explorer view, right-click an assembly project.
2. Select Configure > Add Workday Ivy Nature.
3. Expand the assembly project folder.
4. Open the ivy.xml file.
5. Expand the info node. As you complete the task, consider:
Option Description
Module The module name.
Add your content here Insert a parent <dependencies> element,
enclosing one or more child <dependency>
elements.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Design | 288
Result
Studio adds a Workday Ivy nature to the project.
Prerequisites
• Configure the Apache Ivy™ plugin for Workday Studio.
• Configure an assembly project with the Workday Ivy nature.
Context
Workday Studio supports an Apache Ivy plugin, which enables you to manage project dependencies by
configuring projects with the Workday Ivy nature. If your project displays a build error relating to missing
dependencies, you can resolve these dependency issues.
Steps
1. On the Project Explorer view, right-click an assembly project with the Workday Ivy nature.
2. Select Resolve.
Result
The Console view displays a resolution report.
Prerequisites
• Configure the Apache Ivy™ plugin for Workday Studio.
• Configure an assembly project with the Workday Ivy nature.
Context
Workday Studio supports an Apache Ivy plugin, which enables you to manage project dependencies by
configuring projects with the Workday Ivy nature. If a Studio project has an Ivy nature with dependency
elements in its ivy.xml file, you can configure the project to include any dependent JAR files.
Steps
1. On the Project Explorer view, right-click an assembly project with the Workday Ivy nature.
2. Select Properties.
3. On the Java Build Path window, click Libraries.
4. Click Ivy-Workday IDE.
5. Click Add JARs.
6. On the JAR Selection window, select the JAR files to add to your project and click OK.
7. On the Java Build Path window, click Apply and Close.
Result
Studio adds the dependent JAR files to your project.
Next Steps
Deploy your project.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 289
Prerequisites
• Configure the Apache Ivy™ plugin for Workday Studio.
• Configure an assembly project with the Workday Ivy nature.
Context
Workday Studio supports an Apache Ivy plugin, which enables you to manage project dependencies by
configuring projects with the Workday Ivy nature. You can add and remove the Workday Ivy nature from
projects as required.
Steps
1. On the Project Explorer view, select an assembly project folder.
2. Select Workday > Ivy > Remove Workday Ivy Nature.
Result
Studio removes the Workday Ivy nature from your project.
Next Steps
Deploy your project.
Integration Deployment
Add a Connection
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Click Add....
3. On the Add Connection window, consider:
Option Description
Name The name of the connection.
URL The URL of the connection.
Group Adds the connection to a group.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 290
4. In the Credentials section, specify the Tenant and select an authentication method, Basic Auth or
OAuth 2.0.
Note: To use OAuth 2.0 authorization, you must first register an API client. Users of that client who
are enrolled in Workday multifactor authentication are required to use a second authentication method
when connecting to Workday from Studio.
Option Description
Basic Auth Specify the Username and Password for the
connection.
OAuth 2.0 Specify these details for the connection:
• Grant Type
• Client ID
• Authorization Endpoint
• Token Endpoint
• Access Token
Result
The connection displays on the Connections preferences page.
Next Steps
Build an assembly.
Related Information
Tasks
Enable Multifactor Authentication in Workday Studio on page 297
Context
In Studio, you can create and manage connections to Workday. You can organize these connections into
groups. You can use these connections when you deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Click Add Group....
3. On the Add Group window, consider:
Option Description
Name The name of the connection group.
Filtered Filters the connection group out of the Cloud
Explorer view and the Deploy to Workday page.
Result
The connection group displays on the Connections preferences page.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 291
Next Steps
Build an assembly.
Edit a Connection
Prerequisites
Add a connection to Workday.
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Select a connection.
3. Click Edit Environment URL. As you complete the task, consider:
Option Description
Host The host id of the connection.
URL The URL of the connection.
Result
The connection displays on the Connections preferences page.
Next Steps
Build an assembly.
Prerequisites
Create a group of connections to Workday.
Context
In Studio, you can create and manage connections to Workday. You can organize these connections into
groups. You can use these connections when you deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Select a connection group.
3. As you complete the task, consider:
Option Description
Name The name of the connection group.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 292
Option Description
Filtered Filters the connection group out of the Cloud
Explorer view and the Deploy to Workday page.
Result
The connection group displays on the Connections preferences page.
Next Steps
Build an assembly.
Remove Connections
Prerequisites
Add a connection to Workday.
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Select a connection.
3. Click Remove....
Result
Studio removes the connection from the Connections preferences page.
Next Steps
Build an assembly.
Import Connections
Prerequisites
Access an XML file containing Workday connection details.
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Click Import....
3. Click Browse....
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 293
Result
Studio displays the connection on the Connections preferences page.
Next Steps
Build an assembly.
Export Connections
Prerequisites
Add a connection to Workday.
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. Select Windows > Preferences > Workday > Connections.
2. Click Export....
3. Select a connection.
4. Click Browse...
5. Select a target destination for the Workday connection XML file.
Result
Studio exports the connection to the target destination.
Next Steps
Build an assembly.
Connect to Workday
Prerequisites
Add a connection to Workday.
Context
In Studio, you can create and manage connections to Workday. You can use these connections when you
deploy and launch assemblies.
Steps
1. From the Studio Preferences menu, select Workday > Connections.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 294
Result
Studio connects to your Workday tenant.
Next Steps
Deploy an assembly to Workday.
Prerequisites
• Create an assembly project.
• Security: Integration Build and Integration Configure domains in the Integration functional area.
Context
In Studio, you can deploy your integrations to Workday. Once you deploy an integration, you can launch it
in your Workday tenant.
Steps
1. On the Project Explorer view, right-click an assembly project.
2. Select Deploy to Workday.
3. On the Deploy to Workday window, consider:
Option Description
Workday Environments Select a target Workday environment for
deploying your integration.
Collection being deployed Select a collection to deploy to Workday.
4. Click Finish.
Result
Studio deploys your integration to Workday.
Next Steps
Launch your integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 295
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Build and Integration Configure domains in the Integration functional area.
Context
In Studio, you can deploy your integrations to Workday. You can view your deployed integrations when you
sign in to your Workday tenant.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Workday: Integration System.
5. On the Workday tab, sign in to your Workday tenant. As you complete the task, consider:
Option Description
Username Enter the username credentials for your Workday
tenant.
Password Enter the password credentials for your tenant.
Result
Your deployed integration displays on the Workday tab in Studio.
Next Steps
Launch your integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 296
https://host-name/tenant-name/ccx/
cc-cloud-repo/collections
Example:
https://wd5.myworkday.com/gms/ccx/
cc-cloud-repo/collections
lmcneil@gms
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Deployment | 297
Your IP address failed to authenticate. Your IP address isn't authorized to access the
Workday environment. Contact your System
Administrator.
Context
You can configure Workday Studio to use OAuth 2.0 authorization when it connects to a tenant. To do so,
you must register an API client. Users of the client who are enrolled in Workday multifactor authentication
in a tenant are required to use a second authentication method when connecting to that tenant from Studio.
They can't use basic authentication.
Steps
1. Set up multifactor authentication in your tenant and specify which accounts are required to use it.
See Steps: Set Up Multifactor Authentication Using Authenticator App.
See Steps: Set Up Multifactor Authentication Using Duo Security.
See Steps: Set Up Multifactor Authentication Using Emailed One-Time Passcode.
See Steps: Set Up Multifactor Authentication Using SMS One-Time Passcode.
2. Register an OAuth 2.0-enabled API client.
Configure these settings:
Option Value
Client Grant Type Authorization Grant Code
Support Proof Key for Code Exchange (PKCE) Enabled
Access Token Type Bearer
Redirection URI Enter a valid HTTPS URL.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Configuration | 298
Option Value
Scope In the Custom Objects list, select the functional
area for every web service that you'll access.
In addition select these functional areas:
• Implementation
• Integration
• System
• Tenant Non-Configurable
Note: Authentication fails if you omit any relevant
web service.
Note: Don't select the Enforce 60 Minute Access Token Expiry check box. Doing so disables OAuth
2.0 authentication after that period. OAuth 2.0 authentication is also subject to the normal Workday
session timeouts configured tenant-wide or for individual accounts.
See Register API Clients.
3. Copy the Client ID, Authorization Endpoint, and Token Endpoint provided by the Register API Client
task.
4. From the Workday Studio Preferences menu, navigate to Workday > Connections.
5. Add a tenant connection and select the OAuth 2.0 credentials tab.
6. Paste in the Client ID, Authorization Endpoint, and Token Endpoint.
7. Click Get Access Token.
If you receive an Internal Server Error message, the most likely cause is an incorrect Client ID.
8. Enter a username and password for the tenant.
If you're enrolled in Workday Multifactor Authentication, you're prompted to provide a second
authentication method.
9. Test the connection.
10.Click Apply and Close.
Related Information
Reference
2021R2 What's New Post: Multifactor Authentication in Workday Studio
Integration Configuration
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Security domain in the Integration functional area.
Context
Workday Studio integrations require an integration system user (ISU) account for authentication and web
service calls.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Launching | 299
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Assign Integration System User.
5. Click Integration System Users.
6. Select an ISU from the right window pane.
Result
You can launch your integration as an ISU.
Next Steps
Launch your integration.
Integration Launching
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Studio enables you to launch integrations in your Workday tenant.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Launching | 300
5. Click Launch.
Result
Your integration launches in your Workday tenant. In Studio, the Process Monitor tab displays the status
of your integration.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
Deploy an integration to Workday.
Context
Studio enables you to copy the launch URLs of integrations in your Workday tenant. You can use these
URLs to launch integrations from third-party REST-based clients with basic authentication privileges.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Copy Launch URL.
5. On the Launch URL window, highlight the launch URL and press Ctrl + C.
Result
Studio copies the launch URL of your integration to your clipboard.
Next Steps
Use the launch URL in REST requests from third-party REST-based clients with basic authentication
privileges.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Studio enables you to launch integrations in your Workday tenant. You can create launch configurations for
your integrations.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Launching | 301
Steps
1. Select Run > Run Configurations.
2. On the left navigation pane, right-click Integration.
3. Click New.
4. On the right navigation pane, consider:
Option Description
Name The name of your launch configuration.
Launch In The target Workday environment for launching
your integration.
Collection The collection to launch in your integration.
Project The project to launch in your integration.
Workday-In The name of the Workday-In transport in your
integration.
Launch Parameters The launch parameters of your integration.
5. Click Apply.
6. Click Run.
Result
Studio runs your integration with your new launch configuration details.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Studio enables you to launch integrations in your Workday tenant. You can edit the launch configurations
of your integrations.
Steps
1. Select Run > Run Configurations.
2. On the left navigation pane, expand the Integration node.
3. Select a launch configuration node.
4. On the right navigation pane, consider:
Option Description
Name The name of your launch configuration.
Launch In The target Workday environment for launching
your integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 302
Option Description
Collection The collection to launch in your integration.
Project The project to launch in your integration.
Workday-In The name of the Workday-In transport in your
integration.
Launch Parameters The launch parameters of your integration.
5. Click Apply.
6. Click Run.
Result
Studio runs your integration with your new launch configuration details.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Process Monitor
Button Description
Refresh Refreshes the Process Monitor view.
Delete the Process Deletes a process from the Process Monitor view.
Copy the Process ID to the Clipboard Copies an integration event ID to your clipboard.
Cancel the Process Cancels a process.
View Consolidated Report Opens a consolidated report in the Consolidated
Report Viewer.
View Log File Displays the log file for a process in the View Log
File window.
View Request Message Displays the request message for a process in the
View Request Message window.
Import Consolidated Report Opens the Import Consolidated Report window.
Import Log File Opens the Import Log File window.
Import Request Message Opens the Import Request Message window.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 303
Button Description
Enable Auto Refresh Enables auto-refresh for the Process Monitor
view.
Workday: Process Monitor Opens the Workday Process Monitor on the
Workday tab.
Workday Opens the Workday view and displays the
integration server ESB invocation for your
integration.
View Menu Displays the toolbar options for the Process
Monitor view.
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
In Studio, the Consolidated Report Viewer tab displays performance information related to the timing,
memory usage, and number of calls per step in your integration. Consolidated reports enable you to
analyze the process flow of your integrations.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
Result
Your consolidated report displays on the Consolidated Report Viewer tab.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 304
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can save
consolidated reports to your workspace.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. Right-click the consolidated report on the Consolidated Report Viewer tab.
9. Select Save As....
10.On the Save Consolidated Report window, select a parent folder for your consolidated report.
11.Click Finish.
Result
Studio saves your consolidated report to your workspace.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can view your
Workday integration event details using consolidated reports in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select View in Workday.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 305
9. On the Workday tab, sign in to your Workday tenant. As you complete the task, consider:
Option Description
Username The username credentials for your Workday
tenant.
Password The password credentials for your tenant.
Result
Your Workday integration event details display on the Workday tab in Studio.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can view the request
messages for your integration events using consolidated reports in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select View Request Message.
Result
The request message for your integration event displays on the View Request Message window.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 306
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can monitor your
integrations using the events log in the Consolidated Report Viewer tab in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select Events Log.
Result
The events log for your integration displays on the Consolidated Report Viewer tab.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can monitor your
integrations using the profile log in the Consolidated Report Viewer tab in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select Profile Log.
Result
The profile log for your integration displays on the Consolidated Report Viewer tab. The time zone used
is PST.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 307
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can replay assembly
executions for your integrations using consolidated reports in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select Replay.
Result
The assembly execution for your integration displays on the Assembly Editor.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can link
consolidated report audit events to assembly elements in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 308
Result
Studio links your consolidated report audit events to assembly elements in your integration. When you
select a node on the Consolidated Report Viewer tab, Studio highlights the corresponding assembly
element on your assembly diagram.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Prerequisites
• Deploy an integration to Workday.
• Security: Integration Event domain in the Integration functional area.
Context
Consolidated reports enable you to analyze the process flow of your integrations. You can display
consolidated report annotations on your assembly diagram in Studio.
Steps
1. On the Cloud Explorer view, select and expand a cloud server node.
2. Select and expand a collection node.
3. Right-click an integration node.
4. Select Launch Integration.
5. Click Launch.
6. On the Process Monitor view, right-click your integration.
7. Select View Consolidated Report.
8. On the Consolidated Report Viewer tab, select Annotate.
Result
Studio displays consolidated report annotations on your assembly diagram in the Assembly Editor.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 309
You can link consolidated reports to assemblies. You can also display consolidated report annotations on
each assembly element in your diagram, enabling you to spot issues and errors in your integrations.
The Consolidated Report Viewer tab displays as part of the default Workday Studio perspective. If you
close it, you can reopen it by selecting Window > Show View > Consolidated Report Viewer.
You can load consolidated reports from within the Consolidated Report Viewer tab, or from the Process
Monitor view for a selected integration process.
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 310
com.workday.services.server.capeclear.bean.dep.ProcessingException
Displays when you implement an
com.capeclear.mediation.MediationException:
invalid XSLT processor to create
application=bpelACHTransformOutbound-21.0.06.267
a SoapElementProcessor
-
Custom step transformer instance.
id=aggregateElement,
ref=DocumentElementProcessor
-
Error while invoking
bean, reason: document
processor step error
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 311
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 312
Related Information
Tasks
Deploy Integrations to Workday on page 294
Launch Integrations from Studio on page 299
Context
AUnit is a Workday Studio test framework for developing and running unit tests for assemblies. AUnit test
skeletons enable you to build test cases for your assemblies.
Steps
1. Select File > New > Workday Assembly Project.
2. On the Project name field, enter a name for your project.
Project names must not contain spaces.
3. On the Target Runtime field, select Workday Runtime.
4. On the Configurations field, select Assembly (with Java support).
5. Click Finish.
6. Select File > New > Other > Class.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 313
Result
Studio displays your AUnit test skeleton on the java editor.
Next Steps
Run unit tests for your assemblies.
import java.io.InputStream;
import com.workday.aunit.AssemblyTestCase;
import com.workday.aunit.actions.Action;
import com.workday.aunit.actions.StandardAction;
import com.workday.aunit.annotations.AssemblyTest;
import com.workday.aunit.annotations.AssertAfter;
import com.workday.aunit.annotations.AtComponent;
import com.workday.aunit.annotations.UnitTest;
@UnitTest(startComponent = "Simple-Mediation")
public void testSimpleMediation() throws Exception {
setMessagePart(0, "test/simple-input.xml", "text/xml");
}
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 314
getTestResourceInputStream("test/simple-expected.xml"), "text/
xml",
(InputStream) getMediationContext().getMessage().getMessagePart(0,
InputStream.class),
"text/xml", Comparator.dom));
}
@AtComponent(id="Next-Thing")
public Action handleAfterMediation() throws Exception {
return new StandardAction(Action.Type.terminate);
}
Annotations
All AUnit tests must contain an @AssemblyTest annotation. This annotation identifies your AUnit test and
enables you to associate the test with your assembly project. Example:
@AssemblyTest(project = "AUnitTrainer")
Annotations on test methods define the starting point for a unit test in the assembly processing chain.
Example:
@UnitTest(startComponent = "Simple-Mediation")
Assertions
Assertions define Boolean test conditions. If an assertion fails, AUnit aborts the assembly execution
and displays the test result as a failure. If an unexpected exception occurs, AUnit aborts the assembly
execution and displays the test result as an error.
Example: The sample below uses an @AssertAfter annotation and an assertTrue assertion to check
whether the root message part contains the expected XML after the mediation executes.
@AssertAfter(id = "Simple-Mediation", step="transform")
public void verifySimpleMediation() throws Exception {
assertTrue(compare(
getTestResourceInputStream("test/simple-expected.xml"), "text/xml",
(InputStream) getMediationContext().getMessage().getMessagePart(0,
InputStream.class),
"text/xml", Comparator.dom));
}
Actions
Actions define AUnit test behaviors when the assembly execution reaches a component or exit point.
Example:
@AtComponent(id="Next-Thing")
public Action
handleAfterMediation() throws Exception {
return new StandardAction(Action.Type.terminate); }
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 315
assertTrue(compare(getTestResourceI
simple-expected.xml"),
"text/xml",
(InputStream)
getMediationContext().getMessage().
InputStream.class),
"text/xml",
Comparator.dom));
}
@AssertAfter(id="Process",
step="transform")
public void
verifySummary() throws
Exception {
assertEquals("Ace
Developer",
evaluateExpression("parts[0].xpath(
wd:WorkerSummary/
wd:Name')"));
assertEquals("2010-07-27-07:00",
evaluateExpression("parts[0].xpath(
wd:WorkerSummary/
wd:HireDate')"));
}
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 316
Context
You can use Workday Studio's Web Service Tester to send sample request messages using any operation
described in a WSDL file.
Steps
1. On the Studio toolbar, click Test Web Service in Tester.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 317
Context
You can use Workday Studio's Web Service Tester to send sample request messages using any element
described in an XSD file.
Steps
1. On the Studio toolbar, click Test Web Service in Tester.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 318
Prerequisites
Display Workday Web Service WSDLs or XSDs in the Schema Explorer.
Context
You can test individual web services by using the Workday Studio Web Service Tester to create sample
SOAP or XML request messages from the Schema Explorer.
Steps
1. To generate a sample request message for a specific web service, right-click a WSDL or XSD element
on the Schema Explorer view. Select either Open request in Web Service Tester or Open SOAP
wrapped request in Web Service Tester.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 319
2. Studio opens the WS Tester view. The Target section displays the Location of the Web service
endpoint.
3. From the Content-Type drop-down list, select the message's media type and subtype:
Option Description
text/plain; charset=utf-8 Specifies plain text, containing no formatting
commands or directives.
text/xml; charset=utf-8 Specifies XML text.
application/octet-stream Specifies an unrecognized type. Example: select
this option if you're attaching a binary file to the
message.
4. Modify the XML in the Request pane as required. To add an attachment, click Add Attachment, then
click Edit to specify the file location and attachment's Name and Mime type.
5. Click Send Request to send the request message to the Web service at the URL specified in the
Location field. Studio displays the response in the Response pane.
Related Information
Tasks
Display Workday Web Service WSDLs on page 247
Test Get Operations and Request Messages Using the Request Builder Wizard
Prerequisites
Display Workday Web Service WSDLs or XSDs in the Schema Explorer.
Context
You can use the Workday Web Service Request Builder Wizard to simplify testing many Get operations
and request messages. Eligible operations and request messages have an arrow decorator in the upper
left corner of their icon.
Steps
1. Right-click the relevant Get node in the Schema Explorer view, then select Workday Web Service
Builder Wizard.
2. Select whether you want to:
• Use a Reference ID to retrieve specific data.
• Retrieve all available records from the web service.
3. If you selected to use a Reference ID, enter it.
4. Select the Response Groups you want to include.
5. Select whether you want to:
• Copy the sample request to the clipboard.
• Open the sample request in a new WS Tester view.
• Replace the contents of the current WS Tester view.
6. Click Finish.
Prerequisites
Create a web service test.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 320
Context
You can configure a number of security options in Workday Studio's Web Service Tester. The
Authentication options enable you specify whether to apply WS-Security or basic authentication to SOAP
request messages, or to call the internal cc-authenticate service.
Steps
1. In the WS Tester view, click Send Options.
2. Select the Authentication check box. As you complete the task, consider:
Option Description
WS-Security UsernameToken Enables you to specify a username and password
for use with WS-Security, without having to select
a WS-Security configuration file. Studio inserts a
fragment of XML containing the username and
password that you specify in the SOAP Header
section of request messages that it generates.
Authentication Service The Web Service Tester calls the internal cc-
authenticate service using the username
and password that you specify. If the username
and password are valid on the server, Workday
returns a session ticket which the Web Service
Tester adds to the SOAP header when the
request is sent. The server processing includes
an interceptor that checks that the supplied
session ticket is valid.
By default, a connection to the cc-
authenticate service is made once and
reused. If you're stopping and starting servers,
select Re-connect to the cc-authenticate
service before each send to create a new
connection for each request.
Prerequisites
Create a web service test. Configure an integration system user with a username that corresponds to a key
store alias name, but without the @tenant-name suffix. Assign the appropriate user-based group for the
web service to the integration system user.
Context
You can configure a number of security options in Workday Studio's Web Service Tester. The X.509
Authentication options enable you to select a key store alias that corresponds to an integration system
user and the associated private and public key pair.
Steps
1. On the WS Tester view, click Send Options.
2. Select the X.509 Authentication check box.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 321
3. Select a username from the Username drop-down list. Each username is associated with a key store
alias.
4. (Optional.) Click Manage Keys to manage existing X.509 keys or generate a new key pair. Studio
requests a key store password once per session. As you complete the task, consider:
Option Description
Generate X.509 key pair Enables you to generate an X.509 key pair with
an associated digital certificate.
Remove key from the key store Removes the selected key pair.
View the public key (certificate) Displays the public key for the selected key pair.
Import key pair Enables you to either:
• Import a private key and X.509 certificate from
a Java key store.
• Import a private key and X.509 certificate in
OpenSSL PEM format.
Rename alias Enables you to rename key store alias for the
selected key pair.
Prerequisites
Create a web service test.
Context
You can configure a number of security options in Workday Studio's Web Service Tester. The Advanced
WS-Security Configuration options enable the Web Service Tester to read a security configuration file
that specifies a sequence of security steps for the request and another sequence of security steps for the
response. It applies the security steps to the outgoing request message and removes security encoding
from the incoming response message. The server removes security encoding as it receives, and adds
security encoding as it responds.
Steps
1. On the WS Tester view, click Send Options.
2. Select the Advanced WS-Security Configuration check box.
3. Provide a Configuration File URL from either a Workspace or External location.
4. (Optional.) If the security configuration file has relative locations for values such as the key store
location, provide a Configuration Base URL. Studio prepends this URL to the relative locations.
5. (Optional.) Select the Re-load the security configuration information before each send check
box to reload the file for each request. This option is useful when you're making changes to the
configuration file.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 322
Method Notes
From the Studio menu bar. Enables you to select a WSDL or XSD file for
testing from your workspace, a URL, or an external
file location. You can also use this option to open
the Web Service Tester without reference to any
specific file.
From the Schema Explorer view. Enables you to generate XML requests for a
specific WSDL operation or schema element, in
either non-SOAP or SOAP envelope-wrapped
format.
Using the Workday Web Service Request Builder Simplifies testing of specific Get operations and Get
wizard. request messages.
General
Button Description
Send Request Invokes the Web service. The response message is
displayed in the Response pane.
Send Options Opens the Send Options dialog box, enabling you
to configure security options.
Abort Request Aborts the current request.
Reload the WSDL Reloads the WSDL driving the Web Service Tester.
Useful if the web service has changed.
Choose the XML font via the preferences Enables you to set font properties for the XML
displayed in the Request and Response panes.
Request/Response History Provides access to a list of previously sent request
messages, enabling you to select and resend them.
Request Only Displays the Request pane only.
Response Only Displays the Response pane only.
Horizontal Layout Arranges the layout horizontally.
Vertical Layout Arranges the layout vertically.
Help Displays context-sensitive Help for the Web Service
Tester.
Request Pane
Button Description
Save Request Saves the request message as an XML file.
Load Request Loads a request message.
Format Request Applies standard indentation to the request
message. Text can exceed the panel width.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 323
Button Description
Restore original or last sent request For unsent messages, restores the text to its
original unformatted and unwrapped state.
Overrides any manual edits. For sent messages,
returns the text to its state before the last send
action.
Add Attachment Enables you to add or remove a file attachment. To
add an attachment to the request message, click
Edit, select a file from the workspace or an external
file location, and specify its Name and Mime Type.
To remove an attachment from a request message,
click Remove.
To save an attachment included in a response
message, click Open below the Response pane.
Response Pane
Button Description
Save Response Saves the response message as an XML file.
Load Response Loads a response message.
Format Response Applies standard indentation to the response
message. Text can exceed the panel width.
Wrap Response Applies indentation, but also formats the text within
the boundaries of the panel width.
Restore Response For response messages, restores the text to its
original unformatted and unwrapped state. For
sample responses, removes the loaded file from the
text pane. Undoes any manual edits.
Sample Response Generates a sample response for a SOAP request
message generated from a WSDL.
Increase Font Increases text size in the Response pane.
Decrease Font Decreases text size in the Response pane.
Assembly Debugging
Debug an Assembly
Prerequisites
• Create an assembly project.
• Security: Integration Debug domain in the Integration functional area.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Integration Monitoring and Troubleshooting | 324
Context
Workday Studio enables you to detect and debug errors in your assemblies. You can debug assemblies
that you've deployed to your Workday server environment. If an assembly contains components or steps
that reference a static file, ensure that there are no spaces in the referenced filepath before debugging.
Steps
1. On the Project Explorer view, right-click an assembly project.
2. Select Deploy to Workday.
3. On the Deploy to Workday window, consider:
Option Description
Workday Environments Select a target Workday environment for
deploying your integration.
Collection being deployed Select a collection.
4. Click Finish.
5. On the Cloud Explorer view, select and expand the cloud server node of the target Workday
environment to which you deployed your assembly project.
6. Select and expand the collection that you deployed to Workday.
7. Right-click an integration node in your collection.
8. Select Debug Integration. On the Debug Integration window, consider:
Option Description
Launch In The target Workday environment for launching
your debug session.
Collection The name of the collection you’re debugging.
Project The name of the project you’re debugging.
Workday-In The name of the Workday-In transport in the
project you’re debugging.
Launch Parameters The launch parameters of the project that you’re
debugging.
To debug with alternative launch parameters,
click Select Literal Values and select from the
Workday IDs that the CRF returns.
If you know a specific Workday ID that you want
to use as a launch parameter, click Edit Literal
Value and enter it in the Value field.
9. Click Debug.
Result
The results of your debug session display on the Console view.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 325
Setting Breakpoints
Breakpoints enable you to pause the debugging process at specific points in your assemblies. To set
breakpoints on assembly elements, right-click an element and select Toggle Assembly Breakpoint. In the
main Assembly Editor view, a blue circle displays on the upper right-hand corner of the element to indicate
a new breakpoint.
Studio Management
Studio Preferences
Setting Description
Background Color Specifies the background color for assembly
components.
Line Color Specifies the line color for assembly components.
Text Color Specifies the font color for assembly components.
Step Background Color Specifies the background color for assembly steps.
Header Background Color Specifies the background color for assembly
component headers.
Fonts
The Diagram Font Preferences page enables you to specify font preferences for components in your
assembly diagram.
Setting Description
Default Specifies the standard font type, style, and size for
your assembly diagram component ID values.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 326
Setting Description
Step Specifies the standard font type, style, and size for
your assembly step ID values.
Conditional Tooltip Header Specifies the standard font type, style, and size
for tooltip header text displayed in your assembly
diagram.
Conditional Tooltip Content Specifies the standard font type, style, and size for
tooltip content displayed in your assembly diagram.
Migration
On the Migration page, you can turn migration on or off for legacy assembly projects created using earlier
versions of Workday Studio.
If migration is enabled, Workday Studio automatically migrates the assembly configuration for an
assembly.xml file to the latest version of Studio when you open the file.
To turn automatic migration off, clear the Enable legacy assembly migration in the Assembly Editor
check box before opening or saving an assembly.xml file.
Modules
Before you start developing assembly module templates, create a folder to store your assembly modules
either in your workspace, or in an external location such as a folder within your Workday Studio installation.
The Module Library in the Assembly Editor's assembly tools palette displays only those assembly
modules that are selected to load from the modules folder, as specified in the Window > Preferences
> Workday > Assembly Editor > Modules page. Click Browse Workspace or Browse File System
to locate the modules folder and specify the path to this folder. Studio displays all assembly module XMI
(XML Metadata Interchange) files that are located in the specified folder in the Modules table. Select the
check box beside each assembly module that you want to load in the Module Library. Studio performs
template validation and loads only valid XMI files.
At design time, the Assembly Module wizard prompts you to save the module XMI file to a folder in your
workspace. If preferred, you can later copy the assembly module XMI files from your workspace folder to
the modules folder that you specify here, if different from the workspace folder.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 327
attempts to connect to Workday over HTTPS, a message is displayed that prompts you to trust the Server
certificate for the Sandbox or Production environment. The certificates that you trust are displayed in the
Truststore Certificates pane, where you can reload, remove all, or delete selected certificates. To open
the Truststore Certificates pane, expand the Workday > HTTPS link in the left navigation pane.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 328
the splash-screen at startup, select the Don’t show the login on startup check box, then click Apply to
save your changes.
Setting Description
Hostname The hostname for launching debug sessions.
HTTP Port The port number that connects debug sessions to
Workday.
Session Connect Retries The number of times Studio attempts to connect
debug sessions to Workday.
Max Startup Wait Iterations The number of times Studio checks if Workday is
ready to receive requests.
Accept All Certificates Specifies whether Studio accepts unsigned
certificates.
Enable HTTPS Proxy Settings for Debugging Enables HTTPS proxy server settings for debug
sessions.
Copy Proxy Settings from Eclipse Specifies whether to copy the proxy settings for
debug sessions from Eclipse.
Proxy Host The proxy server hostname.
Proxy Port The port on which the proxy server listens.
Proxy User Name The username for the proxy server.
Proxy Password The password for the proxy server.
Wait for preceding BP steps timeout, e.g., The timeout period that Studio allocates to related
Retrieval (seconds) business process integrations before resuming
debug sessions.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 329
Setting Description
Auto format root part of XML Check this box if you want Studio to automatically
format the displayed XML for the root part of the
message.
Bring the Assembly Debug View to the front Check this box if you want Studio to bring the
when a thread suspends Assembly Debug view to the foreground when a
thread suspends during the debug process.
Bring the Exception tab to the front when a Check this box if you want Studio to bring the
thread suspends on an error handler Exception tab in the Assembly Debug view to
the foreground when a thread suspends during the
debug process.
Automatically retrieve root parts with lengths Specifies the automatic download threshold,
less than (KB) which is the maximum file size for message root
parts that the Assembly Debug view can display
automatically.
To view message root parts that exceed the
automatic download threshold, you must download
the message or save it as a document in the
workspace or file system. To do so, use the
Assembly Debug view toolbar buttons.
Truncate messages downloaded to the Truncates messages that exceed the specified file
Assembly Debug View when lengths exceed size when displaying in the Assembly Debug view
(KB) after download.
Setting Description
Ask for confirmation when deleting a collection If this feature is enabled, you’re prompted to
confirm your choice before you can delete a
collection from the Cloud.
Show annotations in the Cloud Explorer If this feature is enabled, annotations are displayed
on nodes in the Cloud Explorer.
Show Workday connector content If this feature is enabled, the Cloud Explorer
displays content for the workday-in transport
such as launch parameters, attributes, and maps.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 330
Setting Description
Enforce compatibility with only the current By default, any Java code that Studio generates
workbench default JRE is compatible with any installed JRE. However,
by selecting this check box, you can enforce Java
web service projects to be compatible with only a
specific JRE, that is, the default Workbench JRE.
Respect export settings for classpath entries in Select this check box to include only exported
referenced projects resources from referenced projects when exporting
a WSAR or deploying a web service project.
Setting Description
Enable notifications Studio automatically enables this setting. Clear this
check box to disable the display of notifications on
the Studio screen.
Fade out delay Enter a value in milliseconds to specify the length
of time that notifications remain displayed before
fading out.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 331
Setting Description
Enable auto refresh Automatic refreshing of the Process Monitor view
is enabled by default. To disable this feature, clear
the check box.
Refresh interval in seconds Enter a value (in seconds) to specify the length of
time between automatic refreshes. Use the scroll
buttons on the right to increase or decrease the
value.
Number of last active processes to refresh Enter the number of active processes you wish to
refresh. The processes refreshed are the current
and previous processes in reverse chronological
order.
Show error dialog when auto refresh fails Enable the display of an error message when the
automatic refresh feature fails. Studio automatically
enables this feature. To disable this feature, clear
the check box.
Show view after launching an integration Displays the Process Monitor in the foreground
when you launch an integration. To disable this
feature, clear the check box.
Setting Description
Request and response XML display Specifies the font size and style used to display the
request and response XML data. The open editor
updates immediately when you change the font
details.
Do not display messages larger than: Specifies the maximum size of messages to be
displayed in the Web Service Tester's Response
panel. The standard value is 1024 KB. Any
message larger than the value specified is saved
as an attachment. You can save the attachment
locally.
Studio Updates
Update Studio
Context
Just as there's only 1 version of the Workday application that's used by all customers, there's only ever 1
valid release of Workday Studio. Your Studio installation must be up-to-date to interact with your Sandbox
or Production environment.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 332
Steps
1. If an update is available, Studio notifies you when you enter your tenant credentials, either at startup
or later. Confirm that you would like to update, then follow the steps in the Update Workday Studio
wizard.
Note: Don't update the underlying Eclipse platform independently of the Studio update schedule. Doing
so can cause your integrations to fail.
2. If you choose not to update immediately, Studio displays a red arrow in the status bar to act as a
reminder. You can still develop assemblies locally while an update remains uninstalled. However,
you’re prevented from connecting to your Sandbox or Production tenants. To update later, select
Workday > Update Workday Studio.
Note: Studio includes a lightweight version of the Workday Runtime to enable you to test and debug
your integrations. To ensure that you always have access to the same Runtime that’s available in your
production tenant, Studio checks for a Runtime update on start-up. If one is available, it's downloaded
it in the background. To adjust this behavior, select Window > Preferences > Runtime > Automatic
Updates.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 333
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 334
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 335
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 336
Related Information
Reference
FAQ: Encryption, Certificates, and Ciphers for Integrations
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 337
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Studio Management | 338
Note: Studio displays a warning message if you create a collection containing assemblies with different
version numbers. This is because differently versioned assemblies can require conflicting versions of
Saxon, leading to class loading errors at runtime. Best practice is to use the latest assembly versions for all
of your integrations.
Note the following:
• The XPath methods that are available in MVEL for accessing message parts and variables support
XPath 3.0.
• The mctx URL protocol allows XSL developers to write to message parts and variables, for example:
<xsl:result-document href="mctx:vars/var1">...</xsl:result-document>
• Although there is no direct assembly support for XQuery, you can add custom steps to call XQuery
scripts.
Note: XSLT 2.0 and XSLT 3.0 are strongly typed. For example, they do not allow xs:string to be
evaluated for equality in XPath expressions. The following expression, in which stringParam is an XSL
parameter, results in a Saxon runtime error:
$stringParam = true()
The XSL compiler will not encounter the issue at deploy time, because it cannot predict what type the
parameter will have in advance.
Your existing XSL documents and Workday Studio integrations will not be impacted by this strong
typing issue, unless you choose to enable XSLT 3.0 by changing the version attribute value in your XSL
documents to 3.0. If you encounter these runtime errors, which result from the XSLT that you deploy with
your integration, you must take action to fix them.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 339
Note: The following error relating to the Saxon upgrade has been observed in legacy XSL for business
forms printing:
If you encounter this error, check whether your XSL contains the following attribute setting on a sort
element:
case-order="#default"
This optional case-order attribute determines whether the sort lists upper or lower case letters first in the
sort. The default is to list upper case first. The Saxon parser accepts only these values for case-order:
• upper-first
• lower-first
To fix this error, do one of the following:
• Remove the existing case-order attribute from the sort element, because it is an optional setting.
• Set the case-order value explicitly to upper-first.
• Set the case-order value explicitly to lower-first.
Sample Assemblies
Context
Workday Studio enables you to deploy and launch integrations in Workday. This example demonstrates
how to run a basic sample integration.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Hello Cloud.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the HelloCloud folder and double-click the Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 340
Option Description
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the HelloCloud folder and select Deploy to Workday.
9. On the Deploy to Workday window, select the Sandbox environment. Click Finish.
10.On the Cloud Explorer view, expand these nodes: Sandbox > HelloCloudCollection > HelloCloud.
11.Right-click the StartHere integration node and select Launch Integration.
12.Click Launch.
Result
The integration launches in your Workday tenant. The Process Monitor view in Studio displays the status
of the integration.
Next Steps
Sign in to Workday and access the Process Monitor task to display the integration event details for the
sample assembly.
Context
Workday Studio enables you to connect to Workday Web Services. This example demonstrates the SOAP
web service request message Get_Workers_Request. It uses XSLT 3.0 streaming to process the
request.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Hello Workday Web Services.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the HelloWWS folder and double-click the Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the HelloWWS folder and select Deploy to Workday.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 341
9. On the Deploy to Workday window, select the Sandbox environment and click Finish.
10.On the Cloud Explorer view, expand these nodes: Sandbox > HelloWWSCollection > HelloWWS.
11.Right-click the HelloWWS_EntryPoint integration node and select Launch Integration.
12.Click Launch.
Result
The integration launches in your Workday tenant. The Process Monitor view in Studio displays the status
of the integration.
Next Steps
Sign in to Workday and access the Process Monitor task to display the integration event details for the
sample assembly.
Context
This example demonstrates some common integration design patterns. It contains multiple separate
processing chains, each of which illustrates a different pattern.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Common Usage Patterns.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the CommonUsagePatterns folder and double-click the
Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the CommonUsagePatterns folder and select Deploy to
Workday.
9. On the Deploy to Workday window, select the Sandbox environment and click Finish.
10.On the Cloud Explorer view, expand these nodes: Sandbox > CommonUsagePatterns >
CommonUsagePatterns.
11.Right-click the Conditional-Processing integration node and select Launch Integration.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 342
12.Click Launch.
13.Launch each of these integration nodes:
• Enriching
• Global-Error-Handling
• Local-Error-Handling
• Looping
• Request-Response-Processing-Chain
• Response-Chaining
• Routing
• Scalable-Message-Processing
• Simple-Processing-Chain
• SubRoutines
• Variables
The Request-Response-Processing-Chain and Response-Chaining integrations have an additional
launch parameter: Employee_ID. Click Select literal value to configure it.
Result
The integration launches in your Workday tenant. The Process Monitor view in Studio displays the status
of the integration.
Next Steps
Sign in to Workday and access the Process Monitor task to display the integration event details for the
sample assembly.
Context
Workday Studio enables you to detect and debug errors in your integrations. This example demonstrates
how to debug a sample integration.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Debug
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Assembly Debugger.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the AssemblyDebug folder and double-click the Assembly
folder.
4. On the Assembly Editor, right-click each of these assembly elements and select Toggle Assembly
Breakpoint:
• create-get-workers-request
• store-summary-doc
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 343
Result
Studio saves the XML breakpoint files to the AssemblyDebug project folder. You can use these files to
troubleshoot bugs in your assembly.
Next Steps
Open the XML breakpoint files for your assembly.
Context
The workday-in transport component is represented in Workday as an integration system. This sample
demonstrates how you can use MVEL expressions in a Workday Studio assembly to reference the
integration system's services and launch parameters. It contains 3 separate processing chains.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 344
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Workday-In Features.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the WorkdayInFeatures folder and double-click the Assembly
folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the WorkdayInFeatures folder and select Deploy to
Workday.
9. On the Deploy to Workday window, select the Sandbox environment and click Finish.
10.For each of the individual integrations, consider:
Integration Note
AttributesAndMaps After deployment, you can adjust the attribute and
map values in Workday.
a. Access the View Integration System report
and select WorkdayInFeatures-attr-maps.
b. From the related actions menu of the
ExampleAttrMapService integration
service, select Integration Generic Service
> Configure Integration Attributes or
Integration Generic Service > Configure
Integration Maps.
c. Adjust the attribute and map values as
required.
.
LaunchParameters On the Cloud Explorer view in Studio, expand
these nodes: Launch Integration Sandbox >
WorkdayInFeatures > WorkdayInFeatures.
a. On the referenceParam field, click Select
literal values and select an employee.
b. Enter password in the passwordParam field.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 345
Integration Note
a. Access the View Integration System report
and select WorkdayInFeatures-sequences.
b. From the related actions menu of the
ExampleSeqGenService integration service,
select Integration Sequence Generator
Service > Configure Integration Sequence
Generators.
c. In the Increment by field, enter 1.
d. In the Format/Syntax field, enter
file[Seq].csv.
11.On the Cloud Explorer view, expand these nodes: Sandbox > WorkdayInFeatures >
WorkdayInFeatures.
12.Right-click a workday-in transport node and select Launch Integration. Example: AttributesAndMaps.
13.Click Launch.
Result
The integration launches in your Workday tenant. The Process Monitor view in Studio displays the status
of the integration.
Next Steps
Sign in to Workday and access the Process Monitor task to display the integration event details for the
sample assembly.
Context
This example demonstrates several approaches to error handling in Workday Studio. It contains 6 different
processing chains, each of which illustrates a different pattern.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Error Handling.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the ErrorHandling101 folder and double-click the Assembly
folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 346
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the ErrorHandling folder and select Deploy to Workday.
9. On the Deploy to Workday window, select the Sandbox environment and click Finish.
10.On the Cloud Explorer view, expand these nodes: Sandbox > ErrorHandling > ErrorHandling.
11.Right-click a workday-in transport node and select Launch Integration. Example: All-Or-Nothing.
12.Click Launch.
Result
The integration launches in your Workday tenant. The Process Monitor view in Studio displays the status
of the integration.
Next Steps
Sign in to Workday and access the Process Monitor task to display the integration event details for the
sample assembly.
Context
AUnit is a Workday Studio test framework that enables you to perform unit tests on your assemblies. This
example demonstrates how to run AUnit tests. It contains 8 separate processing chains.
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > AUnit Tests.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the AUnit 101 folder and double-click the Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. Run the AUnit 101 sample tests.
a) On the Project Explorer view, expand the src folder.
b) Right-click the com.workday.example.aunit folder.
c) Select Run As > AUnit Test.
Result
Studio displays the results of the sample tests on the Console view.
Next Steps
Navigate to the JUnit view to display a detailed summary of the results.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 347
Context
Workday Studio enables you to generate PDF files in the output of your integrations. This example
demonstrates how to generate basic PDF documents. It contains 3 separate processing chains.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > FOP Step.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the FOPStep folder and double-click the Assembly folder.
4. On the Cloud Explorer view, click Connection Details.
5. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
6. Click Apply and Close.
7. On the Project Explorer view, right-click the FOPStep folder and select Deploy to Workday.
8. On the Deploy to Workday window, select the Sandbox environment. Click Finish.
9. On the Cloud Explorer view, expand these nodes: Sandbox > FOPStep > FOPStep.
10.Right-click the Simple-Start integration node and select Launch Integration.
11.Click Launch.
12.On the Process Monitor view, right-click the integration and select Workday: Integration ESB
Invocation.
13.On the Workday view, enter these values:
Option Description
Username The username credentials for your tenant.
Password The password credentials for your tenant.
14.On the View Background Process window, select the Output Files tab.
15.On the File column of the Reports and Other Output Files table, double-click the PDF file.
16.Launch the Invoice-Start and Kanji-Start integration nodes.
Result
Workday displays the newly generated PDF files.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 348
Next Steps
Download and save the PDF files.
Context
Workday enables you to categorize workers into groups using organization types. This example
demonstrates how to run an integration that extracts the organization type and employee id values of a
worker from Workday.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Extract Organization Data for a Worker.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the OrgDataForWorkerForOrgType folder and double-click the
Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the OrgDataForWorkerForOrgType folder and select
Deploy to Workday.
9. On the Deploy to Workday window, select the Sandbox environment. Click Finish.
10.On the Cloud Explorer view, expand these nodes: Sandbox > OrgDataForWorker >
OrgDataForWorkerForOrgType.
11.Right-click the StartGetOrgForOrgType integration node and select Launch Integration.
12.On the Launch Integration window, navigate to the Launch Parameters section.
13.On the OrgType field, click Select literal values.
14.On the Select Class Report Field window, click Next.
15.On the CRF window, select an organization type. As you complete the task, consider:
Option Description
Name The name of the organization type.
WID The Workday ID of the organization type.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 349
16.Click Finish.
17.On the EmployeeID field, click Select literal values.
18.On the Select Class Report Field window, click Next.
19.On the CRF window, select an employee. As you complete the task, consider:
Option Description
Name The name of the employee.
WID The Workday ID of the employee.
20.Click Finish.
21.Click Launch.
22.On the Process Monitor view, right-click your integration.
23.Select Show Details View.
24.On the Process Details view, expand the OrgType and EmployeeID launch parameter fields.
Result
Studio displays the organization type and employee id values of the worker on the Process Details view.
Context
This example demonstrates how to use the PrismAnalytics component to send CSV data to Workday
Prism Analytics. Source CSV files are provided in the assembly project. For the purposes of this example,
copy these files to an SFTP server for retrieval by the sample assembly.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Steps
1. Register a Prism API client and copy values that the PrismAnalytics component requires.
a) In Workday, access the Register API Client for Integrations task.
b) Register an API client with Prism Analytics as its Scope (Functional Area). Select the Include
Workday Owned Scope check box.
c) Copy the Client ID and Client Secret values.
d) From the related actions menu, select API Client > Manage Refresh Tokens for Integrations.
e) Select a Workday Account to associate with the refresh token. The account must have permission
to create Prism tables in Workday.
f) Generate a refresh token and copy the value.
2. Obtain Workday REST API Endpoint.
a) Access the View API Clients report.
b) Copy the Workday REST API Endpoint value. Delete the https:// at the beginning and the /
ccx/api/v1/<tenant_name> at the end.
3. On the Studio toolbar, select Help > Welcome > Samples > PrismAnalytics.
4. On the Project Names window, click Finish.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 350
5. On the Project Explorer view, expand the PrismAnalytics folder and double-click the Assembly
folder.
6. Copy the provided sample CSV files to your SFTP server.
a) In the PrismAnalytics project folder, expand ws > WSAR-INF > PrismAnalytics Sample CSVs.
b) Copy these files to your SFTP server:
• states.csv
• states2.csv
• states3.csv
• states4.csv
• states5.csv
7. On the Assembly Editor toolbar, click Show annotations.
8. On the Cloud Explorer view, click Connection Details.
9. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
10.Click Apply and Close.
11.On the Project Explorer view, right-click the PrismAnalytics folder and select Deploy to Workday.
12.On the Deploy to Workday window, select the Sandbox environment and click Finish.
13.On the Cloud Explorer view, launch 1 of the integrations in this sample.
a) Expand the Sandbox node.
b) Expand the PrismAnalyticsCollection collection node.
c) Expand the PrismAnalytics project node.
d) Right-click a workday-in transport node and select Launch Integration. Example: SingleCSV.
14.Click Launch.
Result
Workday Prism Analytics creates a table using the CSV data you supplied.
Context
In this example, an integration called PayData Extract extracts data relating to one-time payments for a
pay group. A second Studio integration cycles through the integration event documents and uses XSLT 3.0
streaming to process them.
Steps
1. Create the Payroll Interface Security Group on page 351.
Create a security group with access to the domains required by the payroll interface sample.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 351
Prerequisites
Security: Security Configuration domain in the System functional area.
Context
Before you can run the payroll interface sample in Studio, you need to create a security group in Workday.
Steps
1. Sign in to your Workday test environment.
2. Access the Create Security Group task. As you complete the task, consider:
Option Description
Type of Tenanted Security Group Integration System Security Group
(Unconstrained)
Name Payroll Interface Security
3. Access the View Security Group report.
4. Select Payroll Interface Security from the Security Group prompt.
5. From the related actions menu of the security group, select Security Group > Maintain Domain
Permissions for Security Group.
6. Select these domains from the Domain Security Policies permitting Get access prompt:
• Payroll Interface
• Manage: Organization Integration
• Worker Data: Public Worker Reports
• Worker Data: Compensation by Organization
Workday alerts you that you must activate your security policy changes.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 352
7. Access the Activate Pending Security Policy Changes task and enter a comment.
8. Select the Confirm check box.
Result
Workday adds your new security group to the domain security policies of each relevant functional area.
Next Steps
Create an integration system user to run the PayData Extract integration.
Prerequisites
Security: Integration Build and Integration Configure domains in the Integration functional area.
Context
Create an integration in Workday that extracts one-time payment data.
Steps
1. Sign in to your Workday test environment.
2. Access the Create Integration System task.
3. As you complete the Create Integration System task, consider:
Option Description
System Name PayData Extract
New Using Template Payroll Interface
4. On the Configure Integration Services page, select the Enabled check box for these integration
services:
• Payroll Interface/PI Change Detection Launch Parameters
• Payroll Interface/PI Pay Data Section Fields
• Payroll Interface/PI Filename
Workday alerts you that you must assign values to some Integration Attributes and configure a
Sequence Generator for the integration system.
5. On the related actions menu for the PayData Extract integration system, select Workday Account >
Edit.
6. On the Workday Account prompt, enter the name of the integration system user for the PayData
Extract integration system.
7. On the Edit Account for Integration System page, click OK.
8. On the related actions menu for the PayData Extract integration system, select Integration System >
Configure Integration Attributes. As you complete the task consider:
Option Description
Version Add a row and select the value 25.
Output Document Tags Add a row, select Create Document Tag, and
enter the Document Tag Name PICOF.
Primary Payroll Integration Add a row.
Payroll Vendor Add a row and select any vendor.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 353
9. On the related actions menu for the PayData Extract integration system, select Integration System >
Configure Integration Field Attributes.
10.In the Field Configuration section, select the Include in Output check box for these fields:
• Code
• Date
• Earning or Deduction
• Amount
11.On the related actions menu for the PayData Extract integration system, select Integration System >
Configure Integration Sequence Generators.
12.On the Configure Integration Sequence Generators page, consider:
Option Description
Increment by 1
Format/Syntax Payrollinterface-paydata-[Seq].xml
Result
Workday configures the PayData Extract integration system.
Next Steps
Test the PayData Extract integration system.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Context
Before you can run the payroll interface sample in Studio, you need to test the integration system for it in
Workday.
Steps
1. Sign in to your Workday test environment.
2. Access the View Integration System task.
3. On the Integration System prompt, enter PayData Extract.
4. On the related actions menu for the PayData Extract integration system, select Integration > Launch/
Schedule.
5. On the Schedule an Integration page, enter these values in the Value column:
Option Description
Pay Group Select any pay group that has one-time
payments.
Pay Period Selection Option Use Pay Period for Current Date.
Last Successful Run Select a date after which there have been new
one-time payments.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 354
Result
The PayData Extract integration system launches in Workday.
Next Steps
Deploy the PayData integration to Workday from Studio.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
Context
The Studio PayData integration cycles through the PayData Extract integration event documents and
uses XSLT 3.0 streaming to process them. Before you can launch it, you must deploy it to Workday.
Steps
1. On the Studio toolbar, select Help > Welcome > Samples > Payroll Interface.
2. On the Project Names window, click Finish.
3. On the Project Explorer view, expand the PayData folder and double-click the Assembly folder.
4. On the Assembly Editor toolbar, click Show annotations.
5. On the Cloud Explorer view, click Connection Details.
6. Select the Sandbox environment and enter these values on the Connections window:
Option Description
Tenant The name of your tenant.
Username The username credentials for your tenant.
Password The password credentials for your tenant.
7. Click Apply and Close.
8. On the Project Explorer view, right-click the PayData folder and select Deploy to Workday.
9. On the Deploy to Workday window, select the Sandbox environment. Click Finish.
Result
Studio deploys the PayData sample integration to Workday.
Next Steps
Create an integration system user to run the PayData integration.
Prerequisites
Security: Integration Configure domain in the Integration functional area.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 355
Context
Assign an integration system user to the PayData integration system in Workday.
Steps
1. On the Cloud Explorer view, expand these nodes: Sandbox > PayData > PayData.
2. Right-click the StartHere integration node.
3. Select Workday: Integration System.
4. On the Workday view, consider:
Option Description
Username The username credentials for your Workday
tenant.
Password The password credentials for your tenant.
5. On the related actions menu for the PayData integration system, select Workday Account > Edit.
6. On the Workday Account prompt, enter the name of the integration system user for the PayData
integration system.
7. On the Edit Account for Integration System page, click OK.
Result
Workday assigns an integration system user to the PayData integration system.
Next Steps
Link the PayData Extract and PayData integrations.
Prerequisites
Security: Integration Configure domain in the Integration functional area.
Context
Link the PayData Extract and PayData integrations in Workday.
Steps
1. Sign in to your Workday test environment.
2. Access the View Integration System task.
3. On the Integration System prompt, enter PayData Extract.
4. On the related actions menu for the PayData Extract integration system, select Business Process >
Create, Copy, or Link Definition.
5. Click OK to create a new business process definition.
6. On the Business Process Steps tab of the Edit Business Process Integration Process Event for
PayData Extract (TOP LEVEL) page, click Add Row. On the new row, consider:
Option Description
Order c
Type Integration
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Sample Assemblies | 356
Result
Workday links the PayData Extract and PayData integrations together to deliver the required output.
Next Steps
Launch the linked PayData Extract and PayData integrations in Workday.
Prerequisites
Security: These domains in the Integration functional area:
• Integration Build
• Integration Configure
• Integration Event
Context
Launch the PayData Extract integration that is now linked to the PayData integration.
Steps
1. Sign in to your Workday test environment.
2. Access the View Integration System task.
3. On the Integration System prompt, enter PayData Extract.
4. On the related actions menu for the PayData Extract integration system, select Integration > Launch/
Schedule.
5. On the Schedule an Integration page, enter these values in the Value column:
Option Description
Pay Group Select any pay group that has one-time
payments.
Pay Period Selection Option Use Pay Period for Current Date.
Last Successful Run Select a date after which there have been new
one-time payments.
6. Launch the integration and refresh until it completes.
7. On the Event Documents section, note the CSV file that Workday produced. Example:
payrollinterface-paydata-1.csv.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 357
Glossary
Glossary
In this book, you can explore Workday glossary terms.
Approve
An action in a business process that designated participants select to progress the event to the next step.
Assignable Roles
Positions you can assign to organization roles.
Business Object
Objects used to store data in Workday (such as organizations or workers). A business object has fields and
instances, which are analogous to rows and columns in a spreadsheet. Workday links related business
objects: a worker is associated with a position, the position to a job profile, and so on.
Conditions
Conditions are one or more logical matches that are resolved to True or False and used to decide if some
action should be taken. You can add conditions to steps in a business process to determine if the step
should run.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 358
Custom Report
Reports not delivered by Workday and built using the Workday Report Writer. Can be created new or by
copying another standard or custom report.
Data Source
A data source defines a set of business object instances for reporting purposes. Allows reporting access to
all business objects related to those in the data source.
Domain
A collection of related securable items such as actions, reports, report data, report data sources, or custom
report fields. Each domain is secured by a domain security policy.
Event
A business process transaction that occurs within your organization, such as hiring or terminating an
employee.
Functional Area
A collection of domain or business process security policies that are related to the same set of product
features, for example, Benefits or Compensation.
Initiation Step
The first step of a business process.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 359
Landing Page
Landing pages display a collection of worklets. Landing pages may have different display formats (grid or
bubble) and support different functions. The Home landing page is intended for common worklets, such as
self-service worklets.
Position Restrictions
The attributes and conditions that apply to an unfilled position in a supervisory organization that uses the
position management staffing model. Example: Job profile, location, qualifications, and worker type.
Role Assignee
A person, position, or position restriction assigned to a role.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 360
Role Assigner
A business object that you assign a role for. It is also called a role-enabled object.
Role Assignment
The combination of a role assigner and a role.
Roles
Groupings of specific responsibilities within an organization that are assigned to positions. A role is
assigned to a security group to gain access to data associated with the role's responsibilities.
Securable Item
An action, report, or data that is part of a security policy. You secure access by defining the security
policy to restrict access to an item to specified security groups. Related securable items are grouped into
domains.
Security Group
A collection of users or objects that are related to users. Security group access to a securable item in a
security policy grants access to the users associated with the security group.
Segment
A grouping of related securable items, such as pay components, that can be secured together using a
segment-based security group for that segment.
Standard Report
Reports that Workday creates and delivers to all Workday customers. Workday creates standard reports
using Report Writer or XpressO, an internal development tool. You can only copy and modify standard
reports created with Report Writer.
Target
The object that a business process operates on. For example, for business processes that deal with an
employee record, the target is the employee. Because the target determines the organization, it controls
which business process custom definition Workday uses.
Task
A step, either standalone or in business process, that you must complete. For example, task alert
notifications are triggered by steps in a business process.
Temporary Report
A custom report that you designate as Temporary when creating the report. Workday automatically
deletes temporary simple reports after 7 days. For advanced and matrix reports you can change the
Temporary option on the Advanced tab of the report definition.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 361
To Dos
Reminders to do something outside of Workday. They can be part of business processes, and must be
marked complete before the workflow will advance to the next step.
View (permission)
The ability to see objects or data through the Workday user interface, when permitted in a domain security
policy.
Worklet
A compact report displayed as an icon (a tile or a bubble) on any landing page, providing easy access
to tasks and information that are used regularly. Examples: My Leadership Roles, Open Positions, and
Anniversaries.
Worktag
A named attribute that you can assign to events and objects to indicate their business purpose. For
example, you can create a Customer worktag, whose values are the names of your customers. You can
use the worktag to assign a customer to an expense in an expense report or a product sales event.
Accounting Cash
A group of cash ledger accounts that you can use to check cash balances against during settlement.
Award
A contract agreement with your sponsor in the form of funding to perform an activity for a public purpose.
It defines how to capture direct and facilities and administration costs, recognize revenue, and bill your
sponsor.
Award Credits
Percentage of award or award lines you allocate to specific worktags for reporting purposes.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 362
Basis Limit
The maximum amount of direct costs you can use to calculate facilities and administration costs.
Grant
A worktag that you can use to capture expenses.
Object Class
The spend categories that award sponsors agree to reimburse award recipients for maintaining their
projects.
Payment Group
The payments that result from a settlement run.
Project Asset
A container that captures separate, ongoing costs of a capital project in progress. You can associate
multiple projects assets with a project to track costs over the life of a project.
Revenue Category
An attribute in customer contracts and billing used to search for and report on goods and services you sell.
Also a dimension in account posting rule types for customer contracts, billing, and accounts receivable that
drives accounting behavior.
Spend Category
A logical grouping to search and report on acquired items and services. Also a dimension in account
posting rules for procurement and spend that drives accounting behavior.
Unnamed Resources
Placeholders for project resources that you can use to assign tasks and perform resource forecasting
without specific resource assignments.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 363
HCM Glossary
Academic Unit
A Workday organization type that represents a school, college, university, or other unit of your institution.
These units can recruit prospective students, admit students, offer programs of study or courses, or
administer financial aid. Academic units are also used with academic appointments in Workday.
Active Candidate
A person with an application for a specific job requisition. Candidates must be linked to a job requisition for
Workday to initiate a job application event.
Auto-fill
A time entry option that copies time blocks from a worker's schedule or from a previous week when
entering time.
Calculated Time
Result of applying time calculations to a worker's reported time. Automates application of company or
regulatory rules.
Candidate
Candidates include both prospects and active candidates.
Candidate Pipeline
All active candidates.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 364
Candidate Pool
Candidates grouped together based on specific criteria.
Cascading Leave
A sequence of related leave types that are linked together. When an employee meets the conditions
defined for ending a leave, Workday generates a return from leave request and a separate request for the
next leave.
Compensation Basis
A grouping of compensation components, such as salary, commission, and allowance plans, that define
estimated earnings for an employee population.
Compensation Component
The umbrella term for compensation packages, grades, grade profiles, and plans that can be associated
with compensation eligibility rules.
Compensation Element
Compensation elements link Compensation to Payroll. When a compensation element is attached to a plan
that is assigned to an employee, Workday can determine which earnings to use to pay the employee.
Compensation Package
A grouping of compensation guidelines (grades, grade profiles, and their associated steps) and plans that
you can assign to workers as a set. Packages provide a quick view of the eligible plans for a particular job
or group of employees.
Compensation Rule
Guidelines for determining which workers are eligible for which components of compensation.
Compensation Step
A specific monetary amount within a grade or grade profile.
Conditional Calculation
Time calculation that tags time blocks that meet certain conditions.
Coverage Target
Defines whether a specific health care plan or insurance plan applies only to the employee or also to the
dependents, spouse, family, and so on.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 365
Day Breaker
The time of day on which a worker's work day and work week begins. Defines the 24-hour period over
which daily time calculations execute and the 168-hour period over which weekly time calculations
execute. Unless otherwise specified, the default day breaker is 12am.
Disposition
Status of candidates that have been rejected for hire or declined a job during the job application event.
Grade Profile
A breakdown of a compensation grade by functional task, geographical region, or other categorization your
business requires. A profile enables you to assign more granular compensation ranges to workers.
Headcount Plan
Provides visibility into the number of workers necessary to achieve your business goals within a specified
period of time.
Individual Target
An individual bonus or merit target for a worker during a compensation review process that overrides the
target defined on the compensation plan.
Job Profile
The generic features and characteristics of a job or position, such as management level, pay rate type,
compensation, skills, and other qualifications.
Leave Family
A set of similar leave of absence types. Example: A company-specific family includes disability leave and
bereavement leave, while a separate regulatory family includes jury duty and family medical leave.
Linked Leave
A leave type that shares an entitlement with other leave types or time offs. Eligibility rules, validation rules,
and supporting data reference the combined balance of the associated leave types and time offs. Also
known as coordinated leaves and time off.
Micro-edit
The ability to edit existing time blocks or add time blocks directly to a day by clicking the time entry
calendar.
Multiplier-Based Coverage
Insurance coverage based on multiples of salary, such as 1x, 2x, or 3x salary.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 366
Passive Event
Events that result from the passage of time rather than from a specific change to employee data.
Position Restrictions
The attributes and conditions that apply to an unfilled position in a supervisory organization that uses the
position management staffing model. Example: Job profile, location, qualifications, and worker type.
Pre-Hire
In Staffing, an individual you're tracking before employment. In Recruiting, a candidate who is in the Offer,
Employment Agreement, Background Check, or Ready for Hire stage.
Prospect
Someone you are interested in tracking who isn't associated with a specific job. You can use tags,
prospect types, and prospect statuses to help track these individuals.
Quick Add
A time entry option that enables you to create a time block and copy it to multiple days in a week.
Reported Time
A worker's time that has been entered, but has not had any time calculations applied.
Staffing Model
A structure that defines how jobs and positions are created and filled in a supervisory organization.
Workday supports 2 kinds of staffing models:
• Job management.
• Position management.
Staffing Organization
An organization category that includes supervisory organizations, matrix organizations, or retiree
organizations.
Termination Adjustment
A time off adjustment that automatically sets the remaining balance of a worker's time off plan to zero upon
the worker's termination.
Time Block
A time block carries information about a portion of time, such as the number of hours worked or in/out
times. Time blocks can be reported or calculated, but only calculated time blocks are pulled into Workday
Payroll.
Time Calculation
A set of rules to apply time calculation tags to calculated time blocks for Payroll or other purposes.
Example: You could create a time calculation to convert regular hours into overtime hours automatically if a
worker works more than 40 hours in a week.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 367
Time Off
The rules that apply to a specific type of time off, including eligibility rules, whether adjustments are
allowed, and limits that differ from the time off plan.
Time Shift
A grouping of consecutive time blocks that you can use in standard overtime calculations, time block
conditional calculations, and validations.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 368
Worker
An employee or a contingent worker.
Integration Glossary
Connector
A set of 1 or more integration templates that provide a framework for building integrations in a particular
functional area. The integration can support a specific type of data, or can support a specific endpoint
(example: Salesforce.com or Okta).
Field Overrides
A tool that lets you customize integration systems that are based on a connector template. Field overrides
are managed through an integration service. They use calculated fields or report fields to supply values to
an integration system. Example: member IDs in benefit provider integrations.
Integration Attribute
An integration component that specifies the tenanted value of a data element in Workday. Example: Plan
Sponsor Name is a type of attribute in benefit provider integrations.
Integration Map
An integration component that specifies how values in Workday map to values in an external system.
Example: Pay Rate Frequency is a type of map in third-party payroll integrations.
Integration Service
A group of related integration attributes, maps, and XSLT that provides a framework to transform Workday
data into the format required by an external system.
Integration System
A tenanted definition of an integration between Workday and an external system based on a template that
provides the methodology for communicating data.
Integration Template
A collection of integration services that enables communication between Workday and an external system.
Workday provides integration templates in categories such as Benefits, Financials, HCM, Payroll, Payroll
Interface, Procurement, Recruiting, Security, and Settlement. Many of the delivered templates contain
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 369
default values for attributes, as well as prompt values for attributes and maps, to define the integration
further.
Integration Transformation
Converts data into a format that Workday or a receiving external system can understand. Workday
provides some delivered transformations, and you can also create custom transformations.
Reference ID
A unique identifier used to look up data for integration purposes.
System User
An account associated with and required to launch a Connector or Studio integration. Workday delivered
integrations and custom integrations require a system user account for authentication and web service
calls. A system user account is not associated with a person in Workday.
Workday Studio
An Eclipse-based development environment that enables you to build more complex integrations with
Workday.
Payroll Glossary
Manual Payment
A record of a payment made outside of Workday Payroll used to maintain accurate payroll information.
Example: Payments for the exercise of stock options.
Off-Cycle Payment
A payment made outside the regularly scheduled payroll run. Manual, on-demand, reversals and history
payments are classified as off cycle.
On-Cycle Payment
A payment made in a scheduled payroll run.
On-Demand Payment
An off-cycle payment that replaces, or is issued in addition to, a worker's on-cycle pay.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 370
Payroll Effect
An option available in Workday Absence Management to stop paying workers while on leave. You can
configure a run category to pay workers on certain leave types when the Payroll Effect option is enabled for
the leave type.
Related Calculation
A calculation that returns a value, such as hours, rate, or percent.
Run Category
Specifies which employees to process, and which pay components to calculate for each type of payroll run.
Student Glossary
Academic Unit
A Workday organization type that represents a school, college, university, or other unit of your institution.
These units can recruit prospective students, admit students, offer programs of study or courses, or
administer financial aid. Academic units are also used with academic appointments in Workday.
Application Grouping
A grouping of applications for the same admitting level of an academic unit and the same anticipated start
date. Groupings can have 1 or more application pools, with an admissions counselor assigned to each
pool.
Applicant Pool
A subset of applications in an application grouping. Applicant pools enable you to control and adjust
workload for application reviewers.
Conversation Tag
A descriptor, such as Dietary Restrictions or Special Needs that you can assign to an engagement
conversation to identify its topic. You can search for conversations by conversation tag.
Conversation Topic
A conversation tag or recruiting event name that you can associate with an engagement conversation to
make conversations easier to find.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 371
Designation
An attribute, such as Community Learning Partner, Honors, or STEM, that you can associate with
educational institutions and external associations to make them easy to find and report on.
Dynamic Period
A date that identifies the anticipated start date for a student of online education or other asynchronous
learning.
Educational Taxonomy
A taxonomy scheme and set of codes you can assign to programs of study and their concentrations to
meet state, local, or other classification requirements.
Engagement Item
An engagement email or printed engagement item. You can include engagement items in engagement
plans and use them to support student recruiting events.
External Association
A nonprofit, community-based, or other noneducational organization that you can associate with student
prospects or identify as a location for recruiting events.
Fast Path
A streamlined approach to moving applications for admission from submission to matriculation as quickly
as possible.
Recipient Threshold
The maximum number of prospects to whom you can send an engagement item at the same time without
requiring approval.
Recruiting Cycle
A recruiting period for 1 or more academic levels of an academic unit. You associate recruiting cycles with
campaigns to measure the effectiveness of each campaign per recruiting cycle.
Stage
A value, such as Lead, Inquirer, or Applicant, that identifies where a student prospect is in the recruitment
or admissions process.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential
| Glossary | 372
Student Tags
An attribute, such as Veteran, Athlete, or Scholarship Recipient, that you can assign to student prospects.
You can use tags to match student prospects to recruiters automatically, find prospects, and use as criteria
for associating engagement plans with prospects.
©2023 Workday, Inc. All rights reserved Workday Proprietary and Confidential