Skip to content

Types

flowtask.components.Workday.types

LocationType

LocationType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Locations operation.

execute async

execute(**kwargs)

Execute the Get_Locations operation and return a pandas DataFrame.

Supported parameters: - location_id: Specific location ID to fetch (uses Request_References) - location_name: Filter by location name (uses Request_Criteria) - location_type: Filter by location type - location_usage: Filter by location usage - inactive: Filter by inactive status (True/False)

get_active_locations async

get_active_locations()

Convenience method to get all active locations.

get_location_by_id async

get_location_by_id(location_id)

Convenience method to get a specific location by ID.

get_location_by_name async

get_location_by_name(location_name)

Convenience method to get a specific location by name.

get_locations_by_type async

get_locations_by_type(location_type)

Convenience method to get locations by type.

OrganizationType

OrganizationType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Organizations operation.

execute async

execute(**kwargs)

Execute the Get_Organizations operation and return a pandas DataFrame.

Supported parameters: - organization_id: Specific organization ID to fetch (uses Request_References) - organization_id_type: Type of organization ID (WID, Organization_Reference_ID, Cost_Center_Reference_ID, etc.) - organization_type: Filter by organization type (Company, Cost Center, Custom, Matrix, Pay Group, Region, Retiree, Supervisory, etc.) - include_inactive: Include inactive organizations (True/False) - enable_transaction_log_lite: Enable transaction log lite (True/False)

get_active_organizations async

get_active_organizations()

Get only active organizations.

:return: DataFrame with active organizations data

get_all_organizations async

get_all_organizations(include_inactive=True)

Get all organizations (active and optionally inactive).

:param include_inactive: Whether to include inactive organizations :return: DataFrame with all organizations data

get_companies async

get_companies()

Get only company organizations.

:return: DataFrame with company organizations data

get_cost_centers async

get_cost_centers()

Get only cost center organizations.

:return: DataFrame with cost center organizations data

get_organization_by_cost_center_id async

get_organization_by_cost_center_id(cost_center_id)

Get a specific organization by Cost Center Reference ID.

:param cost_center_id: The organization Cost Center Reference ID to fetch :return: DataFrame with organization data

get_organization_by_id async

get_organization_by_id(organization_id, id_type='Organization_Reference_ID')

Get a specific organization by ID.

:param organization_id: The organization ID to fetch :param id_type: Type of ID (WID, Organization_Reference_ID, Cost_Center_Reference_ID, etc.) :return: DataFrame with organization data

get_organization_by_wid async

get_organization_by_wid(wid)

Get a specific organization by WID.

:param wid: The organization WID to fetch :return: DataFrame with organization data

get_organizations_by_type async

get_organizations_by_type(organization_type)

Get organizations filtered by type.

:param organization_type: Organization type (Company, Cost Center, Custom, Matrix, Pay Group, Region, Retiree, Supervisory, etc.) :return: DataFrame with organizations data

get_supervisory_organizations async

get_supervisory_organizations()

Get only supervisory organizations.

:return: DataFrame with supervisory organizations data

TimeBlockType

TimeBlockType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Calculated_Time_Blocks operation.

execute async

execute(**kwargs)

Execute the Get_Calculated_Time_Blocks operation and return a pandas DataFrame.

Supported parameters: - worker_id: Specific worker ID to fetch time blocks for - start_date: Start date for date range filter (YYYY-MM-DD) - end_date: End date for date range filter (YYYY-MM-DD) - time_block_id: Specific time block ID to fetch - status: Filter by status - supervisory_org: Filter by supervisory organization - include_deleted: Whether to include deleted time blocks (default: False)

get_time_blocks_by_date_range async

get_time_blocks_by_date_range(start_date, end_date, status=None)

Convenience method to get time blocks for a date range.

get_time_blocks_by_worker async

get_time_blocks_by_worker(worker_id, start_date=None, end_date=None)

Convenience method to get time blocks for a specific worker.

TimeRequestType

TimeRequestType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handles Get_Time_Requests operation for Workday Time Tracking API.

execute async

execute(**kwargs)

Execute the Get_Time_Requests operation.

get_time_request_by_id async

get_time_request_by_id(time_request_id)

Get a specific time request by ID.

get_time_requests_by_date_range async

get_time_requests_by_date_range(start_date, end_date)

Get all time requests within a date range.

get_time_requests_by_organization async

get_time_requests_by_organization(supervisory_organization_id, start_date=None, end_date=None)

Get time requests for a specific organization within an optional date range.

get_time_requests_by_worker async

get_time_requests_by_worker(worker_id, start_date=None, end_date=None)

Get time requests for a specific worker within an optional date range.

safe_serialize

safe_serialize(df)

Safely serialize the DataFrame for JSON output.

WorkerType

WorkerType(component, max_retries=5, retry_delay=0.2)

Bases: WorkdayTypeBase

Handler for the Workday Get_Workers operation, batching pages so that no more than max_parallel requests run concurrently.

:param component: Component instance :param max_retries: Maximum retry attempts (default: 5 for connection resilience) :param retry_delay: Base delay between retries in seconds (default: 0.5 for exponential backoff)

