EIB Overview
EIB Overview
The Enterprise Interface Builder (EIB) allows users to perform simple and secure integrations with Workday. Unlike other Workday
integrations, the purpose of the EIB, which uses no third-party software or hardware, is to allow customers to build their own
integrations according to their unique business scenarios.
All Workday customer data is stored as objects within a persistent, in-memory store. Originally, a suite of business services called the
Object Management System (OMS) maintained the relationships and integrity of these objects. Over time, the OMS has evolved to
become a set of microservices that scale based on transaction and reporting demand. The only way to access Workday object data is
via web service requests (OMS). This is an important aspect of how Workday addresses issues such as security and performance.
All communication with the Workday services is via HTTPS requests. Users generally access Workday through web browsers. The User
Interface Server (UI Server) handles these requests, presenting HTML forms for user interaction, while communicating with the
Workday platform using XML messages. Developers also connect via the UI Server to make use of the browser-based tools, for
example, when configuring Integration Systems or building integrations using Enterprise Interface Builder (EIB).
Workday has application programming interfaces (APIs) that support both inbound and outbound requests for mobile applications
and data-driven integrations that do not use the Workday UI.
There are three ways to access the web services to get and update data via an integration system to your Workday tenant.
You may use the delivered configurable integrations (Cloud Connect),
the integration tools to create integration systems (EIB and Workday Studio)
or your own existing middleware.
Inbound
Outbound
The Enterprise Interface Builder (EIB) tool provides an easy-to-use graphical and guided interface to define inbound and
outbound integrations with little to no programming. Both IT users and business experts can leverage EIB to address
simple integration needs.
Transformation: There are also multiple options for transforming data using the EIB:
Alternate Output Format
Custom Report Transformation
Custom XSLT
EIB LIMITATIONS
OUTBOUND EIB
OVERVIEW
Outbound EIBs are used to extract information from the Workday system, and either attach it back to the customer’s tenant for
future use or reference or send it somewhere for further processing. The Enterprise Interface Builder is used to create, configure and
launch simple interfaces as background processes.
CREATE EIB
Locate the Create EIB task. Enter the integration system name and direction, and click OK to launch the guided editor.
GENERAL SETTINGS
The General Settings include the name and description of the interface.
GET DATA
For an outbound EIB, the Data Source is either a Custom Report or a Workday Web Service (WWS) operation. For custom reports,
you can select an Alternate Output Format instead of the default Workday XML.
TRANSFORM
EIB supports Custom Report Transformation (for Reports-as-a-Service data sources, only) and Custom Transformation (XSLT).
DELIVER
Outbound EIBs support several Delivery Methods, as well as file compression and encryption options. The default method, Workday
Attachment, stores the data in the Workday cloud.
REPORTS-AS-A-SERVICE (RAAS)
Workday enables you to build your own web services through our Report Writer / Custom Reports functionality. When custom
reports are web service-enabled, they become Reports-as-a-Service (RaaS) and are exposed as both SOAP- and REST-based web
services for integration scenarios. Only Advanced reports can be enabled for web services.
95% of outbound EIB integrations use a RaaS data source. When you enable web services for an advanced custom report and expose
the report for integration scenarios, the maximum size of the response that can be returned is 2 GB.
NAMESPACE
When you enable a custom report as a web service, Workday generates a unique RaaS namespace for the report, using the following
format: urn:com.workday.report/Report_Name (where Report_Name is the name of the report with underscores replacing spaces).
The RaaS namespace remains fixed even if the report owner changes due to transfers of ownership or if the report name changes.
This prevents integrations that rely on the report's output from being unable to retrieve data if the report owner changes.
You can edit the namespace for a custom report. However, you should consider the following:
Workday does not verify that a changed RaaS namespace is unique.
If you have any integrations that use the report, you will have to update them to use the new RaaS namespace.
Reports that are enabled for web services must have XML aliases defined for all columns, prompts, and related business objects.
Workday XML may be too complex for many integration needs, such as quickly creating a refreshable report with Microsoft Excel. In
such cases, the Simple XML option may be more appropriate.
SIMPLE XML
Simple XML is particularly useful for basic desktop integrations, in which a knowledgeable user wants to integrate with other
reporting tools such as Microsoft Excel or Crystal Reports. With Simple XML, the complexity of Workday XML is distilled into basic
XML elements that are simple to understand and can be processed by many desktop applications.
Simple XML results in XML that is easier to read and understand than Workday XML. Here are a couple of key examples of how it is
different:
Single-instance fields are changed to simple string-type elements.
Multi-instance fields are changed to simple string-type elements.
Multi-instance fields within the primary business object are changed to simple string-type elements, with a semi-colon
separating each value.
Data fields that only contain dates (that is, they do not contain times) output dates only, with no times or offset from GMT.
RSS: RSS stands for Really Simple Syndication. It is an XML standard for publishing frequently updated content over the Internet.
Common examples of such content are news headlines and blog postings.
GData: The GData output option is useful for integrations with Google gadgets and other cases where it is desirable to allow
programmatic access to this data format.
JSON: The JSON (JavaScript Object Notation) output is the most common alternative to XML for data interchange between browser-
based applications and web servers.
SECURITY PROXY
Sometimes the Workday account that needs to launch the EIB does not have security privileges to run the report that is configured as
the data source. It is possible to create a security proxy to grant access to the report only for executing the integration. This ensures
the integration user can access only the report, and no other items.
Security Note: Security Proxies only allow for outbound EIBs with a custom report as a data source to be launched by users who are
not the report owner. Unlike a Proxy Access Policy, this does not provide any other access to Workday data or functions, not even the
ability to run the report outside of an EIB.
Once the security proxy is created, the EIB must have the Run As User set to the Proxied Workday Account. Now the Authorized
Workday Account will be able to launch the EIB.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SCHEDULE AN INTEGRATION
The Integration Scheduler can launch an integration background process immediately or on a schedule. To schedule an integration,
use the Integration > Launch/Schedule related action off the EIB integration system, or initiate the Launch/Schedule Integration task.
Important: You must set the Selection Criteria before setting the Scheduling Parameters. The criteria becomes read-only after leaving
this tab.
The Scheduled Future Processes report enables you to view the integration requests that are scheduled, but not yet run. This
includes both recurring integrations and one-time integrations scheduled to run at a future date or time. Through the Integration
Requests report, you can view the details of the integration request by clicking on the Integration Process description associated with
integration request.
You can also suspend or activate a scheduled integration by selecting the appropriate related action on the Integration Process
Description field associated with the integration request. Suspending an integration request causes the system to continue to
increment the recurrence at the appropriate time, but does not initiate the integration background process. Activating a suspended
integration request causes the system to resume launching an integration background process at the next appropriate time based on
the scheduled recurrence. The Status column on the Scheduled Future Processes report indicates whether an integration request is
currently active or suspended.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TRANSFORMATION
OVERVIEW
In addition to delivered transformations, such as the alternate output formats for RaaS reports, EIB supports custom methods to
transform data to meet external system needs.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
CORE CONNECTORS
Workday Connectors are pre-built integration templates that extend Workday's functionality to external systems for Human Capital
Management (HCM), Payroll, Payroll Interface, Financial Management, and Spend Management. All integrations are hosted and
maintained by Workday.
All Connectors require some level of tenant configuration and testing. Each customer may have specific mapping requirements and
different endpoint configurations. These differences in customer configurations can be accommodated with Workday's integration
templates and mapping capabilities.
Workday Connectors are currently available for:
Benefits
HCM
Workday Payroll
Third-Party Payroll
Financials
Spend Management
For more information on available connectors, navigate to the following documentation section: Getting Started with Workday
Connectors
Each Workday Connector is a packaged integration template with a configurable set of data across a range of categories. Core
Connectors let you specify which data elements to include in integration output files. When launched, the integration collects a
snapshot of all data and creates an output file in XML format based on your specifications.
All Workday Connector integrations create integration output files in a Workday-defined XML format. This output can be configured
for delivery, or further transformation.
Many Workday integrations are simple enough to set up on your own. You start with an integration template that provides a
framework for Workday to communicate with an external system. Each integration template contains a set of integration services,
comprised of integration attributes and maps that define specific connection points. To reduce complexity, many integration
templates have factory default settings for common definitions and system requirements. By building in default values for the
technical aspects of an integration, Workday lets you focus on the functional setup tasks related to your data.
Integration systems are tenanted definitions of a Workday integration. An integration system has the following building blocks:
Integration Template An integration template is 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
default values for attributes, as well as prompt values for attributes and maps, to define the integration further.
Integration Service Contains a set of attributes and maps related to a specific integration function. Integration services use
XSLT (eXtensible Stylesheet Language Transformations) to convert Workday XML into a format that an external system can
read. Integration services focus on functional areas (such as account provisioning and health insurance), as well as
integration behavior (such as document retention, field overrides, and file delivery).
Integration Attribute are an integration component that specifies the tenanted value of a data element in Workday.
Example: The Core Connector Worker template provides attributes to define address types, name types and country code
types. In addition, there are general attributes to control behavior such as including prior values.
Integration Map An integration map is an integration component that specifies how values in Workday map to values in an
external system. Example: The Core Connector Worker template provides integration maps for a variety of fields such as
marital status, gender, hire reason and worker type.
Transaction Log Provides a record of business processes and events in Workday. Integrations can subscribe to specific
transaction log events to capture the changes to employee data that are relevant to an external system. Note: Some
Connectors, including job posting, location, and competency, do not include a Transaction Log service, as the underlying
Workday web services (get_location) do not include it.
CHAPTER 2 – CORE CONNECTOR: WORKER
CORE CONNECTOR: WORKER
Worker integration system exports worker data changes from Workday in simple XML format. Workday also supports output in CSV
(Comma Separated Value) format, with certain limitations. As you hire, promote, transfer, terminate, or update worker data, the
integration generates a text file containing the changes.
Using configurable data sections or Workday-delivered report fields and calculated fields that you create, you can export any worker
data, in any combination.
CHANGE DETECTION
The Core Connector: Worker detects changes to worker data by monitoring a transaction log. When you set up the integration
system, you may select which business processes and transaction types that the integration system should subscribe to. However, if
your integration system does not subscribe to a transaction type that affects your worker's profile, Workday will not include changes
triggered by that transaction type.
The Core Connector: Worker integration uses a three-step process to detect and report changes:
1. When the Core Connector: Worker integration checks the transaction log, the integration determines which workers have had
changes which resulted in the generation of at least one of the configured transaction events.
2. For each worker with a matching transactional change, the integration compares their report fields for the time at which the
integration was run and the time at which it was last successfully run. It identifies which, if any, of the values of interest have been
modified.
3. If the worker has any changes in field values or eligibility, Workday generates an appropriate creation, change or deletion message.
FULL-DIFF EXTRACT
You can configure your Core Connector: Worker integration to select all workers who meet the eligibility criteria, then determine
changes for the returned data. To enable this option, disable the Transaction Log service. When you run the integration, Workday
extracts all applicable data for the defined population of employees. If any data for an employee changed during the defined date
range, Workday includes all data for that employee.
WORKER ELIGIBILITY
For each integration system, you define a group of workers that belongs to the integration system. Membership is defined by a single
Boolean report field or calculated field. If the field value is true for a worker, that worker is a member of the group, and changes for
that worker are included in the integration. If the field value is false, the integration system ignores that worker.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When you are defining which services to include, you can add a custom service. For example, to add a group of fields not included in
the underlying web service operation, create a new Integration Field Override Service.
When you create the service, you give the service a name, associate it to a Business Object and define the fields. These fields will be
mapped later in the Integration System Field Override Service.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
To modify field attributes for an integration, as a related action on the integration system, select Integration System > Configure
Integration Field Attributes.
Before building an integration with the Core Connector:Worker template, familiarize yourself with each data section to understand
which fields are available for output and how the configuration options affect integration behavior. For more information on data
sections, navigate to the following documentation section:
Reference: Core Connector: Worker Integration Data Sections
During integration setup, enable the integration services for each data section that you want to include in the output file. All enabled
data sections will be available to configure via the Configure Integration Field Attributes related action.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INTEGRATION ATTRIBUTES
Integration attributes provides one or more tenanted values for a data element in Workday. For example, attributes define deduction
codes, pay rate types, benefit plan names, and citizenship status. These attributes are configurable and can be required for launch.
Integration attributes are configurable constants that may need to be changed occasionally in Workday. To modify attributes for an
integration navigate to the related action Integration System > Configure Integration Attributes on the integration system.
For Cloud Connect Integration templates the configurable attributes are defined in the documentation on Workday Community. To
see a full list of Core Connector: Worker integration attributes view the following documentation page: Create Core Connector:
Worker Integration System
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
INTEGRATION MAPS
An integration map is an integration component that is used to specify how values in Workday map to values in an external system.
Example: Within the Global Modern Services (GMS) tenant Workday has three different values for gender; Male, Female and Not
Declared. The third party system being integrated with however is expecting values of M,F and Other. While this remapping of values
could be done in a transformation as post processing, it is more efficient to have Workday simply output the remapped values via an
integration map.
In addition to the maps that are provided by default on a template by template basis Workday provides the ability to create your own
custom map. This is particularly useful when your integration is leveraging integration field overrides and those fields being brought
in need to be remapped. Access the integration system’s Related Actions icon, and select Integration System > Maintain Integration
Maps to create a new custom map. TEGRATION MAPS
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Business Case: You will create a new integration system based on the Core Connector: Worker integration system template. This
integration system will be used to extract Worker data including Personal Data, Status Data, Position Data and Compensation Data. In
this activity you will create the integration system and then configure the integration services, integration attributes, integration field
attributes, integration overrides and the integration maps.
3. In the Comment box enter a simple description for the integration system
4. From the New using Template radio button, select the By Integration Template Category>Cloud Connect for HCM > Core
Connector: Worker
5. Click OK
3. In the Integration Service prompt select Create > Create Integration Field Override Service
Note: The search functionality is not enabled for the Business Object field. Locate Worker by clicking into the prompt and
scrolling through the list.
6. Under fields click the plus sign twice to add two additional rows. Name the rows INIT, UNAME, and WID. Enter
corresponding Descriptions of Initials, User Name and Workday ID of the Worker
7. Click OK to save your Integration Field Override Service and return to the Configure Integration Services page.
8. Review the list of services to ensure the previously selected services are still enabled.
9. Click OK to save your Integration Services and return to the View Integration System page.
Note: Upon returning to the View Integration System page, notice the red error on the right hand side of the page
indicating that there is an Integration Attribute marked as “Required for Launch” that has no value assigned.
3. Click OK to save your Integration Attributes and return to the View Integration System page. The red error will now be
gone.
2. In the Worker Personal Data Section Fields select Include in Output for the following fields:
Name Data / First Name
Gender
Hire Date
Business Title
Worker Type
Note: If you are not returned to your integration system navigate back to it by searching for intsys:WICT and selecting the
WICT_HCM_Workers integration system.
2. Configure the Eligibility criterion by setting the WICT_HCM_Workers/Define Eligibility Override External Field to Active
Status (Workday Delivered T/F field)
2. Within the Core Connector: Integration Maps – Worker map provider locate the Gender map. Click the + sign three times to
add three rows.
3. Configure the map as follows:
4. Click OK
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
LAUNCHING AN INTEGRATION SYSTEM
To launch an integration, run the Launch / Schedule Integration task. This task can be run directly, or it can be accessed via an
integration system’s related action icon and selecting Integration > Launch/Schedule. The Launch / Schedule Integration task has the
following four parameters:
Integration: This parameter specifics the integration system you wish to launch. Integration systems that currently have
critical errors in their configuration cannot be selected. If accessing this task via the related actions of an integration system,
the integration parameter will be pre-populated.
Organization: This parameter is used to limit the scope of the integration run to the selected organization and any of its
subordinates.
Run Frequency: The Run Frequency parameter defaults to Run Now which represents and ad-hoc run at that moment. This
would be considered a manual launch. Selecting any other frequency would be used to configure a scheduled launch. The
scheduled frequencies are Run Once in the Future, Daily Recurrence, Weekly Recurrence and Monthly Recurrence.
Run as Current User: This parameter has no underlying functionality. Connector based integrations always run as the
current user unless an Integration System User account has been configured.
After providing parameters to the Launch / Schedule Integration task and clicking OK you will be taken to the Schedule an Integration
page. For Core Connector Worker integrations there are seven launch parameters. The Core Connector: Date Launch Parameters
extract records that are current as of the specified As Of Entry Moment and Effective Date parameters. If Full File is not selected,
then the extract includes only those records that are detected to have changed in one or more output fields as compared to what
was current as of the Last Successful As Of Entry Moment and Last Successful Effective Date parameters.
As Of Entry Moment: The As of Entry Moment launch parameter defines the end of a date range during which changes
were entered. This parameter defaults to the current moment.
Effective Date: The Effective Date launch parameter defines the end of a date range during which changes became effective.
The integration extracts all changes with effective dates on or before this date. This parameter defaults to the current date.
Last Successful As of Entry Moment: This launch parameter defaults to the As of Entry Moment (date and time) used in the
last successful integration system launch. You can override this date and time in order to force the integration to search for
and retrieve data changes over a wider period.
Last Successful Effective Date: This launch parameter defaults to the Effective Date (date) used in the last successful
integration system launch. The parameter defines the beginning of a date range during which changes became effective.
In addition to the Core Connector: Date Launch Parameters, Core Connector Worker provides three additional launch parameters
under Core Connector: Worker Integration Configuration as follows:
Workers: This launch parameter enables you to restrict the integration to only considering those workers selected in this
list. This parameter is unset by default.
Restrict Results By Orgs: This launch parameter enables you to restrict the integration to only considering workers within an
Organization as well as any subordinates. This parameter is unset by default.
Full File: This launch parameter is used to extract all data, regardless of how recently it was changed. Workers must still
fulfill the eligibility rule to be included in the output. This parameter is unset by default.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Business Case: In this activity, you will launch your integration system a total of three times. To see the impact of a data change you
will modify personal data information for Logan McNeil between the second and third run. The resulting file will contain only
changed worker data.
2. Specify the following Integration Criteria Launch parameters and click OK.
3. While viewing the background process click Refresh to manually refresh the page. It will take a few moments for the
integration system to complete.
4. Once the Status of the Background Process shows Completed, click the Output Files tab.
2. Click OK
3. Leave all Integration Criteria Launch parameters set to the values defaulted in and click OK.
4. Once the Status of the Background Process shows Completed, click the Output Files tab.
5. Open the WICT_HCM_Workers_Output.xml output file and review the results
How many Workers are returned?
COMPLETE A DATA CHANGE THEN RUN THE INTEGRATION SYSTEM A THIRD TIME
1. Navigate to the profile of Logan McNeil by clicking on her name in the top right corner of the screen and then click View
Profile.
2. Select Contact and click the Edit button.
3. Scroll down and change Logan’s Work - Primary Email to [email protected] and click Submit
4. Search for and run the Launch/Schedule Integration task, entering the following information:
5. Click OK
6. Leave all Integration Criteria Launch parameters set to the values defaulted in and click OK.
7. Once the Status of the Background Process shows Completed, click the Output Files tab.
8. Open the WICT_HCM_Workers_Output.xml output file and review the results
How many Workers are returned?