execute async

execute(**kwargs)

Execute the Get_Workers operation and return a pandas DataFrame.

If worker_id is provided, fetches only that one; otherwise fetches all pages in batches of at most max_parallel concurrent requests.

base

WorkdayTypeBase

WorkdayTypeBase(component, max_retries=3, retry_delay=0.5)

Bases: ABC

Base class for Workday operation types.

Provides
  • Default payload structure for all Workday operations.
  • Generic pagination logic with retries and logging.
  • Common SOAP response handling utilities.

:param component: Component instance (used for run, logger, metrics). :param max_retries: Maximum number of retry attempts per page on failure. :param retry_delay: Seconds to wait between retry attempts.

execute abstractmethod async
execute(**kwargs)

Execute the specific operation logic. Must be implemented by subclasses.

location_hierarchy_assignments

Get_Location_Hierarchy_Organization_Assignments operation handler.

This module handles the Get_Location_Hierarchy_Organization_Assignments operation which retrieves organization assignments for location hierarchies.

LocationHierarchyAssignmentsType

LocationHierarchyAssignmentsType(component, max_retries=5, retry_delay=2.0, **kwargs)

Bases: WorkdayTypeBase

Handler for Get_Location_Hierarchy_Organization_Assignments operation.

Retrieves organization assignments for location hierarchies.

:param component: Component instance :param max_retries: Maximum retry attempts (default: 5 for connection resilience) :param retry_delay: Delay between retries in seconds (default: 2.0 for API rate limiting) :param kwargs: Additional parameters

execute async
execute(**kwargs)

Execute Get_Location_Hierarchy_Organization_Assignments operation.

Parameters:

Name Type Description Default
**kwargs

Additional parameters including: - location_hierarchy_ids: List of location hierarchy IDs to fetch - location_hierarchy_id_type: Type of ID (WID, Organization_Reference_ID) - as_of_effective_date: Date for effective data - as_of_entry_datetime: Date/time for entry data - page: Page number for pagination - count: Number of results per page

{}

Returns:

Type Description
DataFrame

pandas DataFrame containing the location hierarchy organization assignments

get_all_assignments async
get_all_assignments(**kwargs)

Get all location hierarchy organization assignments.

Parameters:

Name Type Description Default
**kwargs

Additional parameters for filtering

{}

Returns:

Type Description
DataFrame

DataFrame with all location hierarchy organization assignments

get_assignments_by_location_hierarchy async
get_assignments_by_location_hierarchy(location_hierarchy_id, id_type='Organization_Reference_ID')

Get organization assignments for a specific location hierarchy.

Parameters:

Name Type Description Default
location_hierarchy_id str

The location hierarchy ID to fetch

required
id_type str

Type of ID (WID, Organization_Reference_ID)

'Organization_Reference_ID'

Returns:

Type Description
DataFrame

DataFrame with organization assignments for the location hierarchy

locations

LocationType

LocationType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Locations operation.

execute async
execute(**kwargs)

Execute the Get_Locations operation and return a pandas DataFrame.

Supported parameters: - location_id: Specific location ID to fetch (uses Request_References) - location_name: Filter by location name (uses Request_Criteria) - location_type: Filter by location type - location_usage: Filter by location usage - inactive: Filter by inactive status (True/False)

get_active_locations async
get_active_locations()

Convenience method to get all active locations.

get_location_by_id async
get_location_by_id(location_id)

Convenience method to get a specific location by ID.

get_location_by_name async
get_location_by_name(location_name)

Convenience method to get a specific location by name.

get_locations_by_type async
get_locations_by_type(location_type)

Convenience method to get locations by type.

organization_single

Get_Organization operation handler.

This module handles the Get_Organization operation which retrieves a specific organization by its ID (singular, not plural).

GetOrganization

GetOrganization(client, **kwargs)

Bases: WorkdayTypeBase

Handler for Get_Organization operation.

Retrieves a specific organization by its ID.

execute async
execute(organization_id, organization_id_type='Organization_Reference_ID', **kwargs)

Execute Get_Organization operation to retrieve a specific organization.

Parameters:

Name Type Description Default
organization_id str

The ID of the organization to retrieve

required
organization_id_type str

The type of ID (Organization_Reference_ID, WID, etc.)

'Organization_Reference_ID'
**kwargs

Additional parameters

{}

Returns:

Type Description
DataFrame

pandas DataFrame containing the organization data

get_organization_by_custom_id async
get_organization_by_custom_id(custom_id, **kwargs)

Get organization by Custom_Organization_Reference_ID.

Parameters:

Name Type Description Default
custom_id str

The Custom_Organization_Reference_ID

required
**kwargs

Additional parameters

{}

Returns:

Type Description
DataFrame

pandas DataFrame containing the organization data

get_organization_by_reference_id async
get_organization_by_reference_id(reference_id, **kwargs)

Get organization by Organization_Reference_ID.

Parameters:

Name Type Description Default
reference_id str

The Organization_Reference_ID

required
**kwargs

Additional parameters

{}

Returns:

Type Description
DataFrame

pandas DataFrame containing the organization data

get_organization_by_wid async
get_organization_by_wid(wid, **kwargs)

Get organization by WID.

Parameters:

Name Type Description Default
wid str

The WID of the organization

required
**kwargs

Additional parameters

{}

Returns:

Type Description
DataFrame

pandas DataFrame containing the organization data

organizations

OrganizationType

OrganizationType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Organizations operation.

execute async
execute(**kwargs)

Execute the Get_Organizations operation and return a pandas DataFrame.

Supported parameters: - organization_id: Specific organization ID to fetch (uses Request_References) - organization_id_type: Type of organization ID (WID, Organization_Reference_ID, Cost_Center_Reference_ID, etc.) - organization_type: Filter by organization type (Company, Cost Center, Custom, Matrix, Pay Group, Region, Retiree, Supervisory, etc.) - include_inactive: Include inactive organizations (True/False) - enable_transaction_log_lite: Enable transaction log lite (True/False)

get_active_organizations async
get_active_organizations()

Get only active organizations.

:return: DataFrame with active organizations data

get_all_organizations async
get_all_organizations(include_inactive=True)

Get all organizations (active and optionally inactive).

:param include_inactive: Whether to include inactive organizations :return: DataFrame with all organizations data

get_companies async
get_companies()

Get only company organizations.

:return: DataFrame with company organizations data

get_cost_centers async
get_cost_centers()

Get only cost center organizations.

:return: DataFrame with cost center organizations data

get_organization_by_cost_center_id async
get_organization_by_cost_center_id(cost_center_id)

Get a specific organization by Cost Center Reference ID.

:param cost_center_id: The organization Cost Center Reference ID to fetch :return: DataFrame with organization data

get_organization_by_id async
get_organization_by_id(organization_id, id_type='Organization_Reference_ID')

Get a specific organization by ID.

:param organization_id: The organization ID to fetch :param id_type: Type of ID (WID, Organization_Reference_ID, Cost_Center_Reference_ID, etc.) :return: DataFrame with organization data

get_organization_by_wid async
get_organization_by_wid(wid)

Get a specific organization by WID.

:param wid: The organization WID to fetch :return: DataFrame with organization data

get_organizations_by_type async
get_organizations_by_type(organization_type)

Get organizations filtered by type.

:param organization_type: Organization type (Company, Cost Center, Custom, Matrix, Pay Group, Region, Retiree, Supervisory, etc.) :return: DataFrame with organizations data

get_supervisory_organizations async
get_supervisory_organizations()

Get only supervisory organizations.

:return: DataFrame with supervisory organizations data

time_blocks

TimeBlockType

TimeBlockType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handler for the Workday Get_Calculated_Time_Blocks operation.

execute async
execute(**kwargs)

Execute the Get_Calculated_Time_Blocks operation and return a pandas DataFrame.

Supported parameters: - worker_id: Specific worker ID to fetch time blocks for - start_date: Start date for date range filter (YYYY-MM-DD) - end_date: End date for date range filter (YYYY-MM-DD) - time_block_id: Specific time block ID to fetch - status: Filter by status - supervisory_org: Filter by supervisory organization - include_deleted: Whether to include deleted time blocks (default: False)

get_time_blocks_by_date_range async
get_time_blocks_by_date_range(start_date, end_date, status=None)

Convenience method to get time blocks for a date range.

get_time_blocks_by_worker async
get_time_blocks_by_worker(worker_id, start_date=None, end_date=None)

Convenience method to get time blocks for a specific worker.

time_requests

TimeRequestType

TimeRequestType(component, max_retries=3, retry_delay=0.5)

Bases: WorkdayTypeBase

Handles Get_Time_Requests operation for Workday Time Tracking API.

execute async
execute(**kwargs)

Execute the Get_Time_Requests operation.

get_time_request_by_id async
get_time_request_by_id(time_request_id)

Get a specific time request by ID.

get_time_requests_by_date_range async
get_time_requests_by_date_range(start_date, end_date)

Get all time requests within a date range.

get_time_requests_by_organization async
get_time_requests_by_organization(supervisory_organization_id, start_date=None, end_date=None)

Get time requests for a specific organization within an optional date range.

get_time_requests_by_worker async
get_time_requests_by_worker(worker_id, start_date=None, end_date=None)

Get time requests for a specific worker within an optional date range.

safe_serialize
safe_serialize(df)

Safely serialize the DataFrame for JSON output.

workers

WorkerType

WorkerType(component, max_retries=5, retry_delay=0.2)

Bases: WorkdayTypeBase

Handler for the Workday Get_Workers operation, batching pages so that no more than max_parallel requests run concurrently.

:param component: Component instance :param max_retries: Maximum retry attempts (default: 5 for connection resilience) :param retry_delay: Base delay between retries in seconds (default: 0.5 for exponential backoff)

execute async
execute(**kwargs)

Execute the Get_Workers operation and return a pandas DataFrame.

If worker_id is provided, fetches only that one; otherwise fetches all pages in batches of at most max_parallel concurrent requests.