wfmconnect

package
v1.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// WFMPerformInitialClientSetupProcedure is the fully-qualified name of the WFM's
	// PerformInitialClientSetup RPC.
	WFMPerformInitialClientSetupProcedure = "/api.v1alpha1.wfm.WFM/PerformInitialClientSetup"
	// WFMListSkillProfilesProcedure is the fully-qualified name of the WFM's ListSkillProfiles RPC.
	WFMListSkillProfilesProcedure = "/api.v1alpha1.wfm.WFM/ListSkillProfiles"
	// WFMUpdateSkillProfileProcedure is the fully-qualified name of the WFM's UpdateSkillProfile RPC.
	WFMUpdateSkillProfileProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProfile"
	// WFMUpdateSkillProfileProficienciesProcedure is the fully-qualified name of the WFM's
	// UpdateSkillProfileProficiencies RPC.
	WFMUpdateSkillProfileProficienciesProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProfileProficiencies"
	// WFMGetSkillProfileProcedure is the fully-qualified name of the WFM's GetSkillProfile RPC.
	WFMGetSkillProfileProcedure = "/api.v1alpha1.wfm.WFM/GetSkillProfile"
	// WFMResyncSkillProfilesProcedure is the fully-qualified name of the WFM's ResyncSkillProfiles RPC.
	WFMResyncSkillProfilesProcedure = "/api.v1alpha1.wfm.WFM/ResyncSkillProfiles"
	// WFMGetLastSkillProfileResyncDateProcedure is the fully-qualified name of the WFM's
	// GetLastSkillProfileResyncDate RPC.
	WFMGetLastSkillProfileResyncDateProcedure = "/api.v1alpha1.wfm.WFM/GetLastSkillProfileResyncDate"
	// WFMUpsertForecastingParametersProcedure is the fully-qualified name of the WFM's
	// UpsertForecastingParameters RPC.
	WFMUpsertForecastingParametersProcedure = "/api.v1alpha1.wfm.WFM/UpsertForecastingParameters"
	// WFMGetForecastingParametersProcedure is the fully-qualified name of the WFM's
	// GetForecastingParameters RPC.
	WFMGetForecastingParametersProcedure = "/api.v1alpha1.wfm.WFM/GetForecastingParameters"
	// WFMGetClientHistoryCacheInfoProcedure is the fully-qualified name of the WFM's
	// GetClientHistoryCacheInfo RPC.
	WFMGetClientHistoryCacheInfoProcedure = "/api.v1alpha1.wfm.WFM/GetClientHistoryCacheInfo"
	// WFMListHistoricalDataProcedure is the fully-qualified name of the WFM's ListHistoricalData RPC.
	WFMListHistoricalDataProcedure = "/api.v1alpha1.wfm.WFM/ListHistoricalData"
	// WFMUpsertHistoricalDataDeltaProcedure is the fully-qualified name of the WFM's
	// UpsertHistoricalDataDelta RPC.
	WFMUpsertHistoricalDataDeltaProcedure = "/api.v1alpha1.wfm.WFM/UpsertHistoricalDataDelta"
	// WFMUpsertHistoricalDataDeltasProcedure is the fully-qualified name of the WFM's
	// UpsertHistoricalDataDeltas RPC.
	WFMUpsertHistoricalDataDeltasProcedure = "/api.v1alpha1.wfm.WFM/UpsertHistoricalDataDeltas"
	// WFMListSkillsProcedure is the fully-qualified name of the WFM's ListSkills RPC.
	WFMListSkillsProcedure = "/api.v1alpha1.wfm.WFM/ListSkills"
	// WFMBuildCallProfileTemplateForSkillProfileProcedure is the fully-qualified name of the WFM's
	// BuildCallProfileTemplateForSkillProfile RPC.
	WFMBuildCallProfileTemplateForSkillProfileProcedure = "/api.v1alpha1.wfm.WFM/BuildCallProfileTemplateForSkillProfile"
	// WFMBuildCallProfileTemplateProcedure is the fully-qualified name of the WFM's
	// BuildCallProfileTemplate RPC.
	WFMBuildCallProfileTemplateProcedure = "/api.v1alpha1.wfm.WFM/BuildCallProfileTemplate"
	// WFMCreateInactiveSkillProfileMappingProcedure is the fully-qualified name of the WFM's
	// CreateInactiveSkillProfileMapping RPC.
	WFMCreateInactiveSkillProfileMappingProcedure = "/api.v1alpha1.wfm.WFM/CreateInactiveSkillProfileMapping"
	// WFMGetAvailableRegressionForecasterModelTypesProcedure is the fully-qualified name of the WFM's
	// GetAvailableRegressionForecasterModelTypes RPC.
	WFMGetAvailableRegressionForecasterModelTypesProcedure = "/api.v1alpha1.wfm.WFM/GetAvailableRegressionForecasterModelTypes"
	// WFMDisconnectInactiveSkillProfileMappingProcedure is the fully-qualified name of the WFM's
	// DisconnectInactiveSkillProfileMapping RPC.
	WFMDisconnectInactiveSkillProfileMappingProcedure = "/api.v1alpha1.wfm.WFM/DisconnectInactiveSkillProfileMapping"
	// WFMCreateSkillProfileGroupProcedure is the fully-qualified name of the WFM's
	// CreateSkillProfileGroup RPC.
	WFMCreateSkillProfileGroupProcedure = "/api.v1alpha1.wfm.WFM/CreateSkillProfileGroup"
	// WFMUpdateSkillProfileGroupProcedure is the fully-qualified name of the WFM's
	// UpdateSkillProfileGroup RPC.
	WFMUpdateSkillProfileGroupProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProfileGroup"
	// WFMListSkillProfileGroupsProcedure is the fully-qualified name of the WFM's
	// ListSkillProfileGroups RPC.
	WFMListSkillProfileGroupsProcedure = "/api.v1alpha1.wfm.WFM/ListSkillProfileGroups"
	// WFMUpdateSkillProfileGroupAssociationsProcedure is the fully-qualified name of the WFM's
	// UpdateSkillProfileGroupAssociations RPC.
	WFMUpdateSkillProfileGroupAssociationsProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProfileGroupAssociations"
	// WFMDeleteHistoricalDataDeltasProcedure is the fully-qualified name of the WFM's
	// DeleteHistoricalDataDeltas RPC.
	WFMDeleteHistoricalDataDeltasProcedure = "/api.v1alpha1.wfm.WFM/DeleteHistoricalDataDeltas"
	// WFMListTopSkillProfilesProcedure is the fully-qualified name of the WFM's ListTopSkillProfiles
	// RPC.
	WFMListTopSkillProfilesProcedure = "/api.v1alpha1.wfm.WFM/ListTopSkillProfiles"
	// WFMGetSkillProfilesCountProcedure is the fully-qualified name of the WFM's GetSkillProfilesCount
	// RPC.
	WFMGetSkillProfilesCountProcedure = "/api.v1alpha1.wfm.WFM/GetSkillProfilesCount"
	// WFMBuildProfileForecastByIntervalProcedure is the fully-qualified name of the WFM's
	// BuildProfileForecastByInterval RPC.
	WFMBuildProfileForecastByIntervalProcedure = "/api.v1alpha1.wfm.WFM/BuildProfileForecastByInterval"
	// WFMBuildProfileForecastByIntervalWithStatsProcedure is the fully-qualified name of the WFM's
	// BuildProfileForecastByIntervalWithStats RPC.
	WFMBuildProfileForecastByIntervalWithStatsProcedure = "/api.v1alpha1.wfm.WFM/BuildProfileForecastByIntervalWithStats"
	// WFMUpsertProfileForecastProcedure is the fully-qualified name of the WFM's UpsertProfileForecast
	// RPC.
	WFMUpsertProfileForecastProcedure = "/api.v1alpha1.wfm.WFM/UpsertProfileForecast"
	// WFMCreateCallProfileTemplateProcedure is the fully-qualified name of the WFM's
	// CreateCallProfileTemplate RPC.
	WFMCreateCallProfileTemplateProcedure = "/api.v1alpha1.wfm.WFM/CreateCallProfileTemplate"
	// WFMDeleteCallProfileTemplateProcedure is the fully-qualified name of the WFM's
	// DeleteCallProfileTemplate RPC.
	WFMDeleteCallProfileTemplateProcedure = "/api.v1alpha1.wfm.WFM/DeleteCallProfileTemplate"
	// WFMCreateRegressionTemplateProcedure is the fully-qualified name of the WFM's
	// CreateRegressionTemplate RPC.
	WFMCreateRegressionTemplateProcedure = "/api.v1alpha1.wfm.WFM/CreateRegressionTemplate"
	// WFMDeleteRegressionTemplateProcedure is the fully-qualified name of the WFM's
	// DeleteRegressionTemplate RPC.
	WFMDeleteRegressionTemplateProcedure = "/api.v1alpha1.wfm.WFM/DeleteRegressionTemplate"
	// WFMListRegressionTemplatesProcedure is the fully-qualified name of the WFM's
	// ListRegressionTemplates RPC.
	WFMListRegressionTemplatesProcedure = "/api.v1alpha1.wfm.WFM/ListRegressionTemplates"
	// WFMListForecastIntervalsForSkillProfileProcedure is the fully-qualified name of the WFM's
	// ListForecastIntervalsForSkillProfile RPC.
	WFMListForecastIntervalsForSkillProfileProcedure = "/api.v1alpha1.wfm.WFM/ListForecastIntervalsForSkillProfile"
	// WFMListForecastIntervalsProcedure is the fully-qualified name of the WFM's ListForecastIntervals
	// RPC.
	WFMListForecastIntervalsProcedure = "/api.v1alpha1.wfm.WFM/ListForecastIntervals"
	// WFMBuildRegressionForecastByIntervalProcedure is the fully-qualified name of the WFM's
	// BuildRegressionForecastByInterval RPC.
	WFMBuildRegressionForecastByIntervalProcedure = "/api.v1alpha1.wfm.WFM/BuildRegressionForecastByInterval"
	// WFMBuildRegressionForecastByIntervalWithStatsProcedure is the fully-qualified name of the WFM's
	// BuildRegressionForecastByIntervalWithStats RPC.
	WFMBuildRegressionForecastByIntervalWithStatsProcedure = "/api.v1alpha1.wfm.WFM/BuildRegressionForecastByIntervalWithStats"
	// WFMListCallProfileTemplatesProcedure is the fully-qualified name of the WFM's
	// ListCallProfileTemplates RPC.
	WFMListCallProfileTemplatesProcedure = "/api.v1alpha1.wfm.WFM/ListCallProfileTemplates"
	// WFMUpsertRegressionForecastProcedure is the fully-qualified name of the WFM's
	// UpsertRegressionForecast RPC.
	WFMUpsertRegressionForecastProcedure = "/api.v1alpha1.wfm.WFM/UpsertRegressionForecast"
	// WFMUpsertForecastDataDeltaProcedure is the fully-qualified name of the WFM's
	// UpsertForecastDataDelta RPC.
	WFMUpsertForecastDataDeltaProcedure = "/api.v1alpha1.wfm.WFM/UpsertForecastDataDelta"
	// WFMUpsertForecastDataDeltasProcedure is the fully-qualified name of the WFM's
	// UpsertForecastDataDeltas RPC.
	WFMUpsertForecastDataDeltasProcedure = "/api.v1alpha1.wfm.WFM/UpsertForecastDataDeltas"
	// WFMDeleteForecastIntervalsProcedure is the fully-qualified name of the WFM's
	// DeleteForecastIntervals RPC.
	WFMDeleteForecastIntervalsProcedure = "/api.v1alpha1.wfm.WFM/DeleteForecastIntervals"
	// WFMListHistoricalDataForAllSkillProfilesProcedure is the fully-qualified name of the WFM's
	// ListHistoricalDataForAllSkillProfiles RPC.
	WFMListHistoricalDataForAllSkillProfilesProcedure = "/api.v1alpha1.wfm.WFM/ListHistoricalDataForAllSkillProfiles"
	// WFMBuildDOWAndMOYProfilesProcedure is the fully-qualified name of the WFM's
	// BuildDOWAndMOYProfiles RPC.
	WFMBuildDOWAndMOYProfilesProcedure = "/api.v1alpha1.wfm.WFM/BuildDOWAndMOYProfiles"
	// WFMCalculateTrainingDataAveragesForSkillProfileProcedure is the fully-qualified name of the WFM's
	// CalculateTrainingDataAveragesForSkillProfile RPC.
	WFMCalculateTrainingDataAveragesForSkillProfileProcedure = "/api.v1alpha1.wfm.WFM/CalculateTrainingDataAveragesForSkillProfile"
	// WFMUpdateSkillProfileAveragesUsingHistoricalDataProcedure is the fully-qualified name of the
	// WFM's UpdateSkillProfileAveragesUsingHistoricalData RPC.
	WFMUpdateSkillProfileAveragesUsingHistoricalDataProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProfileAveragesUsingHistoricalData"
	// WFMUpdateCallCenterNodeProcedure is the fully-qualified name of the WFM's UpdateCallCenterNode
	// RPC.
	WFMUpdateCallCenterNodeProcedure = "/api.v1alpha1.wfm.WFM/UpdateCallCenterNode"
	// WFMCreateClientNodeProcedure is the fully-qualified name of the WFM's CreateClientNode RPC.
	WFMCreateClientNodeProcedure = "/api.v1alpha1.wfm.WFM/CreateClientNode"
	// WFMUpdateClientNodeProcedure is the fully-qualified name of the WFM's UpdateClientNode RPC.
	WFMUpdateClientNodeProcedure = "/api.v1alpha1.wfm.WFM/UpdateClientNode"
	// WFMCreateLocationNodeProcedure is the fully-qualified name of the WFM's CreateLocationNode RPC.
	WFMCreateLocationNodeProcedure = "/api.v1alpha1.wfm.WFM/CreateLocationNode"
	// WFMUpdateLocationNodeProcedure is the fully-qualified name of the WFM's UpdateLocationNode RPC.
	WFMUpdateLocationNodeProcedure = "/api.v1alpha1.wfm.WFM/UpdateLocationNode"
	// WFMCreateProgramNodeProcedure is the fully-qualified name of the WFM's CreateProgramNode RPC.
	WFMCreateProgramNodeProcedure = "/api.v1alpha1.wfm.WFM/CreateProgramNode"
	// WFMUpdateProgramNodeProcedure is the fully-qualified name of the WFM's UpdateProgramNode RPC.
	WFMUpdateProgramNodeProcedure = "/api.v1alpha1.wfm.WFM/UpdateProgramNode"
	// WFMListProgramNodesBySidProcedure is the fully-qualified name of the WFM's ListProgramNodesBySid
	// RPC.
	WFMListProgramNodesBySidProcedure = "/api.v1alpha1.wfm.WFM/ListProgramNodesBySid"
	// WFMCreateConstraintRuleProcedure is the fully-qualified name of the WFM's CreateConstraintRule
	// RPC.
	WFMCreateConstraintRuleProcedure = "/api.v1alpha1.wfm.WFM/CreateConstraintRule"
	// WFMUpdateConstraintRuleProcedure is the fully-qualified name of the WFM's UpdateConstraintRule
	// RPC.
	WFMUpdateConstraintRuleProcedure = "/api.v1alpha1.wfm.WFM/UpdateConstraintRule"
	// WFMDeleteConstraintRuleProcedure is the fully-qualified name of the WFM's DeleteConstraintRule
	// RPC.
	WFMDeleteConstraintRuleProcedure = "/api.v1alpha1.wfm.WFM/DeleteConstraintRule"
	// WFMCreateNonSkillActivityProcedure is the fully-qualified name of the WFM's
	// CreateNonSkillActivity RPC.
	WFMCreateNonSkillActivityProcedure = "/api.v1alpha1.wfm.WFM/CreateNonSkillActivity"
	// WFMUpdateNonSkillActivityProcedure is the fully-qualified name of the WFM's
	// UpdateNonSkillActivity RPC.
	WFMUpdateNonSkillActivityProcedure = "/api.v1alpha1.wfm.WFM/UpdateNonSkillActivity"
	// WFMListNonSkillActivitiesProcedure is the fully-qualified name of the WFM's
	// ListNonSkillActivities RPC.
	WFMListNonSkillActivitiesProcedure = "/api.v1alpha1.wfm.WFM/ListNonSkillActivities"
	// WFMListNonSkillActivityAssociationsProcedure is the fully-qualified name of the WFM's
	// ListNonSkillActivityAssociations RPC.
	WFMListNonSkillActivityAssociationsProcedure = "/api.v1alpha1.wfm.WFM/ListNonSkillActivityAssociations"
	// WFMListCandidateSchedulingActivitiesProcedure is the fully-qualified name of the WFM's
	// ListCandidateSchedulingActivities RPC.
	WFMListCandidateSchedulingActivitiesProcedure = "/api.v1alpha1.wfm.WFM/ListCandidateSchedulingActivities"
	// WFMCreateAgentGroupProcedure is the fully-qualified name of the WFM's CreateAgentGroup RPC.
	WFMCreateAgentGroupProcedure = "/api.v1alpha1.wfm.WFM/CreateAgentGroup"
	// WFMListAgentScheduleGroupsProcedure is the fully-qualified name of the WFM's
	// ListAgentScheduleGroups RPC.
	WFMListAgentScheduleGroupsProcedure = "/api.v1alpha1.wfm.WFM/ListAgentScheduleGroups"
	// WFMUpdateAgentGroupProcedure is the fully-qualified name of the WFM's UpdateAgentGroup RPC.
	WFMUpdateAgentGroupProcedure = "/api.v1alpha1.wfm.WFM/UpdateAgentGroup"
	// WFMCreateUnassignedWFMAgentProcedure is the fully-qualified name of the WFM's
	// CreateUnassignedWFMAgent RPC.
	WFMCreateUnassignedWFMAgentProcedure = "/api.v1alpha1.wfm.WFM/CreateUnassignedWFMAgent"
	// WFMUpdateWFMAgentProcedure is the fully-qualified name of the WFM's UpdateWFMAgent RPC.
	WFMUpdateWFMAgentProcedure = "/api.v1alpha1.wfm.WFM/UpdateWFMAgent"
	// WFMListAllWFMAgentsProcedure is the fully-qualified name of the WFM's ListAllWFMAgents RPC.
	WFMListAllWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/ListAllWFMAgents"
	// WFMListCandidateWFMAgentsProcedure is the fully-qualified name of the WFM's
	// ListCandidateWFMAgents RPC.
	WFMListCandidateWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/ListCandidateWFMAgents"
	// WFMListUngroupedWFMAgentsProcedure is the fully-qualified name of the WFM's
	// ListUngroupedWFMAgents RPC.
	WFMListUngroupedWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/ListUngroupedWFMAgents"
	// WFMListWFMAgentSidsProcedure is the fully-qualified name of the WFM's ListWFMAgentSids RPC.
	WFMListWFMAgentSidsProcedure = "/api.v1alpha1.wfm.WFM/ListWFMAgentSids"
	// WFMListUnassignedWFMAgentsProcedure is the fully-qualified name of the WFM's
	// ListUnassignedWFMAgents RPC.
	WFMListUnassignedWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/ListUnassignedWFMAgents"
	// WFMListWFMAgentsAssociatedWithAgentGroupProcedure is the fully-qualified name of the WFM's
	// ListWFMAgentsAssociatedWithAgentGroup RPC.
	WFMListWFMAgentsAssociatedWithAgentGroupProcedure = "/api.v1alpha1.wfm.WFM/ListWFMAgentsAssociatedWithAgentGroup"
	// WFMCreateWFMAgentMembershipsProcedure is the fully-qualified name of the WFM's
	// CreateWFMAgentMemberships RPC.
	WFMCreateWFMAgentMembershipsProcedure = "/api.v1alpha1.wfm.WFM/CreateWFMAgentMemberships"
	// WFMCopyWFMAgentMembershipsProcedure is the fully-qualified name of the WFM's
	// CopyWFMAgentMemberships RPC.
	WFMCopyWFMAgentMembershipsProcedure = "/api.v1alpha1.wfm.WFM/CopyWFMAgentMemberships"
	// WFMDeleteWFMAgentMembershipsProcedure is the fully-qualified name of the WFM's
	// DeleteWFMAgentMemberships RPC.
	WFMDeleteWFMAgentMembershipsProcedure = "/api.v1alpha1.wfm.WFM/DeleteWFMAgentMemberships"
	// WFMDeleteWFMAgentsMembershipsProcedure is the fully-qualified name of the WFM's
	// DeleteWFMAgentsMemberships RPC.
	WFMDeleteWFMAgentsMembershipsProcedure = "/api.v1alpha1.wfm.WFM/DeleteWFMAgentsMemberships"
	// WFMRemoveAgentFromFutureShiftsProcedure is the fully-qualified name of the WFM's
	// RemoveAgentFromFutureShifts RPC.
	WFMRemoveAgentFromFutureShiftsProcedure = "/api.v1alpha1.wfm.WFM/RemoveAgentFromFutureShifts"
	// WFMBuildAgentDiagnosticsProcedure is the fully-qualified name of the WFM's BuildAgentDiagnostics
	// RPC.
	WFMBuildAgentDiagnosticsProcedure = "/api.v1alpha1.wfm.WFM/BuildAgentDiagnostics"
	// WFMCreateShiftTemplateProcedure is the fully-qualified name of the WFM's CreateShiftTemplate RPC.
	WFMCreateShiftTemplateProcedure = "/api.v1alpha1.wfm.WFM/CreateShiftTemplate"
	// WFMUpdateShiftTemplateProcedure is the fully-qualified name of the WFM's UpdateShiftTemplate RPC.
	WFMUpdateShiftTemplateProcedure = "/api.v1alpha1.wfm.WFM/UpdateShiftTemplate"
	// WFMListShiftTemplatesBySidsProcedure is the fully-qualified name of the WFM's
	// ListShiftTemplatesBySids RPC.
	WFMListShiftTemplatesBySidsProcedure = "/api.v1alpha1.wfm.WFM/ListShiftTemplatesBySids"
	// WFMBuildShiftTemplateDiagnosticsProcedure is the fully-qualified name of the WFM's
	// BuildShiftTemplateDiagnostics RPC.
	WFMBuildShiftTemplateDiagnosticsProcedure = "/api.v1alpha1.wfm.WFM/BuildShiftTemplateDiagnostics"
	// WFMCreatePlacementRuleProcedure is the fully-qualified name of the WFM's CreatePlacementRule RPC.
	WFMCreatePlacementRuleProcedure = "/api.v1alpha1.wfm.WFM/CreatePlacementRule"
	// WFMUpdatePlacementRuleProcedure is the fully-qualified name of the WFM's UpdatePlacementRule RPC.
	WFMUpdatePlacementRuleProcedure = "/api.v1alpha1.wfm.WFM/UpdatePlacementRule"
	// WFMDeletePlacementRuleProcedure is the fully-qualified name of the WFM's DeletePlacementRule RPC.
	WFMDeletePlacementRuleProcedure = "/api.v1alpha1.wfm.WFM/DeletePlacementRule"
	// WFMCreateOpenTimesPatternProcedure is the fully-qualified name of the WFM's
	// CreateOpenTimesPattern RPC.
	WFMCreateOpenTimesPatternProcedure = "/api.v1alpha1.wfm.WFM/CreateOpenTimesPattern"
	// WFMUpdateOpenTimesPatternProcedure is the fully-qualified name of the WFM's
	// UpdateOpenTimesPattern RPC.
	WFMUpdateOpenTimesPatternProcedure = "/api.v1alpha1.wfm.WFM/UpdateOpenTimesPattern"
	// WFMDeleteOpenTimesPatternProcedure is the fully-qualified name of the WFM's
	// DeleteOpenTimesPattern RPC.
	WFMDeleteOpenTimesPatternProcedure = "/api.v1alpha1.wfm.WFM/DeleteOpenTimesPattern"
	// WFMGetOpenTimesBitmapsProcedure is the fully-qualified name of the WFM's GetOpenTimesBitmaps RPC.
	WFMGetOpenTimesBitmapsProcedure = "/api.v1alpha1.wfm.WFM/GetOpenTimesBitmaps"
	// WFMListOpenDateRangesForNodeOpenTimesBitmapsProcedure is the fully-qualified name of the WFM's
	// ListOpenDateRangesForNodeOpenTimesBitmaps RPC.
	WFMListOpenDateRangesForNodeOpenTimesBitmapsProcedure = "/api.v1alpha1.wfm.WFM/ListOpenDateRangesForNodeOpenTimesBitmaps"
	// WFMCreateAgentAvailabilityPatternProcedure is the fully-qualified name of the WFM's
	// CreateAgentAvailabilityPattern RPC.
	WFMCreateAgentAvailabilityPatternProcedure = "/api.v1alpha1.wfm.WFM/CreateAgentAvailabilityPattern"
	// WFMUpdateAgentAvailabilityPatternProcedure is the fully-qualified name of the WFM's
	// UpdateAgentAvailabilityPattern RPC.
	WFMUpdateAgentAvailabilityPatternProcedure = "/api.v1alpha1.wfm.WFM/UpdateAgentAvailabilityPattern"
	// WFMDeleteAgentAvailabilityPatternProcedure is the fully-qualified name of the WFM's
	// DeleteAgentAvailabilityPattern RPC.
	WFMDeleteAgentAvailabilityPatternProcedure = "/api.v1alpha1.wfm.WFM/DeleteAgentAvailabilityPattern"
	// WFMGetAvailabilityBitmapsProcedure is the fully-qualified name of the WFM's
	// GetAvailabilityBitmaps RPC.
	WFMGetAvailabilityBitmapsProcedure = "/api.v1alpha1.wfm.WFM/GetAvailabilityBitmaps"
	// WFMUpsertNonSkillActivityAssociationProcedure is the fully-qualified name of the WFM's
	// UpsertNonSkillActivityAssociation RPC.
	WFMUpsertNonSkillActivityAssociationProcedure = "/api.v1alpha1.wfm.WFM/UpsertNonSkillActivityAssociation"
	// WFMCreateSkillProficienciesProcedure is the fully-qualified name of the WFM's
	// CreateSkillProficiencies RPC.
	WFMCreateSkillProficienciesProcedure = "/api.v1alpha1.wfm.WFM/CreateSkillProficiencies"
	// WFMUpdateSkillProficienciesProcedure is the fully-qualified name of the WFM's
	// UpdateSkillProficiencies RPC.
	WFMUpdateSkillProficienciesProcedure = "/api.v1alpha1.wfm.WFM/UpdateSkillProficiencies"
	// WFMDeleteSkillProficiencyProcedure is the fully-qualified name of the WFM's
	// DeleteSkillProficiency RPC.
	WFMDeleteSkillProficiencyProcedure = "/api.v1alpha1.wfm.WFM/DeleteSkillProficiency"
	// WFMCopyScenarioProcedure is the fully-qualified name of the WFM's CopyScenario RPC.
	WFMCopyScenarioProcedure = "/api.v1alpha1.wfm.WFM/CopyScenario"
	// WFMCreateScheduleScenarioWithNodesProcedure is the fully-qualified name of the WFM's
	// CreateScheduleScenarioWithNodes RPC.
	WFMCreateScheduleScenarioWithNodesProcedure = "/api.v1alpha1.wfm.WFM/CreateScheduleScenarioWithNodes"
	// WFMUpdateScheduleScenarioProcedure is the fully-qualified name of the WFM's
	// UpdateScheduleScenario RPC.
	WFMUpdateScheduleScenarioProcedure = "/api.v1alpha1.wfm.WFM/UpdateScheduleScenario"
	// WFMListConfigEntitiesProcedure is the fully-qualified name of the WFM's ListConfigEntities RPC.
	WFMListConfigEntitiesProcedure = "/api.v1alpha1.wfm.WFM/ListConfigEntities"
	// WFMDeleteShiftInstancesProcedure is the fully-qualified name of the WFM's DeleteShiftInstances
	// RPC.
	WFMDeleteShiftInstancesProcedure = "/api.v1alpha1.wfm.WFM/DeleteShiftInstances"
	// WFMBuildNodeDiagnosticsProcedure is the fully-qualified name of the WFM's BuildNodeDiagnostics
	// RPC.
	WFMBuildNodeDiagnosticsProcedure = "/api.v1alpha1.wfm.WFM/BuildNodeDiagnostics"
	// WFMBuildGlobalDiagnosticsProcedure is the fully-qualified name of the WFM's
	// BuildGlobalDiagnostics RPC.
	WFMBuildGlobalDiagnosticsProcedure = "/api.v1alpha1.wfm.WFM/BuildGlobalDiagnostics"
	// WFMGetPublishedScheduleProcedure is the fully-qualified name of the WFM's GetPublishedSchedule
	// RPC.
	WFMGetPublishedScheduleProcedure = "/api.v1alpha1.wfm.WFM/GetPublishedSchedule"
	// WFMGetPublishedScheduleRequiredCallsProcedure is the fully-qualified name of the WFM's
	// GetPublishedScheduleRequiredCalls RPC.
	WFMGetPublishedScheduleRequiredCallsProcedure = "/api.v1alpha1.wfm.WFM/GetPublishedScheduleRequiredCalls"
	// WFMGetDraftScheduleRequiredCallsProcedure is the fully-qualified name of the WFM's
	// GetDraftScheduleRequiredCalls RPC.
	WFMGetDraftScheduleRequiredCallsProcedure = "/api.v1alpha1.wfm.WFM/GetDraftScheduleRequiredCalls"
	// WFMCreateDraftScheduleProcedure is the fully-qualified name of the WFM's CreateDraftSchedule RPC.
	WFMCreateDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/CreateDraftSchedule"
	// WFMUpdateDraftScheduleProcedure is the fully-qualified name of the WFM's UpdateDraftSchedule RPC.
	WFMUpdateDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/UpdateDraftSchedule"
	// WFMBuildDraftScheduleProcedure is the fully-qualified name of the WFM's BuildDraftSchedule RPC.
	WFMBuildDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/BuildDraftSchedule"
	// WFMPublishDraftScheduleProcedure is the fully-qualified name of the WFM's PublishDraftSchedule
	// RPC.
	WFMPublishDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/PublishDraftSchedule"
	// WFMResetDraftScheduleProcedure is the fully-qualified name of the WFM's ResetDraftSchedule RPC.
	WFMResetDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/ResetDraftSchedule"
	// WFMGetDraftScheduleProcedure is the fully-qualified name of the WFM's GetDraftSchedule RPC.
	WFMGetDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/GetDraftSchedule"
	// WFMListDraftSchedulesProcedure is the fully-qualified name of the WFM's ListDraftSchedules RPC.
	WFMListDraftSchedulesProcedure = "/api.v1alpha1.wfm.WFM/ListDraftSchedules"
	// WFMClearScheduleProcedure is the fully-qualified name of the WFM's ClearSchedule RPC.
	WFMClearScheduleProcedure = "/api.v1alpha1.wfm.WFM/ClearSchedule"
	// WFMDeleteDraftScheduleProcedure is the fully-qualified name of the WFM's DeleteDraftSchedule RPC.
	WFMDeleteDraftScheduleProcedure = "/api.v1alpha1.wfm.WFM/DeleteDraftSchedule"
	// WFMListShiftInstancesBySidProcedure is the fully-qualified name of the WFM's
	// ListShiftInstancesBySid RPC.
	WFMListShiftInstancesBySidProcedure = "/api.v1alpha1.wfm.WFM/ListShiftInstancesBySid"
	// WFMCopyScheduleToScheduleProcedure is the fully-qualified name of the WFM's
	// CopyScheduleToSchedule RPC.
	WFMCopyScheduleToScheduleProcedure = "/api.v1alpha1.wfm.WFM/CopyScheduleToSchedule"
	// WFMCreateShiftInstanceProcedure is the fully-qualified name of the WFM's CreateShiftInstance RPC.
	WFMCreateShiftInstanceProcedure = "/api.v1alpha1.wfm.WFM/CreateShiftInstance"
	// WFMCreateShiftInstanceV2Procedure is the fully-qualified name of the WFM's CreateShiftInstanceV2
	// RPC.
	WFMCreateShiftInstanceV2Procedure = "/api.v1alpha1.wfm.WFM/CreateShiftInstanceV2"
	// WFMCreateShiftInstanceWithSegmentsProcedure is the fully-qualified name of the WFM's
	// CreateShiftInstanceWithSegments RPC.
	WFMCreateShiftInstanceWithSegmentsProcedure = "/api.v1alpha1.wfm.WFM/CreateShiftInstanceWithSegments"
	// WFMSplitShiftInstanceProcedure is the fully-qualified name of the WFM's SplitShiftInstance RPC.
	WFMSplitShiftInstanceProcedure = "/api.v1alpha1.wfm.WFM/SplitShiftInstance"
	// WFMSwapShiftInstancesProcedure is the fully-qualified name of the WFM's SwapShiftInstances RPC.
	WFMSwapShiftInstancesProcedure = "/api.v1alpha1.wfm.WFM/SwapShiftInstances"
	// WFMUpdateShiftInstanceProcedure is the fully-qualified name of the WFM's UpdateShiftInstance RPC.
	WFMUpdateShiftInstanceProcedure = "/api.v1alpha1.wfm.WFM/UpdateShiftInstance"
	// WFMUpdateShiftInstanceV2Procedure is the fully-qualified name of the WFM's UpdateShiftInstanceV2
	// RPC.
	WFMUpdateShiftInstanceV2Procedure = "/api.v1alpha1.wfm.WFM/UpdateShiftInstanceV2"
	// WFMUpdateShiftInstanceWithSegmentsProcedure is the fully-qualified name of the WFM's
	// UpdateShiftInstanceWithSegments RPC.
	WFMUpdateShiftInstanceWithSegmentsProcedure = "/api.v1alpha1.wfm.WFM/UpdateShiftInstanceWithSegments"
	// WFMCopyShiftInstancesToScheduleProcedure is the fully-qualified name of the WFM's
	// CopyShiftInstancesToSchedule RPC.
	WFMCopyShiftInstancesToScheduleProcedure = "/api.v1alpha1.wfm.WFM/CopyShiftInstancesToSchedule"
	// WFMListShiftInstanceSidsForAgentProcedure is the fully-qualified name of the WFM's
	// ListShiftInstanceSidsForAgent RPC.
	WFMListShiftInstanceSidsForAgentProcedure = "/api.v1alpha1.wfm.WFM/ListShiftInstanceSidsForAgent"
	// WFMListShiftSegmentsByShiftInstanceSidsProcedure is the fully-qualified name of the WFM's
	// ListShiftSegmentsByShiftInstanceSids RPC.
	WFMListShiftSegmentsByShiftInstanceSidsProcedure = "/api.v1alpha1.wfm.WFM/ListShiftSegmentsByShiftInstanceSids"
	// WFMSetSchedulingTargetProcedure is the fully-qualified name of the WFM's SetSchedulingTarget RPC.
	WFMSetSchedulingTargetProcedure = "/api.v1alpha1.wfm.WFM/SetSchedulingTarget"
	// WFMGetSchedulingTargetProcedure is the fully-qualified name of the WFM's GetSchedulingTarget RPC.
	WFMGetSchedulingTargetProcedure = "/api.v1alpha1.wfm.WFM/GetSchedulingTarget"
	// WFMDeleteSchedulingTargetProcedure is the fully-qualified name of the WFM's
	// DeleteSchedulingTarget RPC.
	WFMDeleteSchedulingTargetProcedure = "/api.v1alpha1.wfm.WFM/DeleteSchedulingTarget"
	// WFMGetDefaultSchedulingTargetProcedure is the fully-qualified name of the WFM's
	// GetDefaultSchedulingTarget RPC.
	WFMGetDefaultSchedulingTargetProcedure = "/api.v1alpha1.wfm.WFM/GetDefaultSchedulingTarget"
	// WFMSetDefaultSchedulingTargetProcedure is the fully-qualified name of the WFM's
	// SetDefaultSchedulingTarget RPC.
	WFMSetDefaultSchedulingTargetProcedure = "/api.v1alpha1.wfm.WFM/SetDefaultSchedulingTarget"
	// WFMGetPerformanceMetricsProcedure is the fully-qualified name of the WFM's GetPerformanceMetrics
	// RPC.
	WFMGetPerformanceMetricsProcedure = "/api.v1alpha1.wfm.WFM/GetPerformanceMetrics"
	// WFMListRequiredCallsIntervalsProcedure is the fully-qualified name of the WFM's
	// ListRequiredCallsIntervals RPC.
	WFMListRequiredCallsIntervalsProcedure = "/api.v1alpha1.wfm.WFM/ListRequiredCallsIntervals"
	// WFMCreateTourPatternProcedure is the fully-qualified name of the WFM's CreateTourPattern RPC.
	WFMCreateTourPatternProcedure = "/api.v1alpha1.wfm.WFM/CreateTourPattern"
	// WFMGetTourPatternDiagnosticsProcedure is the fully-qualified name of the WFM's
	// GetTourPatternDiagnostics RPC.
	WFMGetTourPatternDiagnosticsProcedure = "/api.v1alpha1.wfm.WFM/GetTourPatternDiagnostics"
	// WFMUpsertTourPatternWithMembersProcedure is the fully-qualified name of the WFM's
	// UpsertTourPatternWithMembers RPC.
	WFMUpsertTourPatternWithMembersProcedure = "/api.v1alpha1.wfm.WFM/UpsertTourPatternWithMembers"
	// WFMGetTourPatternProcedure is the fully-qualified name of the WFM's GetTourPattern RPC.
	WFMGetTourPatternProcedure = "/api.v1alpha1.wfm.WFM/GetTourPattern"
	// WFMGetTourPatternWithMembersProcedure is the fully-qualified name of the WFM's
	// GetTourPatternWithMembers RPC.
	WFMGetTourPatternWithMembersProcedure = "/api.v1alpha1.wfm.WFM/GetTourPatternWithMembers"
	// WFMDeleteTourPatternProcedure is the fully-qualified name of the WFM's DeleteTourPattern RPC.
	WFMDeleteTourPatternProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourPattern"
	// WFMCreateTourWeekPatternProcedure is the fully-qualified name of the WFM's CreateTourWeekPattern
	// RPC.
	WFMCreateTourWeekPatternProcedure = "/api.v1alpha1.wfm.WFM/CreateTourWeekPattern"
	// WFMListTourWeekPatternsProcedure is the fully-qualified name of the WFM's ListTourWeekPatterns
	// RPC.
	WFMListTourWeekPatternsProcedure = "/api.v1alpha1.wfm.WFM/ListTourWeekPatterns"
	// WFMDeleteTourWeekPatternsProcedure is the fully-qualified name of the WFM's
	// DeleteTourWeekPatterns RPC.
	WFMDeleteTourWeekPatternsProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourWeekPatterns"
	// WFMCreateTourShiftInstanceConfigProcedure is the fully-qualified name of the WFM's
	// CreateTourShiftInstanceConfig RPC.
	WFMCreateTourShiftInstanceConfigProcedure = "/api.v1alpha1.wfm.WFM/CreateTourShiftInstanceConfig"
	// WFMUpdateTourShiftInstanceConfigProcedure is the fully-qualified name of the WFM's
	// UpdateTourShiftInstanceConfig RPC.
	WFMUpdateTourShiftInstanceConfigProcedure = "/api.v1alpha1.wfm.WFM/UpdateTourShiftInstanceConfig"
	// WFMListTourShiftInstanceConfigsProcedure is the fully-qualified name of the WFM's
	// ListTourShiftInstanceConfigs RPC.
	WFMListTourShiftInstanceConfigsProcedure = "/api.v1alpha1.wfm.WFM/ListTourShiftInstanceConfigs"
	// WFMDeleteTourShiftInstanceConfigsProcedure is the fully-qualified name of the WFM's
	// DeleteTourShiftInstanceConfigs RPC.
	WFMDeleteTourShiftInstanceConfigsProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourShiftInstanceConfigs"
	// WFMCreateTourShiftSegmentConfigProcedure is the fully-qualified name of the WFM's
	// CreateTourShiftSegmentConfig RPC.
	WFMCreateTourShiftSegmentConfigProcedure = "/api.v1alpha1.wfm.WFM/CreateTourShiftSegmentConfig"
	// WFMUpdateTourShiftSegmentConfigProcedure is the fully-qualified name of the WFM's
	// UpdateTourShiftSegmentConfig RPC.
	WFMUpdateTourShiftSegmentConfigProcedure = "/api.v1alpha1.wfm.WFM/UpdateTourShiftSegmentConfig"
	// WFMListTourShiftSegmentConfigsProcedure is the fully-qualified name of the WFM's
	// ListTourShiftSegmentConfigs RPC.
	WFMListTourShiftSegmentConfigsProcedure = "/api.v1alpha1.wfm.WFM/ListTourShiftSegmentConfigs"
	// WFMDeleteTourShiftSegmentConfigsProcedure is the fully-qualified name of the WFM's
	// DeleteTourShiftSegmentConfigs RPC.
	WFMDeleteTourShiftSegmentConfigsProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourShiftSegmentConfigs"
	// WFMCreateTourAgentCollectionProcedure is the fully-qualified name of the WFM's
	// CreateTourAgentCollection RPC.
	WFMCreateTourAgentCollectionProcedure = "/api.v1alpha1.wfm.WFM/CreateTourAgentCollection"
	// WFMUpdateTourAgentCollectionProcedure is the fully-qualified name of the WFM's
	// UpdateTourAgentCollection RPC.
	WFMUpdateTourAgentCollectionProcedure = "/api.v1alpha1.wfm.WFM/UpdateTourAgentCollection"
	// WFMListTourAgentCollectionsProcedure is the fully-qualified name of the WFM's
	// ListTourAgentCollections RPC.
	WFMListTourAgentCollectionsProcedure = "/api.v1alpha1.wfm.WFM/ListTourAgentCollections"
	// WFMDeleteTourAgentCollectionsProcedure is the fully-qualified name of the WFM's
	// DeleteTourAgentCollections RPC.
	WFMDeleteTourAgentCollectionsProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourAgentCollections"
	// WFMCreateTourAgentCollectionWFMAgentsProcedure is the fully-qualified name of the WFM's
	// CreateTourAgentCollectionWFMAgents RPC.
	WFMCreateTourAgentCollectionWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/CreateTourAgentCollectionWFMAgents"
	// WFMListTourAgentCollectionWFMAgentsProcedure is the fully-qualified name of the WFM's
	// ListTourAgentCollectionWFMAgents RPC.
	WFMListTourAgentCollectionWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/ListTourAgentCollectionWFMAgents"
	// WFMDeleteTourAgentCollectionWFMAgentsProcedure is the fully-qualified name of the WFM's
	// DeleteTourAgentCollectionWFMAgents RPC.
	WFMDeleteTourAgentCollectionWFMAgentsProcedure = "/api.v1alpha1.wfm.WFM/DeleteTourAgentCollectionWFMAgents"
	// WFMGenerateTourWeekPatternsProcedure is the fully-qualified name of the WFM's
	// GenerateTourWeekPatterns RPC.
	WFMGenerateTourWeekPatternsProcedure = "/api.v1alpha1.wfm.WFM/GenerateTourWeekPatterns"
	// WFMListValidAgentsForReplacementProcedure is the fully-qualified name of the WFM's
	// ListValidAgentsForReplacement RPC.
	WFMListValidAgentsForReplacementProcedure = "/api.v1alpha1.wfm.WFM/ListValidAgentsForReplacement"
	// WFMReplaceAgentOnScheduleProcedure is the fully-qualified name of the WFM's
	// ReplaceAgentOnSchedule RPC.
	WFMReplaceAgentOnScheduleProcedure = "/api.v1alpha1.wfm.WFM/ReplaceAgentOnSchedule"
	// WFMReplaceAgentOnScheduleV1Procedure is the fully-qualified name of the WFM's
	// ReplaceAgentOnScheduleV1 RPC.
	WFMReplaceAgentOnScheduleV1Procedure = "/api.v1alpha1.wfm.WFM/ReplaceAgentOnScheduleV1"
	// WFMRemoveAgentFromScheduleProcedure is the fully-qualified name of the WFM's
	// RemoveAgentFromSchedule RPC.
	WFMRemoveAgentFromScheduleProcedure = "/api.v1alpha1.wfm.WFM/RemoveAgentFromSchedule"
	// WFMCreateAgentLeavePetitionProcedure is the fully-qualified name of the WFM's
	// CreateAgentLeavePetition RPC.
	WFMCreateAgentLeavePetitionProcedure = "/api.v1alpha1.wfm.WFM/CreateAgentLeavePetition"
	// WFMListAgentLeavePetitionsProcedure is the fully-qualified name of the WFM's
	// ListAgentLeavePetitions RPC.
	WFMListAgentLeavePetitionsProcedure = "/api.v1alpha1.wfm.WFM/ListAgentLeavePetitions"
	// WFMArchiveAgentLeavePetitionProcedure is the fully-qualified name of the WFM's
	// ArchiveAgentLeavePetition RPC.
	WFMArchiveAgentLeavePetitionProcedure = "/api.v1alpha1.wfm.WFM/ArchiveAgentLeavePetition"
	// WFMHelloWorldWFMAdherenceProcedure is the fully-qualified name of the WFM's
	// HelloWorldWFMAdherence RPC.
	WFMHelloWorldWFMAdherenceProcedure = "/api.v1alpha1.wfm.WFM/HelloWorldWFMAdherence"
	// WFMListAgentStatesForDayProcedure is the fully-qualified name of the WFM's ListAgentStatesForDay
	// RPC.
	WFMListAgentStatesForDayProcedure = "/api.v1alpha1.wfm.WFM/ListAgentStatesForDay"
	// WFMListRealTimeManagementStatesProcedure is the fully-qualified name of the WFM's
	// ListRealTimeManagementStates RPC.
	WFMListRealTimeManagementStatesProcedure = "/api.v1alpha1.wfm.WFM/ListRealTimeManagementStates"
	// WFMListRealTimeManagementStateColorsProcedure is the fully-qualified name of the WFM's
	// ListRealTimeManagementStateColors RPC.
	WFMListRealTimeManagementStateColorsProcedure = "/api.v1alpha1.wfm.WFM/ListRealTimeManagementStateColors"
)

These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.

Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.

View Source
const (
	// WFMName is the fully-qualified name of the WFM service.
	WFMName = "api.v1alpha1.wfm.WFM"
)
View Source
const (
	// WfmAdherenceAppServiceName is the fully-qualified name of the WfmAdherenceAppService service.
	WfmAdherenceAppServiceName = "api.v1alpha1.wfm.WfmAdherenceAppService"
)

Variables

This section is empty.

Functions

func NewWFMHandler

func NewWFMHandler(svc WFMHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewWFMHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

func NewWfmAdherenceAppServiceHandler added in v1.7.62

func NewWfmAdherenceAppServiceHandler(svc WfmAdherenceAppServiceHandler, opts ...connect_go.HandlerOption) (string, http.Handler)

NewWfmAdherenceAppServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.

By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.

Types

type UnimplementedWFMHandler

type UnimplementedWFMHandler struct{}

UnimplementedWFMHandler returns CodeUnimplemented from all methods.

func (UnimplementedWFMHandler) ClearSchedule added in v1.7.33

func (UnimplementedWFMHandler) CreateTourPattern added in v1.7.38

func (UnimplementedWFMHandler) DeleteTourPattern added in v1.7.38

func (UnimplementedWFMHandler) GetTourPattern added in v1.7.38

func (UnimplementedWFMHandler) ListWFMAgentSids added in v1.7.35

func (UnimplementedWFMHandler) ResetDraftSchedule added in v1.7.32

func (UnimplementedWFMHandler) SplitShiftInstance added in v1.7.45

func (UnimplementedWFMHandler) UpdateDraftSchedule added in v1.7.11

type UnimplementedWfmAdherenceAppServiceHandler added in v1.7.62

type UnimplementedWfmAdherenceAppServiceHandler struct{}

UnimplementedWfmAdherenceAppServiceHandler returns CodeUnimplemented from all methods.

type WFMClient

type WFMClient interface {
	// Starts the tasks to perform the initial setup on wfm services for the org sending the request.
	// It will then report the state of their setup task.
	// A new setup task will only be started if the client hasn't done one before, or their setup failed previously.
	// Errors:
	//   - grpc.Internal: error occurs when performing the initial setup.
	PerformInitialClientSetup(context.Context, *connect_go.Request[wfm.PerformInitialClientSetupRequest]) (*connect_go.Response[wfm.PerformInitialClientSetupResponse], error)
	// Retrieves all the skill profiles of the org sending the request.
	// Also it can return the skills of each of the returned profiles.
	// Errors:
	ListSkillProfiles(context.Context, *connect_go.Request[wfm.ListSkillProfilesReq]) (*connect_go.Response[wfm.ListSkillProfilesRes], error)
	// Updates the @name, and averages of a skill profile that has the given @skill_profile_sid.
	// It also updates it to no longer be unnamed.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid, @name or averages in the request are invalid.
	//   - grpc.Internal: error occurs when updating the skill profile.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	UpdateSkillProfile(context.Context, *connect_go.Request[wfm.UpdateSkillProfileReq]) (*connect_go.Response[wfm.UpdateSkillProfileRes], error)
	// Updates the @proficiencies for the given skill profile's skills that belong the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @proficiencies in the request are invalid.
	//   - grpc.Internal: error occurs when updating the skill profiles proficiencies.
	UpdateSkillProfileProficiencies(context.Context, *connect_go.Request[wfm.UpdateSkillProfileProficienciesReq]) (*connect_go.Response[wfm.UpdateSkillProfileProficienciesRes], error)
	// Get a skill profile that has the given @skill_profile_sid.
	// It also gets all the skills and the mappings associated with that profile.
	// If the @inactive_as_of_date of the skill profile is nil then the mapping is of inactive profiles to this one,
	// otherwise the mapping is of this profile to an active one.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.Internal: error occurs when getting the skill profile.
	//   - grpc.NotFound: skill profile doesn't exist.
	GetSkillProfile(context.Context, *connect_go.Request[wfm.GetSkillProfileReq]) (*connect_go.Response[wfm.GetSkillProfileRes], error)
	// Resyncs the skill profiles of the org sending the request.
	// It will add skills and skill profiles based on that client's historical call data.
	// Errors:
	//   - grpc.Internal: error occurs when creating the new skills and skill profiles.
	ResyncSkillProfiles(context.Context, *connect_go.Request[wfm.ResyncSkillProfilesReq]) (*connect_go.Response[wfm.ResyncSkillProfilesRes], error)
	// Gets the last date of a skill profile resync for the org seding the request.
	// If the org has never done a skill profile resync @resync_date will not be set.
	// Errors:
	//   - grpc.Internal: error occurs when getting the resync date.
	GetLastSkillProfileResyncDate(context.Context, *connect_go.Request[wfm.GetLastSkillProfileResyncDateReq]) (*connect_go.Response[wfm.GetLastSkillProfileResyncDateRes], error)
	// Tries to create an entry for the given forecasting parameters for the org sending the request.
	// If the org already has an entry for them, it will update the already existing entry.
	// Errors:
	//   - grpc.Invalid: the @forecasting_parameters in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the parameters.
	UpsertForecastingParameters(context.Context, *connect_go.Request[wfm.UpsertForecastingParametersReq]) (*connect_go.Response[wfm.UpsertForecastingParametersRes], error)
	// Gets the forecasting parameters for the org sending the request.
	// If the org hasn't created any parameters, it will return the default parameters.
	// Errors:
	//   - grpc.Internal: error occurs when getting the parameters.
	GetForecastingParameters(context.Context, *connect_go.Request[wfm.GetForecastingParametersReq]) (*connect_go.Response[wfm.GetForecastingParametersRes], error)
	// Gets the state of the cache for the given @org_id, and if the cache's state is not_loaded, or loading_failed,
	// it will start the loading task before returning the current state.
	// DEPRECATED as of Dec/13/2023 - Use PerformInitialClientSetup instead.
	// Errors:
	//
	//	-grpc.Internal: error occurs when getting the cache info.
	//
	// Deprecated: do not use.
	GetClientHistoryCacheInfo(context.Context, *connect_go.Request[wfm.GetClientHistoryCacheInfoReq]) (*connect_go.Response[wfm.GetClientHistoryCacheInfoRes], error)
	// Gets the historical data for the org sending the request and the given @skill_profile_category.
	// It will look through the client's call history and generate the historical data by using their configured forecasting parameters (historical data period and interval width).
	// The duration of each interval will be the interval width of the org's forecasting parameters.
	// It also applies any deltas that the client has stored for the given @skill_profile_category, if the category is a group it will use the deltas of the skill profiles part of that group.
	// If the client has no historical data, only the deltas will be applied to the returned intervals, all other intervals will have nil averages.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_category given is not found for the org.
	//   - grpc.Internal: error occurs when getting the historical data.
	ListHistoricalData(context.Context, *connect_go.Request[wfm.ListHistoricalDataReq]) (*connect_go.Response[wfm.ListHistoricalDataRes], error)
	// Tries to create an entry for the given @delta for the org sending the request.
	// If the org already has an entry for it, it will update the already exisiting entry.
	// Errors:
	//   - grpc.Invalid: the @delta in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the historical data interval.
	UpsertHistoricalDataDelta(context.Context, *connect_go.Request[wfm.UpsertHistoricalDataDeltaReq]) (*connect_go.Response[wfm.UpsertHistoricalDataDeltaRes], error)
	// Tries to create entries for the given @deltas.
	// If the given org already has an entry for any of the deltas, it will replace the already existing entries.
	// This is made into a unary due to the UI's lack of support for client streams.
	// Errors:
	//   - grpc.Invalid: the @deltas in the request are invalid.
	//   - grpc.Internal: error occurs when upserting the historical data deltas.
	UpsertHistoricalDataDeltas(context.Context, *connect_go.Request[wfm.UpsertHistoricalDataDeltasReq]) (*connect_go.Response[wfm.UpsertHistoricalDataDeltasRes], error)
	// Gets all the skills that the org sending the request has.
	// Skills returned will be sorted by @skill_sid in ascending order.
	// Errors:
	//   - grpc.Internal: error occurs when getting the skills.
	ListSkills(context.Context, *connect_go.Request[wfm.ListSkillsReq]) (*connect_go.Response[wfm.ListSkillsRes], error)
	// Builds and returns a call profile template for the org sending the request and the given @skill_profile_sid.
	// The template will be generated using the training data for said skill profile using the @training_data_range and @averages_calculation_range_in_months
	// from the client's saved forecasting parameters.
	// The @total_calls in the returned template be summed from the (@training_data_start_datetime - @averages_calculation_range_in_months) to @training_data_end_datetime,
	// or from @training_data_start_datetime to @training_data_end_datetime if @averages_calculation_range_in_months is 0.
	// The fixed averages fields in the call profile template, will be set to the averages that the skill profile has.
	// DEPRECATED as of Sep/7/2023 - Use BuildCallProfileTemplate instead.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_sid given is not found for the org.
	//   - grpc.Internal: error occurs when building the call profile template.
	//
	// Deprecated: do not use.
	BuildCallProfileTemplateForSkillProfile(context.Context, *connect_go.Request[wfm.BuildCallProfileTemplateForSkillProfileReq]) (*connect_go.Response[wfm.BuildCallProfileTemplateForSkillProfileRes], error)
	// Builds and returns a call profile template for the org sending the request and the given @skill_profile_category.
	// The template will be generated using the training data for said skill profile category using the @training_data_range and @averages_calculation_range_in_months
	// from the client's saved forecasting parameters.
	// The @total_calls in the returned template be summed from the (@training_data_start_datetime - @averages_calculation_range_in_months) to @training_data_end_datetime,
	// or from @training_data_start_datetime to @training_data_end_datetime if @averages_calculation_range_in_months is 0.
	// The fixed averages fields in the call profile template, will be set to the averages that the skill profile category has.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_category given is not found for the org.
	//   - grpc.Internal: error occurs when building the call profile template.
	BuildCallProfileTemplate(context.Context, *connect_go.Request[wfm.BuildCallProfileTemplateReq]) (*connect_go.Response[wfm.BuildCallProfileTemplateRes], error)
	// Creates a mapping entry for the @inactive_skill_profile_sid to the @active_skill_profile_sid for the org sending the request.
	// DEPRECATED as of Sep/27/2023 - Use skill profile groups instead.
	// Errors:
	//   - grpc.Invalid: the @inactive_skill_profile_sid, or @active_skill_profile_sid in the request are invalid.
	//     the @inactive_skill_profile_sid given is of an active skill profile.
	//     the @active_skill_profile_sid given is of an inactive skill profile.
	//   - grpc.Internal: error occurs when creating the inactive skill profile mapping.
	//
	// Deprecated: do not use.
	CreateInactiveSkillProfileMapping(context.Context, *connect_go.Request[wfm.CreateInactiveSkillProfileMappingReq]) (*connect_go.Response[wfm.CreateInactiveSkillProfileMappingRes], error)
	// Gets a list of enums that represent all of the forecaster types that are currently available for use
	// Errors:
	//
	//	-grpc.Internal: error occurs when contacting the forecaster to get the available forecaster types.
	GetAvailableRegressionForecasterModelTypes(context.Context, *connect_go.Request[wfm.GetAvailableRegressionForecasterModelTypesReq]) (*connect_go.Response[wfm.GetAvailableRegressionForecasterModelTypesRes], error)
	// Changes the current mapping for the given @inactive_skill_profile_sid to be disconnected.
	// DEPRECATED as of Sep/27/2023 - Use skill profile groups instead.
	// Errors:
	//   - grpc.Invalid: the @inactive_skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the skill profile is not found for the org.
	//   - grpc.Internal: the current mapping for the given @inactive_skill_profile_sid is already disconnected,
	//     the given @inactive_skill_profile_sid is of an active skill profile.
	//
	// Deprecated: do not use.
	DisconnectInactiveSkillProfileMapping(context.Context, *connect_go.Request[wfm.DisconnectInactiveSkillProfileMappingReq]) (*connect_go.Response[wfm.DisconnectInactiveSkillProfileMappingRes], error)
	// Creates the given @skill_profile_group.
	// @skill_profile_group_sids will be ignored since associations cannot be created by this method.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group in the request is invalid.
	//   - grpc.Internal: error occurs creating the skill profile group.
	CreateSkillProfileGroup(context.Context, *connect_go.Request[wfm.CreateSkillProfileGroupReq]) (*connect_go.Response[wfm.CreateSkillProfileGroupRes], error)
	// Updates the given @skill_profile_group that has the @skill_profile_group_sid for the org sending the request.
	// @skill_profile_group_sids will be ignored since associations cannot be updated by this method.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group in the request is invalid.
	//   - grpc.NotFound: the skill profile group to update doesn't exist.
	//   - grpc.Internal: error occurs updating the skill profile group.
	UpdateSkillProfileGroup(context.Context, *connect_go.Request[wfm.UpdateSkillProfileGroupReq]) (*connect_go.Response[wfm.UpdateSkillProfileGroupRes], error)
	// Gets the skill profile groups that have the @skill_profile_group_sids for the org sending the request.
	// if @include_inactive is true then inactive groups will also be included, otherwise only active groups will be returned.
	// If @skill_profile_group_sids is empty it will get all the skill profile groups for the org.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group_sids in the request is invalid.
	//   - grpc.Internal: error occurs getting the skill profile groups.
	ListSkillProfileGroups(context.Context, *connect_go.Request[wfm.ListSkillProfileGroupsReq]) (*connect_go.Response[wfm.ListSkillProfileGroupsRes], error)
	// Updates associations of the given @skill_profile_group_sid for the org sending the request.
	// It will create the associations with the @skill_profile_sids_to_associate, and remove the associations with the @skill_profile_sids_to_disassociate.
	// Only one of the skill_profile_sids fields needs to be set, but both can be set on the same request.
	// Errors:
	//   - grpc.Invalid: the values in the request are invalid.
	//   - grpc.Internal: error occurs updating the skill profile group associations.
	UpdateSkillProfileGroupAssociations(context.Context, *connect_go.Request[wfm.UpdateSkillProfileGroupAssociationsReq]) (*connect_go.Response[wfm.UpdateSkillProfileGroupAssociationsRes], error)
	// Deletes deltas whose dates match the given @start_datetimes for the given @skill_profile_sid.
	// If no @start_datetimes are given, it will delete all the deltas that the given @skill_profile_sid has.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid, or @start_datetimes in the request are invalid.
	//   - grpc.NotFound: no matching deltas are found for deletion.
	//   - grpc.Internal: error occurs during the deletion of the historical data interval.
	DeleteHistoricalDataDeltas(context.Context, *connect_go.Request[wfm.DeleteHistoricalDataDeltasReq]) (*connect_go.Response[wfm.DeleteHistoricalDataDeltasRes], error)
	// Gets the top N skill profiles with the highest calls_count for org sending the request where N is @max_number_of_profiles.
	// It will also return the number of skills found for that profile.
	// Individual skills that each profile has will not be returned.
	// Errors:
	//   - grpc.Invalid: the @max_number_of_profiles in the request is invalid.
	//   - grpc.Internal: error occurs when getting the skill profiles.
	ListTopSkillProfiles(context.Context, *connect_go.Request[wfm.ListTopSkillProfilesReq]) (*connect_go.Response[wfm.ListTopSkillProfilesRes], error)
	// Gets the total number of skill profiles associated with the org sending the request.
	// Errors:
	//   - grpc.Internal: error occurs when getting the skill profiles count.
	GetSkillProfilesCount(context.Context, *connect_go.Request[wfm.GetSkillProfilesCountReq]) (*connect_go.Response[wfm.GetSkillProfilesCountRes], error)
	// Builds a profile forecast using the provided @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// (@training_data_range_end_datetime - @forecast_test_range_in_weeks) to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplate.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category or @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the profile forecast.
	BuildProfileForecastByInterval(context.Context, *connect_go.Request[wfm.BuildProfileForecastByIntervalReq]) (*connect_go.ServerStreamForClient[wfm.CallDataByInterval], error)
	// Builds a profile forecast using the provided @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// (@training_data_range_end_datetime - @forecast_test_range_in_weeks) to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplate.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// It also returns the statistics of the produced forecast by using the test data of the given @skill_profile_category.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category or @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the profile forecast.
	BuildProfileForecastByIntervalWithStats(context.Context, *connect_go.Request[wfm.BuildProfileForecastByIntervalWithStatsReq]) (*connect_go.ServerStreamForClient[wfm.BuildProfileForecastByIntervalWithStatsRes], error)
	// Builds a profile forecast for the given @skill_profile_sid and org sending the request using the given @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// @forecast_range_start_datetime to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplateForSkillProfile.
	// The intervals produced will be saved in the database.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid or @call_profile_template in the request are invalid.
	//   - grpc.NotFound: the @skill_profile_sid doesn't exist.
	//   - grpc.Internal: error occurs when upserting the profile forecast.
	UpsertProfileForecast(context.Context, *connect_go.Request[wfm.UpsertProfileForecastReq]) (*connect_go.Response[wfm.UpsertProfileForecastRes], error)
	// Creates the given @call_profile_template for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the creation of the call profile.
	CreateCallProfileTemplate(context.Context, *connect_go.Request[wfm.CreateCallProfileTemplateReq]) (*connect_go.Response[wfm.CreateCallProfileTemplateRes], error)
	// Deletes a call profile template for the requesting org that has the given @call_profile_template_sid.
	// Errors:
	//   - grpc.Invalid: the @call_profile_template_sid in the request is invalid.
	//   - grpc.Internal: error occurs during the deletion of the call profile.
	DeleteCallProfileTemplate(context.Context, *connect_go.Request[wfm.DeleteCallProfileTemplateReq]) (*connect_go.Response[wfm.DeleteCallProfileTemplateRes], error)
	// Creates an entry for the @regression_template for the requesting org.
	// Errors:
	//   - grpc.Invalid: the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs when creating the regression template.
	CreateRegressionTemplate(context.Context, *connect_go.Request[wfm.CreateRegressionTemplateReq]) (*connect_go.Response[wfm.CreateRegressionTemplateRes], error)
	// Deletes a regression template for the requesting org that has the given @regression_template_sid.
	// Errors:
	//   - grpc.Invalid: the @regression_template_sid in the request is invalid.
	//   - grpc.Internal: error occurs during the deletion of the regression template.
	DeleteRegressionTemplate(context.Context, *connect_go.Request[wfm.DeleteRegressionTemplateReq]) (*connect_go.Response[wfm.DeleteRegressionTemplateRes], error)
	// Gets all the regression templates that the org sending the request has.
	// Errors:
	//   - grpc.Internal: error occurs when getting the regression templates.
	ListRegressionTemplates(context.Context, *connect_go.Request[wfm.ListRegressionTemplatesReq]) (*connect_go.Response[wfm.ListRegressionTemplatesRes], error)
	// Gets the forecast data intervals for the given @skill_profile_sid.
	// DEPRECATED as of Sep/13/2023 - Use ListForecastIntervals instead.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.Internal: error occurs when getting the forecast data intervals.
	//
	// Deprecated: do not use.
	ListForecastIntervalsForSkillProfile(context.Context, *connect_go.Request[wfm.ListForecastIntervalsForSkillProfileReq]) (*connect_go.ServerStreamForClient[wfm.CallDataByInterval], error)
	// Gets the forecast data intervals for the given @skill_profile_category.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.Internal: error occurs when getting the forecast data intervals.
	ListForecastIntervals(context.Context, *connect_go.Request[wfm.ListForecastIntervalsReq]) (*connect_go.ServerStreamForClient[wfm.CallDataByInterval], error)
	// Generates a regression forecast using the provided @regression_template.
	// It will generate forecast intervals for the skill profiles sids in @skill_profile_sids_to_forecast.
	// It will use the client's saved forecasting test range as the start datetime and the forecast range as the end datetime of the forecasted data.
	// It will use the client's saved interval width to divide the resulting forecast intervals.
	// Errors:
	//   - grpc.Invalid: no @skill_profile_sids_to_forecast are given or the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the regression forecast.
	BuildRegressionForecastByInterval(context.Context, *connect_go.Request[wfm.BuildRegressionForecastByIntervalReq]) (*connect_go.ServerStreamForClient[wfm.CallDataByInterval], error)
	// Generates a regression forecast and calculates forecast statistics using the provided @regression_template.
	// It will generate forecast intervals for the skill profiles sids in @skill_profile_sids_to_forecast.
	// It will use the client's saved forecasting test range as the start datetime and the forecast range as the end datetime of the forecasted data.
	// It will use the client's saved interval width to divide the resulting forecast intervals.
	// The first message received will be the forecast statistics while all subsequent ones will be the forecast intervals.
	//
	// Errors:
	//   - grpc.Invalid: no @skill_profile_sids_to_forecast are given or the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs either during the when building the forecast or calculating the stats.
	BuildRegressionForecastByIntervalWithStats(context.Context, *connect_go.Request[wfm.BuildRegressionForecastByIntervalWithStatsReq]) (*connect_go.ServerStreamForClient[wfm.BuildRegressionForecastByIntervalWithStatsRes], error)
	// Gets the call profile templates that the org sending the request has.
	// Errors:
	//   - grpc.Internal: error occurs when getting the templates.
	ListCallProfileTemplates(context.Context, *connect_go.Request[wfm.ListCallProfileTemplatesReq]) (*connect_go.Response[wfm.ListCallProfileTemplatesRes], error)
	// Builds a regression forecast for the org using the given @regression_template and saves the resulting intervals in the db.
	// It will generate forecast intervals for the skill profiles sids in @save_forecasts_for_skill_profile_sids,
	// if the list is empty or has no valid skill profile sids, it will generate and save forecasts for all active skill profiles.
	// If any intervals produced already exist in the db, they will be replaced with the ones produced.
	// Errors:
	//   - grpc.Invalid: the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the regression forecast.
	UpsertRegressionForecast(context.Context, *connect_go.Request[wfm.UpsertRegressionForecastReq]) (*connect_go.Response[wfm.UpsertRegressionForecastRes], error)
	// Tries to create an entry for the given @delta for the org sending the request.
	// If the org already has an entry for it, it will update the already exisiting entry.
	// Errors:
	//   - grpc.Invalid: the @delta in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the forecast data delta.
	UpsertForecastDataDelta(context.Context, *connect_go.Request[wfm.UpsertForecastDataDeltaReq]) (*connect_go.Response[wfm.UpsertForecastDataDeltaRes], error)
	// Tries to create entries for the given @deltas.
	// If the org already has entries for any of them, it will update the already existing entry.
	// Errors:
	//   - grpc.Invalid: the @deltas in the request are invalid.
	//   - grpc.Internal: error occurs when upserting the forecast data deltas.
	UpsertForecastDataDeltas(context.Context, *connect_go.Request[wfm.UpsertForecastDataDeltasReq]) (*connect_go.Response[wfm.UpsertForecastDataDeltasRes], error)
	// Deletes forecast data intervals/deltas based on the parameters provided.
	// If @delete_param is type skill_profile_category, then the intervals/deltas to be deleted will be
	// associated with that id. If @delete_param is type interval_sids, then the intervals/deltas to be
	// deleted will be contained in the list @interval_sids. The @delete_type field determines which
	// table(s) in the database the intervals/deltas will be deleted from.
	// Errors:
	//   - grpc.Invalid: one of the @delete_params is invalid
	//   - grpc.NotFound: no matching intervals/deltas are found for deletion.
	//   - grpc.Internal: error occurs during the deletion of the forecast data intervals/deltas.
	DeleteForecastIntervals(context.Context, *connect_go.Request[wfm.DeleteForecastIntervalsReq]) (*connect_go.Response[wfm.DeleteForecastIntervalsRes], error)
	// Retrieves the history for all the skill profiles of the requesting org.
	// Each value in every interval that has the same @start_datetime of each skill profile will be summed then averaged and made into a single one.
	// When calculating the averages, each interval's values will be weighted by the number of @total_calls it has.
	// History will be sorted by @start_datetime in ascending order, and the range is determined by the client's historical range.
	// Errors:
	//   - grpc.Internal: error occurs when retriving the history.
	ListHistoricalDataForAllSkillProfiles(context.Context, *connect_go.Request[wfm.ListHistoricalDataForAllSkillProfilesReq]) (*connect_go.Response[wfm.ListHistoricalDataForAllSkillProfilesRes], error)
	// Converts the given @profile_tod and @profile_woms to a ProfileDOW and ProfileMOY.
	// Errors:
	//   - grpc.Invalid: the @profile_tod or @profile_woms in the request are invalid.
	//   - grpc.Internal: error occurs when building the ProfileDOW or ProfileMOY.
	BuildDOWAndMOYProfiles(context.Context, *connect_go.Request[wfm.BuildDOWAndMOYProfilesReq]) (*connect_go.Response[wfm.BuildDOWAndMOYProfilesRes], error)
	// Calculates and returns the averages in the training data for the given @skill_profile_sid.
	// Averages to be returned will be weighted by the number of calls that each training data interval has.
	// The start time that the training data will be averaged can be modified based on the forecasting parameter @averages_calculation_range_in_months,
	// which will subtract that many months from the training data range end datetime and set it as the start time.
	// If @averages_calculation_range_in_months is 0, it will use the training data range start datetime.
	//
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_sid given is not found.
	//   - grpc.Internal: error occurs when calculating the averages from the training data.
	CalculateTrainingDataAveragesForSkillProfile(context.Context, *connect_go.Request[wfm.CalculateTrainingDataAveragesForSkillProfileReq]) (*connect_go.Response[wfm.CalculateTrainingDataAveragesForSkillProfileRes], error)
	// Calculates the averages for call characteristics using the historical data of the given @skill_profile_sids, @skill_profile_group_sids and org sending the request.
	// If no @skill_profile_sids are given, it will calculate the averages for all skill profiles for the org sending the request.
	// If no @skill_profile_group_sids are given, it will calculate the averages for all skill profile groups for the org sending the request.
	// Averages will be weighted by the number of calls that each historical data interval has.
	// Once the averages are calculated, they will be updated in the db for those skill profiles.
	//
	// If a nil @datetime_range is given then the range used will be @training_data_range_end_datetime - @averages_calculation_range_in_months to the @training_data_range_end_datetime from the forecasting parameters.
	// If @averages_calculation_range_in_months is 0, it will use the @training_data_range_start_datetime as the start datetime of the range.
	//
	// If @exclude_skill_profiles_with_manual_averages is true, it will exclude skill profiles and groups that have manual averages from the calculation
	// even if those skill profiles and groups are in @skill_profile_sids or @skill_profile_group_sids respectively.
	//
	// Errors:
	//   - grpc.Internal: error occurs when calculating the averages from the historical data.
	UpdateSkillProfileAveragesUsingHistoricalData(context.Context, *connect_go.Request[wfm.UpdateSkillProfileAveragesUsingHistoricalDataReq]) (*connect_go.Response[wfm.UpdateSkillProfileAveragesUsingHistoricalDataRes], error)
	// Updates the call center @node that has the given @call_center_node_sid.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this call center node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the one or more of the fields in the request are invalid.
	//   - grpc.Internal: error occurs when updating the call center node.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	UpdateCallCenterNode(context.Context, *connect_go.Request[wfm.UpdateCallCenterNodeReq]) (*connect_go.Response[wfm.UpdateCallCenterNodeRes], error)
	// Creates the given client @node for the org sending the request and @parent_sid in the node.
	// The @client_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent call center node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, @parent_sid, or @time_zone_val is invalid.
	//   - grpc.NotFound: parent call center node doesn't exist, or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the client node.
	CreateClientNode(context.Context, *connect_go.Request[wfm.CreateClientNodeReq]) (*connect_go.Response[wfm.CreateClientNodeRes], error)
	// Updates a client node for the org sending the request that has the given @client_node_sid and @schedule_scenario_sid.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this client node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.Internal: error occurs when updating the client @node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given @parent_sid (call_center_node_sid) belongs to a different scenario than this @node.
	UpdateClientNode(context.Context, *connect_go.Request[wfm.UpdateClientNodeReq]) (*connect_go.Response[wfm.UpdateClientNodeRes], error)
	// Creates the given location @node for the org sending the request and parent @client_node_sid.
	// The @location_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent client node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.NotFound: parent client node doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the location node.
	CreateLocationNode(context.Context, *connect_go.Request[wfm.CreateLocationNodeReq]) (*connect_go.Response[wfm.CreateLocationNodeRes], error)
	// Updates a location node corresponding to the given @location_node_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this location node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @location_node have invalid values.
	//   - grpc.Internal: error occurs when updating the location node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given parent @client_node_sid belongs to a different scenario than the node to update.
	UpdateLocationNode(context.Context, *connect_go.Request[wfm.UpdateLocationNodeReq]) (*connect_go.Response[wfm.UpdateLocationNodeRes], error)
	// Creates the given program @node for the org sending the request and parent @location_node_sid.
	// The @program_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent location node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.NotFound: parent location node doesn't exist or belongs to a different scenario than the one given.
	//     the @skill_profile_category does not exist.
	//   - grpc.Internal: error occurs when creating the program node.
	CreateProgramNode(context.Context, *connect_go.Request[wfm.CreateProgramNodeReq]) (*connect_go.Response[wfm.CreateProgramNodeRes], error)
	// Updates a program node for the given @program_node_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this program node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @program_node have invalid values.
	//   - grpc.Internal: error occurs when updating the program node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given parent @location_node_sid belongs to a different scenario than the program node to update.
	//     the @skill_profile_category does not exist.
	UpdateProgramNode(context.Context, *connect_go.Request[wfm.UpdateProgramNodeReq]) (*connect_go.Response[wfm.UpdateProgramNodeRes], error)
	// Lists the program nodes with the given @program_node_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the given @program_node_sids are invalid.
	//   - grpc.Internal: error occurs when listing the program nodes.
	ListProgramNodesBySid(context.Context, *connect_go.Request[wfm.ListProgramNodesBySidReq]) (*connect_go.Response[wfm.ListProgramNodesBySidRes], error)
	// Creates the given @constraint_rule for the org sending the request.
	// The @constraint_rule_sid and @skill_proficiency_sid (if one was created) of the new entities will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// If @rule_type is set to MIN_SKILL_LEVEL, the @member_target_entity field must be set with a skill proficiency and the @constraint_rule.target_sid will be ignored.
	// If the @member_target_entity is for a skill proficiency, that skill proficiency will be created with the given @constraint_rule as parent.
	// If @rule_type is NOT MIN_SKILL_LEVEL then the @target_sid must be that of a scheduling activity.
	// The all other @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @constraint_rule have invalid values.
	//   - grpc.NotFound: the given @target_sid for the given @rule_type, or @parent_entity don't exist.
	//   - grpc.Internal: error occurs when creating the constraint rule.
	CreateConstraintRule(context.Context, *connect_go.Request[wfm.CreateConstraintRuleReq]) (*connect_go.Response[wfm.CreateConstraintRuleRes], error)
	// Updates the constraint rule corresponding for given @contraint_rule_sid for the org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this constraint rule since it cannot be changed.
	// If @rule_type is set to MIN_SKILL_LEVEL, the @member_target_entity field must be set with a skill proficiency, otherwise it should not be set and field will be ignored.
	// If the @target_sid is for a different skill proficiency than the current one the constraint rule has as a target,
	// the old one will be deleted and a new one will be created for the given @member_target_entity.
	// If @rule_type is NOT MIN_SKILL_LEVEL then the @target_sid must be that of a scheduling activity.
	// The all other @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @constraint_rule have invalid values.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the constraint rule.
	//     : the given @target_sid for the given @rule_type, or @parent_entity don't exist.
	//   - grpc.Internal: error occurs when updating the constraint rule.
	UpdateConstraintRule(context.Context, *connect_go.Request[wfm.UpdateConstraintRuleReq]) (*connect_go.Response[wfm.UpdateConstraintRuleRes], error)
	// Deletes a constraint rule with the coresponding @constraint_rule_sid for the org sending the request.
	// It also deletes the entity referenced by the @target_sid and @rule_type if said entity is not a member of any other entity or the on call scheduling activity.
	// Errors:
	//   - grpc.Invalid: the @constraint_rule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @constraint_rule doesn't exist.
	//   - grpc.Internal: error occurs when removing the constraint rule.
	DeleteConstraintRule(context.Context, *connect_go.Request[wfm.DeleteConstraintRuleReq]) (*connect_go.Response[wfm.DeleteConstraintRuleRes], error)
	// Creates the given @non_skill_activity for the org sending the request.
	// Will also create a scheduling activity wrapper for the non skill activity.
	// The @non_skill_activity_sid and @scheduling_activity_sid of the new entities will be returned in the response.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @non_skill_activity have invalid values.
	//   - grpc.NotFound: the @schedule_scenario_sid doesn't exist.
	//   - grpc.Internal: error occurs when creating the non skill activity or scheduling activity.
	CreateNonSkillActivity(context.Context, *connect_go.Request[wfm.CreateNonSkillActivityReq]) (*connect_go.Response[wfm.CreateNonSkillActivityRes], error)
	// Updates a non skill activity that has the given @non_skill_activity_sid with the given values.
	// Errors:
	//   - grpc.Invalid: @non_skill_activity fields have invalid values.
	//   - grpc.NotFound: non skill activity for the given @non_skill_activity_sid doesn't exist.
	//   - grpc.Internal: error occurs when updating the non skill activity.
	UpdateNonSkillActivity(context.Context, *connect_go.Request[wfm.UpdateNonSkillActivityReq]) (*connect_go.Response[wfm.UpdateNonSkillActivityRes], error)
	// Lists the non skill activities that belong to the org sending the request.
	// Errors:.
	//   - grpc.Internal: error occurs when listing the activites.
	ListNonSkillActivities(context.Context, *connect_go.Request[wfm.ListNonSkillActivitiesReq]) (*connect_go.Response[wfm.ListNonSkillActivitiesRes], error)
	// Lists the IDs of non skill activities that belong to the org sending the request which have the given @relationship_type with the @associated_entity.
	// Errors:
	//   - grpc.Invalid: the @associated_entity or @relationship_type are invalid.
	//   - grpc.Internal: error occurs when listing the associations.
	ListNonSkillActivityAssociations(context.Context, *connect_go.Request[wfm.ListNonSkillActivityAssociationsReq]) (*connect_go.Response[wfm.ListNonSkillActivityAssociationsRes], error)
	// Lists the candidate scheduling activities for a constraint or placement rule, inherited through given @parent_of_rule for @schedule_scenario_sid for the org making the request.
	// @parent_of_rule may be any type of node, agent group, or shift template which the rule will belong to.
	// If the rule will belong to a wfm agent, the agent group must be supplied instead to get a relevant set of candidate scheduling activities.
	// Member non skill activity of each scheduling activity will be included in the response.
	// The on call scheduling activity will always be included.
	// Errors:
	//   - grpc.Invalid: the @parent_of_rule is invalid.
	//   - grpc.NotFound: @parent_of_rule doesn't exist
	//   - grpc.Internal: error occurs when applying inheritance or getting the nodes from @parent_of_rule.
	ListCandidateSchedulingActivities(context.Context, *connect_go.Request[wfm.ListCandidateSchedulingActivitiesReq]) (*connect_go.Response[wfm.ListCandidateSchedulingActivitiesRes], error)
	// Creates an agent group with the provided parameters.
	// A successful response should contain the @agent_group_sid of the newly created entity.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, or @parent_entity are invalid.
	//   - grpc.NotFound: @parent_entity doesn't exist
	//   - grpc.Internal: error occurs when creating the agent group.
	CreateAgentGroup(context.Context, *connect_go.Request[wfm.CreateAgentGroupReq]) (*connect_go.Response[wfm.CreateAgentGroupRes], error)
	// ListAgentScheduleGroups lists all schedulable agent groups for the given @entity and @org_id, filled with @member_wfm_agents.
	// The given @entity must be either a Node or a ShiftTemplate.
	//
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the agent groups.
	ListAgentScheduleGroups(context.Context, *connect_go.Request[wfm.ListAgentScheduleGroupsRequest]) (*connect_go.Response[wfm.ListAgentScheduleGroupsResponse], error)
	// Updates the agent group corresponding to the @agent_group_sid, @name, and @parent_entity.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this agent group since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the @agent_group_sid, @parent_entity, or @name in the request are invalid.
	//   - grpc.Internal: error occurs when updating the agent group.
	//   - grpc.AlreadyExists: an agent group with the given @name already exists.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the agent group.
	UpdateAgentGroup(context.Context, *connect_go.Request[wfm.UpdateAgentGroupReq]) (*connect_go.Response[wfm.UpdateAgentGroupRes], error)
	// Creates an agent that is not assigned a tcn agent for the org sending the request.
	// If @wfm_agent_sid_to_copy_agent_group_associations is set, it will also copy that agent's agent group associations to the new agent.
	// Otherwise only the new agent will be created.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sid_to_copy_agent_group_associations in the request is invalid.
	//   - grpc.Internal: error occurs creating the agent or the memberships.
	//   - grpc.NotFound: the given @wfm_agent_sid_to_copy_agent_group_associations doesn't exist for the org.
	CreateUnassignedWFMAgent(context.Context, *connect_go.Request[wfm.CreateUnassignedWFMAgentRequest]) (*connect_go.Response[wfm.CreateUnassignedWFMAgentResponse], error)
	// Updates a wfm agent for the given @wfm_agent_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// The @tcn_agent_sid cannot be updated.
	// Required permission:
	//
	//	NONE
	//
	// Errors:
	//   - grpc.Invalid: one or more fields in the @wfm_agent have invalid values.
	//   - grpc.NotFound: WFM agent with the given @wfm_agent_sid doesn't exist.
	//   - grpc.Internal: error occurs when updating the wfm agent.
	UpdateWFMAgent(context.Context, *connect_go.Request[wfm.UpdateWFMAgentReq]) (*connect_go.Response[wfm.UpdateWFMAgentRes], error)
	// Lists all wfm agents for the org sending the request.
	// if @include_inactive is true then inactive agents will also be included, otherwise only active agents will be returned.
	// if @include_skill_proficiencies is true then agents returned will include their skill proficiencies.
	// if @include_agent_groups is true then the @agent_groups_by_agent response field will be set with a list of agent groups correlating to each agents index in the @wfm_agents field.
	// if @include_agent_groups is set to true, the @agent_group_schedule_scenario_sid field must be set, so that the agent groups for the correct scenario are returned.
	// if @include_agent_groups is set to true, and @agent_group_schedule_scenario_sid is not set, the agent groups will not be filtered by schedule scenario.
	// if @include_agent_groups is set to false, the @agent_group_schedule_scenario_sid will be ignored.
	// @agent_group_schedule_scenario_sid does not effect which @wfm_agents are returned.
	// WFM agents with no associated agent_groups will have an empty slice in agent_groups_by_agent at their correlated index.
	// Errors:
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListAllWFMAgents(context.Context, *connect_go.Request[wfm.ListAllWFMAgentsReq]) (*connect_go.Response[wfm.ListAllWFMAgentsRes], error)
	// Lists all candidate wfm agents for the org sending the request and given @agent_group_sid.
	// A WFM agent is considered a candidate when it's active and it doesn't already belong to the given agent group.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Invalid: @agent_group_sid has an invalid value.
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListCandidateWFMAgents(context.Context, *connect_go.Request[wfm.ListCandidateWFMAgentsReq]) (*connect_go.Response[wfm.ListCandidateWFMAgentsRes], error)
	// Lists all wfm agents who are not grouped with any agent group for the given org sending the request that were created at or after the given @created_after_datetime.
	// If @schedule_scenario_sid is positive, it will filter further to get only agents who are not grouped with any agent group for that scenario.
	// if @include_skill_proficiencies is true then agents returned will include their skill proficiencies.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Invalid: @created_after_datetime has an invalid value.
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListUngroupedWFMAgents(context.Context, *connect_go.Request[wfm.ListUngroupedWFMAgentsReq]) (*connect_go.Response[wfm.ListUngroupedWFMAgentsRes], error)
	// Gets the wfm_agent_sids with the given @tcn_agent_sids for the org sending the request.
	// Returns a map where Key: tcn_agent_sid - Value: wfm_agent_sid.
	// If the wfm_agent_sid is not found for any @tcn_agent_sids, they will not have an entry in the returned @sids.
	// Errors:
	//   - grpc.Invalid: the @tcn_agent_sids are invalid.
	//   - grpc.Internal: error occours while listing the wfm_agent_sids.
	ListWFMAgentSids(context.Context, *connect_go.Request[wfm.ListWFMAgentSidsReq]) (*connect_go.Response[wfm.ListWFMAgentSidsRes], error)
	// Lists all wfm agents that don't have a TCN agent assigned to them for the given @orgId.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListUnassignedWFMAgents(context.Context, *connect_go.Request[wfm.ListUnassignedWFMAgentsRequest]) (*connect_go.Response[wfm.ListUnassignedWFMAgentsResponse], error)
	// Lists the IDs of wfm agents that belong to the org sending the request which are associated with the given @agent_group_sid.
	// Errors:
	//   - grpc.Invalid: the @agent_group_sid is invalid.
	//   - grpc.Internal: error occurs when listing the wfm agents.
	ListWFMAgentsAssociatedWithAgentGroup(context.Context, *connect_go.Request[wfm.ListWFMAgentsAssociatedWithAgentGroupReq]) (*connect_go.Response[wfm.ListWFMAgentsAssociatedWithAgentGroupRes], error)
	// Creates a membership association for each of the given @wfm_agent_sids with the given @agent_group_sid.
	// The @schedule_scenario_sid must match the scenario of the agent group and wfm agents.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sid are invalid.
	//   - grpc.NotFound: the @wfm_agent_sids or @agent_group_sid don't exist for the org or given @schedule_scenario_sid.
	//   - grpc.Internal: error occurs when creating the association.
	CreateWFMAgentMemberships(context.Context, *connect_go.Request[wfm.CreateWFMAgentMembershipsReq]) (*connect_go.Response[wfm.CreateWFMAgentMembershipsRes], error)
	// Copies the membership association of @originating_wfm_agent_sid to @target_wfm_agent_sid.
	// The wfm agents must both belong to the org sending the request.
	// Any existing membership associations on @target_wfm_agent_sid with be retained.
	// Any conflicting memberships for @target_wfm_agent_sid will be set with the membership of @originating_wfm_agent_sid.
	// Errors:
	//   - grpc.NotFound: the @wfm_agent_sids or @agent_group_sid don't exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the associations.
	CopyWFMAgentMemberships(context.Context, *connect_go.Request[wfm.CopyWFMAgentMembershipsRequest]) (*connect_go.Response[wfm.CopyWFMAgentMembershipsResponse], error)
	// Deletes a membership association for each of the given @wfm_agent_sids with the given @agent_group_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sid are invalid.
	//   - grpc.NotFound: any of the given memberships to delete do not exist.
	//   - grpc.Internal: error occurs when deleting the association.
	DeleteWFMAgentMemberships(context.Context, *connect_go.Request[wfm.DeleteWFMAgentMembershipsReq]) (*connect_go.Response[wfm.DeleteWFMAgentMembershipsRes], error)
	// Deletes all membership associations for the given @wfm_agent_sids with the given @agent_group_sids.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sids are invalid.
	//   - grpc.Internal: error occurs when deleting the associations.
	DeleteWFMAgentsMemberships(context.Context, *connect_go.Request[wfm.DeleteWFMAgentsMembershipsReq]) (*connect_go.Response[wfm.DeleteWFMAgentsMembershipsRes], error)
	// Removes the @wfm_agent_sid_to_remove from all future shifts for the org.
	// If @replace_with_new_unassigned_agent is set to true, a new unassigned agent will be created and it will be assigned to the shifts and agent groups from @wfm_agent_sid_to_remove.
	// If @replace_with_new_unassigned_agent is set to false, the future shifts will just be deleted.
	// If the @wfm_agent_sid_to_remove is not currently inactive, it will be set as inactive.
	// Errors:
	//   - grpc.Internal: error occurs when deleting the shifts, creating the new unassigned agent, reassigning the shifts to that agent, or setting the agent to inactive.
	RemoveAgentFromFutureShifts(context.Context, *connect_go.Request[wfm.RemoveAgentFromFutureShiftsRequest]) (*connect_go.Response[wfm.RemoveAgentFromFutureShiftsResponse], error)
	// Builds and returns the diagnostics for the wfm agent associated with the given @wfm_agent_sid or @agent_group_sid for the org sending the request.
	// Response will only contain:
	//
	//	 one element if build for a single @wfm_agent_sid.
	//	 one element for each WFM agent if build for an @agent_group_sid.
	//	- grpc.Invalid: the @wfm_agent_sid, or @agent_group_sid is invalid.
	//	- grpc.NotFound: the given @wfm_agent_sid doesn't exist or the @agent_group_sid has no agents.
	//	- grpc.Internal: error occurs building the diagnostics.
	BuildAgentDiagnostics(context.Context, *connect_go.Request[wfm.BuildAgentDiagnosticsReq]) (*connect_go.Response[wfm.BuildAgentDiagnosticsRes], error)
	// Creates a shift template for the org sending the request with the provided parameters
	// The @shift_template_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent program node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, or @program_node_sid are invalid.
	//   - grpc.AlreadyExists: a shift template with the given @name already exists.
	//   - grpc.NotFound: the parent program node doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the shift template.
	CreateShiftTemplate(context.Context, *connect_go.Request[wfm.CreateShiftTemplateReq]) (*connect_go.Response[wfm.CreateShiftTemplateRes], error)
	// Updates a shift template for the given @shift_template_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this shift template since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the @shift_template_sid, @name, @program_node_sid are invalid.
	//   - grpc.AlreadyExists: a shift template with the given @name already exists.
	//   - grpc.NotFound: the parent program node doesn't exist or belongs to a different scenario than the shift template to update.
	//   - grpc.Internal: error occurs when updating the shift template.
	UpdateShiftTemplate(context.Context, *connect_go.Request[wfm.UpdateShiftTemplateReq]) (*connect_go.Response[wfm.UpdateShiftTemplateRes], error)
	// Lists the shift templates matching the specified @shift_template_sids for the org sending the request.
	// If @include_placement_rules is set to true, the @shift_templates will be returned with their member placement rules.
	// Errors:
	//   - grpc.Invalid: the @shift_template_sids are invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftTemplatesBySids(context.Context, *connect_go.Request[wfm.ListShiftTemplatesBySidsReq]) (*connect_go.Response[wfm.ListShiftTemplatesBySidsRes], error)
	// Builds and returns the diagnostics for the shift template associated with the given @shift_template_sid for the org sending the request.
	//   - grpc.Invalid: the @shift_template_sid is invalid.
	//   - grpc.NotFound: the given @shift_template_sid doesn't exist for the org sending the request.
	//   - grpc.Internal: error occours building the diagnostics for the shift template.
	BuildShiftTemplateDiagnostics(context.Context, *connect_go.Request[wfm.BuildShiftTemplateDiagnosticsReq]) (*connect_go.Response[wfm.BuildShiftTemplateDiagnosticsRes], error)
	// Creates a placement rule for org sending the request with the provided parameters.
	// The @placement_rule_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent shift template.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the parameters in the @placement_rule are invalid.
	//   - grpc.NotFound: the parent shift template doesn't exist or belongs to a different scenario than the one given.
	//     the scheduling activity to associate with the placement rule doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the placement rule.
	CreatePlacementRule(context.Context, *connect_go.Request[wfm.CreatePlacementRuleReq]) (*connect_go.Response[wfm.CreatePlacementRuleRes], error)
	// Updates a placement rule corresponding with the given @placement_rule_sid for the org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this placement rule since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the one or more of the fields in the @placement_rule are invalid.
	//   - grpc.Internal: error occurs when updating the placement rule.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	//     : the parent shift template or related scheduling activity don't exist or belong to a different scenario than the placement rule to update.
	UpdatePlacementRule(context.Context, *connect_go.Request[wfm.UpdatePlacementRuleReq]) (*connect_go.Response[wfm.UpdatePlacementRuleRes], error)
	// Deletes a placement rule with the coresponding @placement_rule_sid for the org sending the request.
	// It also deletes the scheduling activity referenced by the @scheduling_activity_sid if said activity is not a member of any other entity.
	// Errors:
	//   - grpc.Invalid: the @placement_rule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @placement_rule doesn't exist.
	//   - grpc.Internal: error occurs when removing the placement rule.
	DeletePlacementRule(context.Context, *connect_go.Request[wfm.DeletePlacementRuleReq]) (*connect_go.Response[wfm.DeletePlacementRuleRes], error)
	// Creates an open times pattern for the org sending the request with the provided parameters.
	// The @open_times_pattern_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// Errors:
	//   - grpc.Invalid: the parameters in the @open_times_pattern are invalid.
	//   - grpc.NotFound: the parent entity doesn't exist.
	//   - grpc.Internal: error occurs when creating the open times pattern.
	CreateOpenTimesPattern(context.Context, *connect_go.Request[wfm.CreateOpenTimesPatternReq]) (*connect_go.Response[wfm.CreateOpenTimesPatternRes], error)
	// Updates an open times pattern for the given @open_times_pattern_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this open times pattern since it cannot be changed.
	// Required permission:
	//
	//	NONE
	//
	// Errors:
	//   - grpc.Invalid: one or more fields in the @open_times_pattern have invalid values.
	//   - grpc.NotFound: the given @open_times_pattern or it's @parent_entity doesn't exist.
	//   - grpc.Internal: error occurs when updating the open times pattern.
	UpdateOpenTimesPattern(context.Context, *connect_go.Request[wfm.UpdateOpenTimesPatternReq]) (*connect_go.Response[wfm.UpdateOpenTimesPatternRes], error)
	// Deletes an open times pattern with the coresponding @open_times_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @open_times_pattern_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @open_times_pattern doesn't exist.
	//   - grpc.Internal: error occurs when removing the open times pattern.
	DeleteOpenTimesPattern(context.Context, *connect_go.Request[wfm.DeleteOpenTimesPatternReq]) (*connect_go.Response[wfm.DeleteOpenTimesPatternRes], error)
	// Gets the inherited, own, and resulting bitmaps for the open times patterns of @node_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @node_to_check.
	// If @bitmap_type is COMPLETE, the bitmaps will be generated using all relevant pattern data.
	// If @bitmap_type is ONLY_WEEKMAPS, the bitmaps will be generated using only the weekmap data from the open times patterns.
	// If @bitmap_type is ONLY_CALENDAR_ITEMS, the bitmaps will be generated using only the calendar item data from the open times patterns.
	// The bitmaps will be generated for the span of @datetime_range.
	// Errors:
	//   - grpc.Invalid: the @node_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//     : the @datetime_range is invalid.
	//   - grpc.NotFound: the given @node_to_check doesn't exist.
	//   - grpc.Internal: error occurs when getting the open times pattern bitmaps.
	GetOpenTimesBitmaps(context.Context, *connect_go.Request[wfm.GetOpenTimesBitmapsReq]) (*connect_go.Response[wfm.GetOpenTimesBitmapsRes], error)
	// Gets the datetime ranges over which the given @node_selector open times patterns are open throughout the given @datetime_range for the org sending the request.
	// If the @node_selector is not open during that range, no ranges will be returned.
	// If the @node_selector is opened before or after the given @datetime_range, those times outside of @datetime_range will not be included in the returned @open_close_ranges.
	// Errors:
	//   - grpc.Invalid: the @node_selector or @datetime_range is invalid.
	//   - grpc.NotFound: the given @node_selector doesn't exist in @schedule_scenario_sid for the org sending the request.
	//   - grpc.Internal: error occurs when getting the open time close times.
	ListOpenDateRangesForNodeOpenTimesBitmaps(context.Context, *connect_go.Request[wfm.ListOpenDateRangesForNodeOpenTimesBitmapsRequest]) (*connect_go.Response[wfm.ListOpenDateRangesForNodeOpenTimesBitmapsResponse], error)
	// Creates an agent availability pattern for the org sending the request with the provided parameters.
	// The @agent_availability_pattern_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// Errors:
	//   - grpc.Invalid: the parameters in the @agent_availability_pattern are invalid.
	//   - grpc.NotFound: the parent entity doesn't exist.
	//   - grpc.Internal: error occurs when creating the agent availability pattern.
	CreateAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.CreateAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.CreateAgentAvailabilityPatternRes], error)
	// Updates an agent availability pattern for the given @agent_availability_pattern_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this agent availability pattern since it cannot be changed.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @agent_availability_pattern have invalid values.
	//   - grpc.Internal: error occurs when updating the agent avilability pattern.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the agent availability pattern.
	UpdateAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.UpdateAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.UpdateAgentAvailabilityPatternRes], error)
	// Deletes an agent availability pattern with the coresponding @agent_availability_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @agent_availability_pattern_sid has an invalid value.
	//   - grpc.NotFound: the @agent_availability_pattern with the given sid doesn't exist.
	//   - grpc.Internal: error occurs when removing the agent availability pattern.
	DeleteAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.DeleteAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.DeleteAgentAvailabilityPatternRes], error)
	// Gets the inherited, own, and resulting bitmaps for the agent availability patterns of @entities_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @entities_to_check.
	// @entities_to_check must have the entity_type field set with a wfm agent, agent group or a type of node.
	// If an availability bitmap is requested for an agent group, the bitmaps for all of it's member agents will be returned instead.
	// The bitmaps will be generated for the span of @datetime_range.
	// If @bitmap_type is COMPLETE, the bitmaps will be generated using all relevant pattern data.
	// If @bitmap_type is ONLY_WEEKMAPS, the bitmaps will be generated using only the weekmap data from the availability patterns.
	// If @bitmap_type is ONLY_CALENDAR_ITEMS, the bitmaps will be generated using only the calendar item data from the availability patterns.
	// Errors:
	//   - grpc.Invalid: the @entities_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//     : the @datetime_range is invalid.
	//   - grpc.NotFound: the given @entities_to_check don't exist.
	//   - grpc.Internal: error occurs when getting the agent availability pattern bitmaps.
	GetAvailabilityBitmaps(context.Context, *connect_go.Request[wfm.GetAvailabilityBitmapsReq]) (*connect_go.Response[wfm.GetAvailabilityBitmapsRes], error)
	// Upserts an association for the given @non_skill_activity_sid to the given @node.
	// All downstream members of the entity will have their inheritance state cleared, and inherit the given association.
	// If an association already exists between the non skill activity and the @node then their @relationship_type will be updated.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// If a NOT_ASSOCIATED_WITH relationship is being created, the tree will be checked for conflicting downstream effects.
	// If any member rules, are referencing the non skill activity and @relationship_type is NOT_ASSOCIATED_WITH, then the upsert will not take effect, and the list of related entities to be updated/removed first will be returned.
	// Errors:
	//   - grpc.Invalid: the @non_skill_activity_sid, @node or @association_type are invalid.
	//     : the non skill activity and @node belong to different scenarios.
	//   - grpc.NotFound: the @non_skill_activity_sid or @node don't exist.
	//   - grpc.Internal: error occurs when upserting the association.
	UpsertNonSkillActivityAssociation(context.Context, *connect_go.Request[wfm.UpsertNonSkillActivityAssociationReq]) (*connect_go.Response[wfm.UpsertNonSkillActivityAssociationRes], error)
	// Creates skill proficiencies for the org sending the request with the provided parameters.
	// The @schedule_scenario_sid must match the scenario of the @parent_entities.
	// Errors:
	//   - grpc.Invalid: the parameters in a @proficiency, or the @schedule_scenario_sid are invalid.
	//   - grpc.NotFound: for any of the given @skill_proficiencies:
	//     the @parent_entity doesn't exist.
	//     the @skill_sid doesn't exist.
	//     the skill profile with @preferred_skill_profile_sid doesn't contain the given @skill_sid.
	//   - grpc.AlreadyExists: a skill proficiency with the given @skill_sid and @parent_entity already exists.
	//   - grpc.Internal: error occurs when creating the skill proficiencies.
	CreateSkillProficiencies(context.Context, *connect_go.Request[wfm.CreateSkillProficienciesReq]) (*connect_go.Response[wfm.CreateSkillProficienciesRes], error)
	// Updates skill proficiencies corresponding to the given @skill_proficiency_sids and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @skill_sid and @parent_entity field of each proficiency will be ignored since it cannot be updated.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @skill_proficiencies have invalid values.
	//   - grpc.Internal: error occurs when updating the skill proficiencies.
	//   - grpc.NotFound: for any of the given @skill_proficiencies:
	//     the @skill_sid doesn't exist.
	//     the skill profile with @preferred_skill_profile_sid doesn't contain the skill of the given skill proficiency.
	//   - grpc.AlreadyExists: a skill proficiency with the given @skill_sid and @parent_entity already exists.
	UpdateSkillProficiencies(context.Context, *connect_go.Request[wfm.UpdateSkillProficienciesReq]) (*connect_go.Response[wfm.UpdateSkillProficienciesRes], error)
	// Deletes a skill proficiency with the corresponding @skill_proficiency_sid for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @skill_proficiency_sid is invalid for the org making the request.
	//	-grpc.NotFound: the skill proficiency with the given @skill_proficiency_sid doesn't exist.
	//	-grpc.Internal: error occurs when removing the skill proficiency.
	DeleteSkillProficiency(context.Context, *connect_go.Request[wfm.DeleteSkillProficiencyReq]) (*connect_go.Response[wfm.DeleteSkillProficiencyRes], error)
	// Copies the existing scenario with the @scenario_sid_to_copy for the org sending the request using the provided parameters.
	// Scheduling targets of entities in the scenario to copy will also be copied.
	// The new @schedule_scenario_sid of the new entity will be returned in the response.
	// Errors:gg
	//   - grpc.Invalid: the parameters @scenario_sid_to_copy or any others are invalid.
	//   - grpc.NotFound: the scenario corresponding to the @scenario_sid_to_copy doesn't exist.
	//   - grpc.Internal: error occurs when creating/coping the new scenario.
	CopyScenario(context.Context, *connect_go.Request[wfm.CopyScenarioReq]) (*connect_go.Response[wfm.CopyScenarioRes], error)
	// Creates a new schedule scenario for the org sending the request with the provided parameters.
	// The new @schedule_scenario_sid of the new entity will be returned in the response.
	// It also creates 1 of each of the following: call center, client, program, location node, and on call scheduling activity (if it doesn't exist already for the org).
	// The @node_description fields may optionally be left blank.
	// The @copied_from_scenario_sid field will be ignored, as it will be set to nil in the newly created scenario.
	// The @creation_datetime and @is_default fields will also be ignored and set as the current time and false respectively.
	// The @skill_profile_category will be associated with the created program node.
	// Errors:
	//   - grpc.Invalid: parameters in the @req are invalid for the org making the request.
	//   - grpc.NotFound: the @skill_profile_category does not exist.
	//   - grpc.Internal: error occurs when creating the new scenario, or any of the node entities.
	CreateScheduleScenarioWithNodes(context.Context, *connect_go.Request[wfm.CreateScheduleScenarioWithNodesReq]) (*connect_go.Response[wfm.CreateScheduleScenarioWithNodesRes], error)
	// Updates a schedule scenario corresponding to the given @schedule_scenario_sid and org sending the request with the provided parameters.
	// Only the @name, @description and @datetime_set_to_inactive fields may be updated, and must be filled in with current value if updating the field is not desired.
	// The @schedule_scenario_sid must be the original for the schedule scenario since it cannot be updated.
	// All other fields will be ignored since they cannot be updated.
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the @scenario have invalid values.
	//	-grpc.NotFound: the scenario with the given @schedule_scenario_sid doesn't exist.
	//	-grpc.Internal: error occurs when updating the scenario.
	UpdateScheduleScenario(context.Context, *connect_go.Request[wfm.UpdateScheduleScenarioReq]) (*connect_go.Response[wfm.UpdateScheduleScenarioRes], error)
	// Gets config entities that match the org sending the request and given @entity_type and that belong to the @belongs_to_entity and @schedule_scenario_sid parameters.
	// If @include_member_lists is set to true the member lists of the entities retrieved will be included.
	// Any nodes in the returned set of entities will have inherited nonskill associations applied to the node's member_nonskill_activity fields.
	// Prior to listing the entities it will Resync TCN Agents and skill proficiencies.
	// Errors:
	//   - grpc.Invalid: the @entity_type, or @belongs_to_entity have invalid values.
	//   - grpc.Internal: error occurs when getting the config entities.
	ListConfigEntities(context.Context, *connect_go.Request[wfm.ListConfigEntitiesReq]) (*connect_go.Response[wfm.ListConfigEntitiesRes], error)
	// Deletes shift instances with the corresponding @shift_instance_sids for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @shift_instance_sids are invalid for the org making the request.
	//	-grpc.NotFound: the shift instances with the given @shift_instance_sids don't exist.
	//	-grpc.Internal: error occurs when removing the shift instances.
	DeleteShiftInstances(context.Context, *connect_go.Request[wfm.DeleteShiftInstancesReq]) (*connect_go.Response[wfm.DeleteShiftInstancesRes], error)
	// Builds and returns the diagnostics and @nodes_checked for the @node_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @node_to_check.
	// Errors:
	//   - grpc.Invalid: the @node_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//   - grpc.NotFound: the given @node_to_check doesn't exist.
	//   - grpc.Internal: error occurs when building the diagnostics.
	BuildNodeDiagnostics(context.Context, *connect_go.Request[wfm.BuildNodeDiagnosticsReq]) (*connect_go.Response[wfm.BuildNodeDiagnosticsRes], error)
	// Builds and returns the global diagnostics and @nodes_checked for the @schedule_scenario_sid and the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @schedule_scenario_sid has an invalid values.
	//   - grpc.NotFound: the given @schedule_scenario_sid doesn't exist for the org making the request.
	//   - grpc.Internal: error occurs when building the diagnostics.
	BuildGlobalDiagnostics(context.Context, *connect_go.Request[wfm.BuildGlobalDiagnosticsReq]) (*connect_go.Response[wfm.BuildGlobalDiagnosticsRes], error)
	// Gets the published schedule for the corresponding @datetime_range for the org sending the request.
	// Will create a published schedule if it does not exist already for the org sending the request.
	// if @include_shift_instances is true, the shift instances associated within @datetime_range for the published schedule will be returned in the published schedules shift_instances field.
	// if @include_shift_template is true, any returned shift instances will have their orginating shift template returned in their origin_shift_template field.
	// if @include_shift_segments is true, any returned shift instances will have their shift_segments field set, otherwise the field will be left nil.
	// if @include_scheduling_activity is true, any returned shift segments will have their scheduling_activity field set, otherwise the field will be left nil.
	// if @include_activity is true, any returned scheduling activities will have their member_non_skill_activity field set, otherwise the field will be left nil.
	// Errors:
	//   - grpc.Invalid: the @datetime_range, @metric_types are invalid.
	//   - grpc.NotFound: the @node_selector doesn't exist.
	//   - grpc.Internal: error occurs when getting the published schedule.
	GetPublishedSchedule(context.Context, *connect_go.Request[wfm.GetPublishedScheduleReq]) (*connect_go.Response[wfm.GetPublishedScheduleRes], error)
	// Gets the required calls intervals for the published schedule for the corresponding @viewing_range, for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the published schedule doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetPublishedScheduleRequiredCalls(context.Context, *connect_go.Request[wfm.GetPublishedScheduleRequiredCallsReq]) (*connect_go.Response[wfm.GetPublishedScheduleRequiredCallsRes], error)
	// Gets the required calls intervals for the specified draft schedule for the corresponding @viewing_range, for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the draft schedule doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetDraftScheduleRequiredCalls(context.Context, *connect_go.Request[wfm.GetDraftScheduleRequiredCallsReq]) (*connect_go.Response[wfm.GetDraftScheduleRequiredCallsRes], error)
	// Creates a draft schedule for the org sending the request with the provided parameters.
	// The @draft_schedule_sid of the new entity will be returned in the response.
	// The @created_at and @last_updated_at fields will be set to the current time and null respectively.
	// The draft schedule will include the published schedule's shift instances and shift segments.
	// Errors:
	//   - grpc.Invalid: the @name, @description or @scheduling_range are invalid.
	//   - grpc.Internal: error occurs when creating the draft schedule.
	CreateDraftSchedule(context.Context, *connect_go.Request[wfm.CreateDraftScheduleReq]) (*connect_go.Response[wfm.CreateDraftScheduleRes], error)
	// Updates the @name, @description, and @datetime_range of the given @draft_schedule_sid for the org sending the request.
	// The @name, @description, and @datetime_range fields must all be set with their desired values.
	// If @delete_shifts_not_in_range if true, then any instances outside of the @datetime_range will be permenantly deleted with no recovery option.
	// If @delete_shifts_not_in_range is false, instances outside of the new @datetime_range will be retained, for use if the datetime range is expanded to cover the instances in the future.
	// If @copy_shifts_into_new_range time is true, then new the portion of an expanded @datetime_range which has no instances will copy the instances from the published schedule. If false, no instances will be created for an expanded @scheduling_range.
	// If @get_updated_shifts is true, then the returned draft schedule will also contain the shift instances and segments in the given @datetime_range.
	// Errors:
	//   - grpc.Invalid: the @name, @description or @datetime_range are invalid.
	//   - grpc.Internal: error occurs when updating the schedule or its instances.
	UpdateDraftSchedule(context.Context, *connect_go.Request[wfm.UpdateDraftScheduleReq]) (*connect_go.Response[wfm.UpdateDraftScheduleRes], error)
	// Builds a draft schedule for the given @node_selector in @schedule_scenario_sid over @schedule_scenario_scheduling_range for @draft_schedule_sid and the org making the request.
	// The @schedule_scenario_scheduling_range field is optional. If not set, the draft schedule will be obtained with it's default range from it's start to end time.
	// @include parameters are used when retrieving the resulting draft schedule, and work in the same way as for GetDraftSchedule.
	// Will return diagnostics for the newly built schedule, or just diagnostics if the schedule cannot be built successfully due to diagnostic error.
	// If @auto_generate_agents is set to true, unassigned agents will automatically be generated to meet the requirements of the shift templates min and max agents.
	BuildDraftSchedule(context.Context, *connect_go.Request[wfm.BuildDraftScheduleReq]) (*connect_go.Response[wfm.BuildDraftScheduleRes], error)
	// Publishes the shift instances of the given @draft_schedule_sid to the published schedule of the org sending the request.
	// Overlapping shift instances that aren't locked will be replaced with the instances from the draft schedule.
	// If @ignore_diagnostics_errors is set to true, it will publish the schedule regardless of any diagnostics errors,
	// otherwise it will return those diagnostic errors and not publish the schedule.
	// @include parameters are used when retrieving the resulting published schedule, and work in the same way as for GetDraftSchedule.
	// Errors:
	//   - grpc.Invalid: the parameters in the @req are invalid..
	//   - grpc.NotFound: @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when publishing the draft schedule.
	PublishDraftSchedule(context.Context, *connect_go.Request[wfm.PublishDraftScheduleReq]) (*connect_go.Response[wfm.PublishDraftScheduleRes], error)
	// Resets the shifts on the @draft_schedule_sid for the org sending the request.
	// Shifts overlapping the @datetime_range will be deleted, then that @datetime_range will be populated with shifts from the published schedule.
	// If no @datetime_range is provided, all shifts will be removed from the @draft_schedule_sid, and published shifts will be copied across the draft's datetime range.
	// If @unlocked_only is set to true, only unlocked shifts will be deleted, and the locked shift instances will remain.
	//
	//	The published schedule will still be copied, so any newly overlapping shifts will result in an overlap warning.
	//
	// Errors:
	//   - grpc.Invalid: the @datetime_range or @draft_schedule_sid are invalid for the org sending the request.
	//   - grpc.NotFound: the @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when resetting the schedule.
	ResetDraftSchedule(context.Context, *connect_go.Request[wfm.ResetDraftScheduleReq]) (*connect_go.Response[wfm.ResetDraftScheduleRes], error)
	// Gets the draft schedule with @draft_schedule_sid for the corresponding @datetime_range for the org sending the request.
	// The @datetime_range field is optional. If not set, the draft schedule will be obtained with it's default range from it's start to end time.
	// if @include_shift_instances is true, the shift instances associated within @datetime_range for the draft schedule will be returned in the draft schedules shift_instances field.
	// @node_selector must be for a node that belongs to the same schedule scenario as @draft_schedule_sid.
	// if @include_shift_template is true, any returned shift instances will have their orginating shift template returned in their origin_shift_template field.
	// if @include_shift_segments is true, any returned shift instances will have their shift_segments field set, otherwise the field will be left nil.
	// if @include_scheduling_activity is true, any returned shift segments will have their scheduling_activity field set, otherwise the field will be left nil.
	// if @include_activity is true, any returned scheduling activities will have their member_non_skill_activity field set, otherwise the field will be left nil.
	// Errors:
	//   - grpc.Invalid: the @datetime_range or @draft_schedule_sid are invalid.
	//   - grpc.NotFound: the @node_selector or @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when getting the draft schedule.
	GetDraftSchedule(context.Context, *connect_go.Request[wfm.GetDraftScheduleReq]) (*connect_go.Response[wfm.GetDraftScheduleRes], error)
	// Lists the draft schedules whose scheduling_range overlaps the given @datetime_range for the org sending the request.
	// If @datetime_range is not set, all draft schedules for the org will be returned.
	// Errors:
	//   - grpc.Invalid: the @datetime_range is invalid.
	//   - grpc.Internal: error occurs when listing the draft schedules.
	ListDraftSchedules(context.Context, *connect_go.Request[wfm.ListDraftSchedulesReq]) (*connect_go.Response[wfm.ListDraftSchedulesRes], error)
	// Clears shift instances from the @schedule_selector for the org sending the request.
	// If @node_selector is set, only shifts related to the given @node_selector will be cleared.
	// If @node_selector is not set, all shifts on the @schedule_selector may be cleared, regardless of the shift template they are associated with.
	// If @datetime_range is set, only the shifts overlapping the @datetime_range will be cleared.
	// If @datetime_range is not set, all shifts on the schedule will be considered in range to be deleted and @invert_datetime_range and @start_datetimes_only must be set to false.
	// If @invert_datetime_range is set to true, the shifts overlapping the range before and after the provided @datetime_range will be deleted.
	// If @invert_datetime_range is set to false, the provided @datetime_range will be used.
	// If @start_datetimes_only is set to true, deletes the shifts that start within the @datetime range, or start before or after @datetime_range if @invert_datetime_range is true.
	// If @start_datetimes_only is set to false, deletes the shifts that overlap with the @datetime range, or overlap the range before or after @datetime_range if @invert_datetime_range is true.
	// If @delete_locked is set to true, both locked and unlocked shifts will be cleared.
	// If @delete_locked is set to false, only shifts with @is_locked set to false may be cleared.
	// Errors:
	//   - grpc.Invalid: the @node_selector, @schedule_selector, or @datetime_range in the request are invalid.
	//   - grpc.NotFound: the draft schedule with the given @schedule_selector doesn't exist.
	//   - grpc.Internal: error occurs when removing the shifts from the schedule.
	ClearSchedule(context.Context, *connect_go.Request[wfm.ClearScheduleReq]) (*connect_go.Response[wfm.ClearScheduleRes], error)
	// Deletes a draft schedule with the corresponding @draft_schedule_sid for the org sending the request.
	// It also deletes all of its shift instances and segments.
	// Errors:
	//   - grpc.Invalid: the @draft_schedule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the draft schedule with the given @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when removing the draft schedule.
	DeleteDraftSchedule(context.Context, *connect_go.Request[wfm.DeleteDraftScheduleReq]) (*connect_go.Response[wfm.DeleteDraftScheduleRes], error)
	// Lists the shift instances with the corresponding @shift_instance_sids for the org sending the request.
	// If @include_shift_template is set to true then the related shift template for the shift instances will be returned in the shift template field.
	// If @include_shift_segments is set to true then the related shift segments for the shift instances will be returned in the shift segments field.
	// If @include_scheduling_activity is set to true then the related scheduling activity for the shift segment will be returned in the scheduling activity field.
	// @include_shift_segments must be true to take effect.
	// If @include_activity is set to true then the related non skill activity for the scheduling activity will be returned in the scheduling
	// activities member non skill activity field. @include_scheduling_activity must be true to take effect.
	// Errors:
	//   - grpc.Invalid: @shift_instance_sids in the request are invalid.
	//   - grpc.Internal: error occurs when listing the shift instances or their shift segments.
	ListShiftInstancesBySid(context.Context, *connect_go.Request[wfm.ListShiftInstancesBySidReq]) (*connect_go.Response[wfm.ListShiftInstancesBySidRes], error)
	// Copies the shifts from @source_schedule_selector to @destination_schedule_selector, constrained by the given parameters for the org sending the request.
	// If @datetime_range is set, all shifts within the datetime range will be copied.
	// If @datetime_range is not set, all shifts in the @source_schedule_selector within the schedule range of the @destination_schedule_selector will be copied. However if one of them is a published schedule, it will use the schedule range of the draft schedule.
	// If @start_datetimes_only is set to false, then shifts are considered to be within the @datetime range if any portion of them is within the range.
	// If @start_datetimes_only is set to true, then only shifts with start times within the @datetime range will be copied.
	// If @overlap_as_warning is set to false, any overlapping shifts for a given agent will return a diagnostic error, and prevent any shifts from being copied.
	// If @overlap_as_warning is set to true, the shifts will be copied regardless of overlap conflicts, and any conflicts will cause a diagnostic warning to be returned after.
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values.
	//	-grpc.NotFound: the @source_schedule_selector or @destination_schedule_selector don't exist for the org sending the request.
	//	-grpc.Internal: error occurs when creating the copied shift instances.
	CopyScheduleToSchedule(context.Context, *connect_go.Request[wfm.CopyScheduleToScheduleReq]) (*connect_go.Response[wfm.CopyScheduleToScheduleRes], error)
	// Creates a shift instance for the org sending the request with the provided parameters.
	// This method is not implemented. Do not use.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when creating the shift instance.
	CreateShiftInstance(context.Context, *connect_go.Request[wfm.CreateShiftInstanceReq]) (*connect_go.Response[wfm.CreateShiftInstanceRes], error)
	// Creates a shift instance for the org sending the request with the provided parameters.
	// If @wfm_agent_sids is empty, then the shift instance will be created for a newly created unassigned agent.
	// A shift instance will be created for each wfm agent sid provided.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when creating the shift instance.
	//   - grpc.NotFound: the @draft_schedule_sid, @shift_template_sid, or @wfm_agent_sids do not exist for the org sending the request.
	CreateShiftInstanceV2(context.Context, *connect_go.Request[wfm.CreateShiftInstanceV2Req]) (*connect_go.Response[wfm.CreateShiftInstanceV2Res], error)
	// Creates the @shift_instance with any member shift segments and shift segment call stats for the org sending the request.
	// If @ignore_diagnostics_errors any diagnostics encountered will be returned as warnings, and the shift will still be created.
	//
	//	Otherwise, any diagnostics triggered by the given @shift_instance will be returned and the shift will not be created.
	//
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values.
	//	-grpc.NotFound: the fields referenced in @shift_instance or its member shift segments don't exist for the org.
	//	-grpc.Internal: error occurs when creating the shift instance or its members.
	CreateShiftInstanceWithSegments(context.Context, *connect_go.Request[wfm.CreateShiftInstanceWithSegmentsRequest]) (*connect_go.Response[wfm.CreateShiftInstanceWithSegmentsResponse], error)
	// Splits the @shift_instance_sid into two, at the given @time_to_split, returning the updated and new @shift_instances.
	// Any shift segments will be split between the two shift instances at @time_to_split.
	// If the @time_to_split creates instances shorter then the minimum length specified by the shift template,
	//
	//	warning diagnostics will be returned and the instance will still be split.
	//
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values, or @time_to_split is not at least 5 minutes from the start or end of @shift_instance_sid.
	//	-grpc.NotFound: the @shift_instance_sid does't exist for the org sending the request.
	//	-grpc.Internal: error occurs when creating or updating the shift instances.
	SplitShiftInstance(context.Context, *connect_go.Request[wfm.SplitShiftInstanceReq]) (*connect_go.Response[wfm.SplitShiftInstanceRes], error)
	// Swaps shift instances with the given @shift_instance_sids that belong to @wfm_agent_sid1 to belong to @wfm_agent_sid2 (and viceversa).
	// Returns the swapped @shift_instances after they are succesfully updated.
	// If there are other shifts for the given @wfm_agent_sids with an overlap conflict, diagnostics will be returned instead.
	// All @shift_instance_sids must belong to the same schedule, and be from a draft schedule.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.NotFound: wfm_agent_sid_1, wfm_agent_sid_2, or shift_instance_sids do not exist for the org sending the request.
	//   - grpc.Internal: error occurs when swapping the shift instances.
	SwapShiftInstances(context.Context, *connect_go.Request[wfm.SwapShiftInstancesReq]) (*connect_go.Response[wfm.SwapShiftInstancesRes], error)
	// Updates a shift instance for the org sending the request with the provided parameters.
	// This method is not implemented. Do not use.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when updating the shift instance.
	UpdateShiftInstance(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceReq]) (*connect_go.Response[wfm.UpdateShiftInstanceRes], error)
	// Updates a shift instance for the org sending the request with the provided parameters.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when updating the shift instance.
	UpdateShiftInstanceV2(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceV2Req]) (*connect_go.Response[wfm.UpdateShiftInstanceV2Res], error)
	// Runs diagnostics on the given @shift_instance for the org sending the request.
	// If @ignore_diagnostics_errors is True, the shift will be updated regardless of diagnostic errors and any diagnostics will be returned as warnings.
	// Otherwise, the shift will only be updated if there are no diagnostic errors.
	// Only the @start_datetime, @is_locked, @width_in_minutes and @wfm_agent_sid fields of the shift will be updated.
	//
	// Any existing shift segments belonging to @shift_instance will be deleted and replaced with the ones in the given @shift_instance.
	// If no segments are provided, the existing segments will still be deleted and the instances will be left without any.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when updating the @shift_instance or replacing their member shift segments.
	UpdateShiftInstanceWithSegments(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceWithSegmentsRequest]) (*connect_go.Response[wfm.UpdateShiftInstanceWithSegmentsResponse], error)
	// Copies the given @shift_instance_sids to @destination_schedule for the org sending the request.
	// If there are any overlap conflicts on @destination_schedule and @overlap_as_warning is set to false,
	//
	//	then @shift_instance_sids will not be copied, and a list of diagnostics detailing the overlaps will be returned.
	//
	// If @overlap_as_warning is set to true, overlap conflicts will not prevent the shifts from being copied, and the overlap diagnostics will be returned after as warning messages instead.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.NotFound: the @shift_instance_sids or @destination_schedule does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when copying the shift instances.
	CopyShiftInstancesToSchedule(context.Context, *connect_go.Request[wfm.CopyShiftInstancesToScheduleReq]) (*connect_go.Response[wfm.CopyShiftInstancesToScheduleRes], error)
	// Lists the shift_instance_sids for the Shift Instances associated with @wfm_agent_sid over the given @datetime_range and @schedule_selector.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftInstanceSidsForAgent(context.Context, *connect_go.Request[wfm.ListShiftInstanceSidsForAgentReq]) (*connect_go.Response[wfm.ListShiftInstanceSidsForAgentRes], error)
	// Lists shift segments for the specified shift instances for the org sending the request.
	// If @include_scheduling_activity is set to true then the related scheduling activity for the shift segment will be returned in the scheduling activity field.
	// If @include_activity is set to true then the related non skill activity for the scheduling activity will be returned in the scheduling activities member non skill activity field.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: a shift instance doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftSegmentsByShiftInstanceSids(context.Context, *connect_go.Request[wfm.ListShiftSegmentsByShiftInstanceSidsReq]) (*connect_go.Response[wfm.ListShiftSegmentsByShiftInstanceSidsRes], error)
	// Creates the given @scheduling_target for the org making the request.
	// The @scheduling_target_sid of the new entity will be returned in the response.
	// Any preexisting scheduling target for @node_entity will be removed upon creation of the new @scheduling_target.
	// Errors:
	//   - grpc.Invalid: the @scheduling_target is invalid.
	//   - grpc.NotFound: @node_entity doesn't exist for @schedule_scenario_sid and the org making the request.
	//   - grpc.Internal: error occours when setting the scheduling target.
	SetSchedulingTarget(context.Context, *connect_go.Request[wfm.SetSchedulingTargetReq]) (*connect_go.Response[wfm.SetSchedulingTargetRes], error)
	// Gets the @own_scheduling_target, @inherited_scheduling_target, and @resulting_scheduling_target for the given @node_selector and the org making the request.
	// Errors:
	//   - grpc.Invalid: the @node_selector is invalid.
	//   - grpc.NotFound: the given @node_selector doesn't exist for the org making the request.
	//   - grpc.Internal: error occours when getting the scheduling target.
	GetSchedulingTarget(context.Context, *connect_go.Request[wfm.GetSchedulingTargetReq]) (*connect_go.Response[wfm.GetSchedulingTargetRes], error)
	// Deletes the scheduling target of the corresponding @node_selector for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @node_selector is invalid.
	//	-grpc.NotFound: the scheduling target for the given @node_selector doesn't exist for the org making the request.
	//	-grpc.Internal: error occurs when removing the scheduling target.
	DeleteSchedulingTarget(context.Context, *connect_go.Request[wfm.DeleteSchedulingTargetReq]) (*connect_go.Response[wfm.DeleteSchedulingTargetRes], error)
	// Gets the scheduling-target values for the org making the request.
	// Errors:
	//   - grpc.Internal: error occours when getting the scheduling-target values.
	GetDefaultSchedulingTarget(context.Context, *connect_go.Request[wfm.GetDefaultSchedulingTargetReq]) (*connect_go.Response[wfm.GetDefaultSchedulingTargetRes], error)
	// Sets the scheduling-target values for the org making the request.
	// Errors:
	//   - grpc.Invalid: any of the given values are invalid.
	//   - grpc.Internal: error occours when setting the scheduling-target values.
	SetDefaultSchedulingTarget(context.Context, *connect_go.Request[wfm.SetDefaultSchedulingTargetReq]) (*connect_go.Response[wfm.SetDefaultSchedulingTargetRes], error)
	// Gets the performance metrics across @datetime_range for shift instances in @schedule_selector associated with @node_selector for the org making the request.
	// Performance metrics will be generated for each of the given @metric_params.
	// The @interval_width_in_minutes must be a multiple of 5.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @node_selector, @schedule_selector, or their shift instances doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetPerformanceMetrics(context.Context, *connect_go.Request[wfm.GetPerformanceMetricsReq]) (*connect_go.Response[wfm.GetPerformanceMetricsRes], error)
	// Lists the required calls intervals for the given @node_selector over the given @datetime_range for the org making the request.
	// The @interval_width_in_minutes must be a multiple of 5.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListRequiredCallsIntervals(context.Context, *connect_go.Request[wfm.ListRequiredCallsIntervalsReq]) (*connect_go.Response[wfm.ListRequiredCallsIntervalsRes], error)
	// Creates a Tour Pattern for @shift_template_sid and the org sending the request, returning @tour_pattern_sid.
	// If there is already a Tour Pattern for @shift_template_sid then the method call will fail to create a new Tour Pattern.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: A Tour Pattern already exists for @shift_template_sid.
	//   - grpc.Internal: error occurs when creating the Tour Pattern.
	CreateTourPattern(context.Context, *connect_go.Request[wfm.CreateTourPatternReq]) (*connect_go.Response[wfm.CreateTourPatternRes], error)
	// Returns a list of diagnostics describing any issues with the given @tour_pattern.
	// Checks the internal consistency between the pattern and all members, as well as making sure required fields are set with valid values.
	// Ignores sid fields, except for @shift_template_sid and @scheduling_activity_sid.
	// Does not query the database to check that foreign keys exist.
	// Returns a single diagnostic with an OK code if the given @tour_pattern has no issues.
	// The @member_tour_week_patterns and @member_tour_agent_collections fields must be set on @tour_pattern.
	// Errors:
	//   - grpc.Internal: error occurs when validating the tour pattern or members.
	GetTourPatternDiagnostics(context.Context, *connect_go.Request[wfm.GetTourPatternDiagnosticsReq]) (*connect_go.Response[wfm.GetTourPatternDiagnosticsRes], error)
	// Replaces the existing Tour Pattern and members with @tour_pattern for the @tour_pattern.shift_template_sid and the org sending the request.
	// Returns the newly created Tour Pattern and members with their updated SIDs and Week Pattern Numbers.
	// Any existing Tour Week Patterns, Tour Shift Instance and Segment Configs, Tour Agent Collections and their WFM Agent SIDs
	//
	//	belonging to @tour_pattern.shift_template_sid will be replaced with the members on the provided @tour_pattern.
	//
	// At least one Tour Agent Collection and one Tour Week Pattern must be provided in the member fields.
	// If the tour pattern data or members have issues that prevent them from being persisted, a list of diagnostics will be returned describing the issues that must be resolved.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @tour_pattern.shift_template_sid does not exist.
	//   - grpc.Internal: error occurs when upserting the tour pattern or members.
	UpsertTourPatternWithMembers(context.Context, *connect_go.Request[wfm.UpsertTourPatternWithMembersReq]) (*connect_go.Response[wfm.UpsertTourPatternWithMembersRes], error)
	// Gets the Tour Pattern belonging to @shift_template_sid and the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the requested Tour Pattern does not exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetTourPattern(context.Context, *connect_go.Request[wfm.GetTourPatternReq]) (*connect_go.Response[wfm.GetTourPatternRes], error)
	// Gets the Tour Pattern belonging to @shift_template_sid and the org sending the request.
	// The @tour_pattern will be returned with all member entities.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the requested Tour Pattern does not exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetTourPatternWithMembers(context.Context, *connect_go.Request[wfm.GetTourPatternWithMembersReq]) (*connect_go.Response[wfm.GetTourPatternWithMembersRes], error)
	// Deletes the Tour Pattern belonging to @tour_pattern_sid and the org sending the request.
	// Any member Tour Week Patterns or Agent Collections will be deleted as well.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the data or it's children.
	DeleteTourPattern(context.Context, *connect_go.Request[wfm.DeleteTourPatternReq]) (*connect_go.Response[wfm.DeleteTourPatternRes], error)
	// Creates a Tour Week Pattern for @tour_pattern_sid for the org sending the request, returning @tour_week_pattern_sid.
	// The newly created Tour Week Pattern will be placed at the end of the existing sequence of tour week patterns for @tour_pattern_sid.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the Tour Week Pattern.
	CreateTourWeekPattern(context.Context, *connect_go.Request[wfm.CreateTourWeekPatternReq]) (*connect_go.Response[wfm.CreateTourWeekPatternRes], error)
	// Lists the Tour Week Patterns with @tour_pattern_sid for the org sending the request
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Week Patterns.
	ListTourWeekPatterns(context.Context, *connect_go.Request[wfm.ListTourWeekPatternsReq]) (*connect_go.Response[wfm.ListTourWeekPatternsRes], error)
	// Deletes the Tour Week Patterns with the given @tour_week_pattern_sids for the org sending the request.
	// Any Tour Week Instance or Segment Configs using @tour_week_pattern_sids will be deleted.
	// Request will error if any @tour_week_pattern_sids are in use by a Tour Agent Collection, as those must be removed first.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.FailedPrecondition: a @tour_week_pattern_sid is in use by a Tour Agent Collection.
	//   - grpc.Internal: error occurs when deleting the tour week patterns or configs.
	DeleteTourWeekPatterns(context.Context, *connect_go.Request[wfm.DeleteTourWeekPatternsReq]) (*connect_go.Response[wfm.DeleteTourWeekPatternsRes], error)
	// Creates the @tour_shift_instance_config for the org sending the request, returning @tour_shift_instance_config_sid.
	// The given @tour_shift_instance_config will not be created if it will overlap another tour shift instance config belonging to @tour_week_pattern_sid.
	// The @member_tour_shift_segment_configs field will be ignored, and will not be created if passed through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or a preexisting tour shift instance config would overlap @tour_shift_instance_config.
	//   - grpc.Internal: error occurs when creating the data.
	CreateTourShiftInstanceConfig(context.Context, *connect_go.Request[wfm.CreateTourShiftInstanceConfigReq]) (*connect_go.Response[wfm.CreateTourShiftInstanceConfigRes], error)
	// Updates the @tour_shift_instance_config for the org sending the request, returning @tour_shift_instance_config_sid.
	// The given @tour_shift_instance_config will not be created if it will overlap another tour shift instance config belonging to @tour_week_pattern_sid.
	// The @member_tour_shift_segment_configs field will be ignored, and will not be updated if passed through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or a preexisting Tour Shift Instance Config would overlap @tour_shift_instance_config.
	//   - grpc.Internal: error occurs when updating the data.
	UpdateTourShiftInstanceConfig(context.Context, *connect_go.Request[wfm.UpdateTourShiftInstanceConfigReq]) (*connect_go.Response[wfm.UpdateTourShiftInstanceConfigRes], error)
	// Lists the Tour Shift Instance Configs belonging to @tour_week_pattern_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Instance Configs.
	ListTourShiftInstanceConfigs(context.Context, *connect_go.Request[wfm.ListTourShiftInstanceConfigsReq]) (*connect_go.Response[wfm.ListTourShiftInstanceConfigsRes], error)
	// Deletes the Tour Shift Instance Configs matching @tour_shift_instance_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Instance Configs.
	DeleteTourShiftInstanceConfigs(context.Context, *connect_go.Request[wfm.DeleteTourShiftInstanceConfigsReq]) (*connect_go.Response[wfm.DeleteTourShiftInstanceConfigsRes], error)
	// Creates the given @tour_shift_segment_config for the org sending the request, returning @tour_shift_segment_config_sid.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @tour_shift_instance_config_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the entity.
	CreateTourShiftSegmentConfig(context.Context, *connect_go.Request[wfm.CreateTourShiftSegmentConfigReq]) (*connect_go.Response[wfm.CreateTourShiftSegmentConfigRes], error)
	// Updates the given @tour_shift_segment_config matching @tour_shift_segment_config_sid for the org sending the request.
	// If the updated Tour Shift Segment Config overlaps another segment or does not fit within the parent Tour Shift Instance Config the update will fail.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or the resulting update would result in a conflict.
	//   - grpc.NotFound: the @tour_shift_instance_config_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when updating the entity.
	UpdateTourShiftSegmentConfig(context.Context, *connect_go.Request[wfm.UpdateTourShiftSegmentConfigReq]) (*connect_go.Response[wfm.UpdateTourShiftSegmentConfigRes], error)
	// Lists the Tour Shift Segment Configs belonging to @tour_shift_instance_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Segment Configs.
	ListTourShiftSegmentConfigs(context.Context, *connect_go.Request[wfm.ListTourShiftSegmentConfigsReq]) (*connect_go.Response[wfm.ListTourShiftSegmentConfigsRes], error)
	// Deletes the Tour Shift Segment Configs associated with the given @tour_shift_segment_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the Tour Shift Segment Configs.
	DeleteTourShiftSegmentConfigs(context.Context, *connect_go.Request[wfm.DeleteTourShiftSegmentConfigsReq]) (*connect_go.Response[wfm.DeleteTourShiftSegmentConfigsRes], error)
	// Creates the given @tour_agent_collection for the org sending the request and return the @tour_agent_collection_sid.
	// The @wfm_agent_sids will be ignored and will not be created through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: the first_week_pattern_number for @tour_pattern_sid is already in use by another tour agent collection.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the entity.
	CreateTourAgentCollection(context.Context, *connect_go.Request[wfm.CreateTourAgentCollectionReq]) (*connect_go.Response[wfm.CreateTourAgentCollectionRes], error)
	// Updates the given @tour_agent_collection matching the @tour_agent_collection_sid for the org sending the request.
	// The @wfm_agent_sids will be ignored and will not be updated through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: the first_week_pattern_number for @tour_pattern_sid is already in use by another tour agent collection.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when updating the entity.
	UpdateTourAgentCollection(context.Context, *connect_go.Request[wfm.UpdateTourAgentCollectionReq]) (*connect_go.Response[wfm.UpdateTourAgentCollectionRes], error)
	// Lists the Tour Agent Collections belonging to @tour_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	ListTourAgentCollections(context.Context, *connect_go.Request[wfm.ListTourAgentCollectionsReq]) (*connect_go.Response[wfm.ListTourAgentCollectionsRes], error)
	// Deletes the Tour Agent collections matching @tour_agent_collection_sids for the org sending the request.
	// Any existing associations with WFM Agent Sids will be deleted as well.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the tour agent collections.
	DeleteTourAgentCollections(context.Context, *connect_go.Request[wfm.DeleteTourAgentCollectionsReq]) (*connect_go.Response[wfm.DeleteTourAgentCollectionsRes], error)
	// Creates an assocation between the @tour_agent_collection_sid and the @wfm_agent_sids for the org sending the request.
	// If there is already an association between any of the @wfm_agent_sids and the Tour Pattern that @tour_agent_collection_sid belongs to, the method will fail and no associations will be created.
	// Errors:
	//   - grpc.Invalid: the request data is invalid
	//   - grpc.AlreadyExists: an association already exists for at least one SID in @wfm_agent_sids.
	//   - grpc.Internal: error occurs when creating the association.
	CreateTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.CreateTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.CreateTourAgentCollectionWFMAgentsRes], error)
	// Lists the WFM Agent SIDs belonging to @tour_agent_collection_sids for the org sending the request.
	// The resulting sids will be returned in @wfm_agent_pairings each containing an @agent_collection_sid and @wfm_agent_sids.
	// If no agents are found for a sid in the given @tour_agent_collection_sids, that @agent_collection_sid will have an empty slice in @wfm_agent_sids.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	ListTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.ListTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.ListTourAgentCollectionWFMAgentsRes], error)
	// Deletes association between the @wfm_agent_sids and @tour_agent_collection_sid for the org sending the request.
	// If no @wfm_agent_sids are provided, all existing @wfm_agent_sids for the given @tour_agent_collection_sid will be deleted.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: there are no WFM Agent associations to delete for @tour_agent_collection_sid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	DeleteTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.DeleteTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.DeleteTourAgentCollectionWFMAgentsRes], error)
	// Generates a list of tour week patterns for @target_shift_template_sid and the org sending the request.
	// Sets the member_tour_week_patterns with a tour week pattern for each of the @num_weeks_in_tour.
	// Each of the tour week patterns will be set with tour shift instances and segment configs based on
	//
	//	the forecasted call data over the next @num_weeks_in_tour, starting on the next Monday.
	//
	// The returned data will not be persisted. This method will not effect any existing tour week patterns in the database.
	// The @tour_week_patterns returned by this method are intended to replace, not append, all currenly existing tour week patterns for @target_shift_template_sid, once persisted.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: there is no call center node or @shift_template_sid associated with @schedule_scenario_sid.
	//   - grpc.Internal: error occurs when generating the tour week patterns.
	GenerateTourWeekPatterns(context.Context, *connect_go.Request[wfm.GenerateTourWeekPatternsReq]) (*connect_go.Response[wfm.GenerateTourWeekPatternsRes], error)
	// Returns a list of @wfm_agent_sids that are suitable for replacing @wfm_agent_sid_to_replace for the given parameters and the org sending the request.
	// Only enforces that skill proficiencies are covered by the individual wfm agents, does not enforce constraint rules.
	// If @skip_skill_proficiency_sort is False, the agents will be returned in order of cumulative skill proficiency towards the required skills.
	// If @include_skill_mismatches is True, the agents will be included even if they do not include all of the required skills for the shifts being replaced.
	// If @skip_force_same_agent_groups is False, the agents will only be returned if they belong to every agent group that @wfm_agent_sid_to_replace is a member of. Otherwise, this check will be skipped.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when determinining which agents are valid.
	ListValidAgentsForReplacement(context.Context, *connect_go.Request[wfm.ListValidAgentsForReplacementReq]) (*connect_go.Response[wfm.ListValidAgentsForReplacementRes], error)
	// Replaces @wfm_agent_sid_to_remove with @wfm_agent_sid_to_add for the given parameters and the org sending the request.
	// If @skip_overlapping_shifts, shifts with an overlap conflict will be skipped, otherwise overlap conflicts will cause a diagnostic to be returned.
	// Does not enforce skill proficiencies. To check skill proficiencies for shift replacement use ListValidAgentsForReplacement.
	// DEPRECATED as of Jan/22/2024 - Use ReplaceAgentOnScheduleV1 instead.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when replacing the @wfm_agent_sid_to_remove.
	//
	// Deprecated: do not use.
	ReplaceAgentOnSchedule(context.Context, *connect_go.Request[wfm.ReplaceAgentOnScheduleRes]) (*connect_go.Response[wfm.ReplaceAgentOnScheduleRes], error)
	// Replaces @wfm_agent_sid_to_remove with @wfm_agent_sid_to_add for the given parameters and the org sending the request.
	// If @skip_overlapping_shifts, shifts with an overlap conflict will be skipped, otherwise overlap conflicts will cause a diagnostic to be returned.
	// Does not enforce skill proficiencies. To check skill proficiencies for shift replacement use ListValidAgentsForReplacement.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when replacing the @wfm_agent_sid_to_remove.
	ReplaceAgentOnScheduleV1(context.Context, *connect_go.Request[wfm.ReplaceAgentOnScheduleReq]) (*connect_go.Response[wfm.ReplaceAgentOnScheduleRes], error)
	// Removes the @wfm_agent_sid from @schedule_selector over @datetime_range for the org sending the request.
	// Creates a new unassigned agent with the same active agent group associations as @wfm_agent_sid for @schedule_scenario_sid.
	// The unassigned agent will be assigned to shifts belonging to @wfm_agent_sid, returning newly created unassigned agent's SID and the updated shifts.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when creating the unassigned agent or updating the shifts.
	RemoveAgentFromSchedule(context.Context, *connect_go.Request[wfm.RemoveAgentFromScheduleRequest]) (*connect_go.Response[wfm.RemoveAgentFromScheduleResponse], error)
	// Creates an agent leave petition to request time off for the @wfm_agent_sid over the @requested_datetime_ranges for the org sending the request.
	// The @petition_comment must be set with a value.
	// The @requested_datetime_ranges may not overlap each other.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when creating the time off request.
	//   - grpc.NotFound: the @wfm_agent_sid does not exist for the org sending the request.
	CreateAgentLeavePetition(context.Context, *connect_go.Request[wfm.CreateAgentLeavePetitionRequest]) (*connect_go.Response[wfm.CreateAgentLeavePetitionResponse], error)
	// Lists agent leave petitions for the @wfm_agent_sids over @datetime_range for the org sending the request.
	// If no @wfm_agent_sids are provided, all agent leave petitions overlapping @datetime_range for the org sending the request will be returned.
	// If no @datetime_range is provided, petitions will be returned across all datetimes.
	// If @include_archived is true, archived agent leave petitions will be returned as well, otherwise archived requests will not be included.
	// If no agent leave petitions are found for the given parameters, an empty slice will be returned.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when listing the agent leave petitions.
	ListAgentLeavePetitions(context.Context, *connect_go.Request[wfm.ListAgentLeavePetitionsRequest]) (*connect_go.Response[wfm.ListAgentLeavePetitionsResponse], error)
	// Archives an agent leave petition with the given @agent_leave_petition_id for the org sending the request.
	// If the leave petition has the status of PENDING_PETITION, the petition must be resolved first, or the request will error.
	// If the petition has a status of APPROVED_PETITION and a portion of the petitions @requested_datetime_ranges lies in the future,
	//
	//	the petition may not be archived without being cancelled.
	//
	// Errors:
	//   - grpc.Invalid: the request data is invalid, the agent leave petition is approved for a future datetime, still pending, or is already archived.
	//   - grpc.Internal: error occurs when archiving the agent leave petition.
	//   - grpc.NotFound: the @agent_leave_petition_id does not exist for the org sending the request.
	ArchiveAgentLeavePetition(context.Context, *connect_go.Request[wfm.ArchiveAgentLeavePetitionRequest]) (*connect_go.Response[wfm.ArchiveAgentLeavePetitionResponse], error)
	// A hello world endpoint to test the WFM Adherence App.
	// Returns a string with a hello world message.
	HelloWorldWFMAdherence(context.Context, *connect_go.Request[wfm.HelloWorldWFMAdherenceRequest]) (*connect_go.Response[wfm.HelloWorldWFMAdherenceResponse], error)
	// List the real time agent states for published schedule and the org sending the request, starting on the given @start_datetime.
	// If the @end_datetime is set, all agent state sequences will be returned for the range between @start_datetime and @end_datetime.
	// If @end_datetime is not set, the agent state sequences will be returned over a 24 hour period or until the current time, whichever is shorter.
	// Errors:
	//   - grpc.Invalid: the @start_datetime is invalid or beyond the current datetime.
	//   - grpc.Internal: error occurs when listing the agent states.
	ListAgentStatesForDay(context.Context, *connect_go.Request[wfm.ListAgentStatesForDayRequest]) (*connect_go.Response[wfm.ListAgentStatesForDayResponse], error)
	// List org-level RealTimeManagementStates.
	// Errors:
	//   - grpc.Invalid: on invalid input.
	//   - grpc.Internal: on unexpected error.
	ListRealTimeManagementStates(context.Context, *connect_go.Request[wfm.ListRealTimeManagementStatesRequest]) (*connect_go.Response[wfm.ListRealTimeManagementStatesResponse], error)
	// List org-level RealTimeManagementStateColors.
	// Errors:
	//   - grpc.Invalid: on invalid input.
	//   - grpc.Internal: on unexpected error.
	ListRealTimeManagementStateColors(context.Context, *connect_go.Request[wfm.ListRealTimeManagementStateColorsRequest]) (*connect_go.Response[wfm.ListRealTimeManagementStateColorsResponse], error)
}

WFMClient is a client for the api.v1alpha1.wfm.WFM service.

func NewWFMClient

func NewWFMClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) WFMClient

NewWFMClient constructs a client for the api.v1alpha1.wfm.WFM service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type WFMHandler

type WFMHandler interface {
	// Starts the tasks to perform the initial setup on wfm services for the org sending the request.
	// It will then report the state of their setup task.
	// A new setup task will only be started if the client hasn't done one before, or their setup failed previously.
	// Errors:
	//   - grpc.Internal: error occurs when performing the initial setup.
	PerformInitialClientSetup(context.Context, *connect_go.Request[wfm.PerformInitialClientSetupRequest]) (*connect_go.Response[wfm.PerformInitialClientSetupResponse], error)
	// Retrieves all the skill profiles of the org sending the request.
	// Also it can return the skills of each of the returned profiles.
	// Errors:
	ListSkillProfiles(context.Context, *connect_go.Request[wfm.ListSkillProfilesReq]) (*connect_go.Response[wfm.ListSkillProfilesRes], error)
	// Updates the @name, and averages of a skill profile that has the given @skill_profile_sid.
	// It also updates it to no longer be unnamed.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid, @name or averages in the request are invalid.
	//   - grpc.Internal: error occurs when updating the skill profile.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	UpdateSkillProfile(context.Context, *connect_go.Request[wfm.UpdateSkillProfileReq]) (*connect_go.Response[wfm.UpdateSkillProfileRes], error)
	// Updates the @proficiencies for the given skill profile's skills that belong the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @proficiencies in the request are invalid.
	//   - grpc.Internal: error occurs when updating the skill profiles proficiencies.
	UpdateSkillProfileProficiencies(context.Context, *connect_go.Request[wfm.UpdateSkillProfileProficienciesReq]) (*connect_go.Response[wfm.UpdateSkillProfileProficienciesRes], error)
	// Get a skill profile that has the given @skill_profile_sid.
	// It also gets all the skills and the mappings associated with that profile.
	// If the @inactive_as_of_date of the skill profile is nil then the mapping is of inactive profiles to this one,
	// otherwise the mapping is of this profile to an active one.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.Internal: error occurs when getting the skill profile.
	//   - grpc.NotFound: skill profile doesn't exist.
	GetSkillProfile(context.Context, *connect_go.Request[wfm.GetSkillProfileReq]) (*connect_go.Response[wfm.GetSkillProfileRes], error)
	// Resyncs the skill profiles of the org sending the request.
	// It will add skills and skill profiles based on that client's historical call data.
	// Errors:
	//   - grpc.Internal: error occurs when creating the new skills and skill profiles.
	ResyncSkillProfiles(context.Context, *connect_go.Request[wfm.ResyncSkillProfilesReq]) (*connect_go.Response[wfm.ResyncSkillProfilesRes], error)
	// Gets the last date of a skill profile resync for the org seding the request.
	// If the org has never done a skill profile resync @resync_date will not be set.
	// Errors:
	//   - grpc.Internal: error occurs when getting the resync date.
	GetLastSkillProfileResyncDate(context.Context, *connect_go.Request[wfm.GetLastSkillProfileResyncDateReq]) (*connect_go.Response[wfm.GetLastSkillProfileResyncDateRes], error)
	// Tries to create an entry for the given forecasting parameters for the org sending the request.
	// If the org already has an entry for them, it will update the already existing entry.
	// Errors:
	//   - grpc.Invalid: the @forecasting_parameters in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the parameters.
	UpsertForecastingParameters(context.Context, *connect_go.Request[wfm.UpsertForecastingParametersReq]) (*connect_go.Response[wfm.UpsertForecastingParametersRes], error)
	// Gets the forecasting parameters for the org sending the request.
	// If the org hasn't created any parameters, it will return the default parameters.
	// Errors:
	//   - grpc.Internal: error occurs when getting the parameters.
	GetForecastingParameters(context.Context, *connect_go.Request[wfm.GetForecastingParametersReq]) (*connect_go.Response[wfm.GetForecastingParametersRes], error)
	// Gets the state of the cache for the given @org_id, and if the cache's state is not_loaded, or loading_failed,
	// it will start the loading task before returning the current state.
	// DEPRECATED as of Dec/13/2023 - Use PerformInitialClientSetup instead.
	// Errors:
	//
	//	-grpc.Internal: error occurs when getting the cache info.
	//
	// Deprecated: do not use.
	GetClientHistoryCacheInfo(context.Context, *connect_go.Request[wfm.GetClientHistoryCacheInfoReq]) (*connect_go.Response[wfm.GetClientHistoryCacheInfoRes], error)
	// Gets the historical data for the org sending the request and the given @skill_profile_category.
	// It will look through the client's call history and generate the historical data by using their configured forecasting parameters (historical data period and interval width).
	// The duration of each interval will be the interval width of the org's forecasting parameters.
	// It also applies any deltas that the client has stored for the given @skill_profile_category, if the category is a group it will use the deltas of the skill profiles part of that group.
	// If the client has no historical data, only the deltas will be applied to the returned intervals, all other intervals will have nil averages.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_category given is not found for the org.
	//   - grpc.Internal: error occurs when getting the historical data.
	ListHistoricalData(context.Context, *connect_go.Request[wfm.ListHistoricalDataReq]) (*connect_go.Response[wfm.ListHistoricalDataRes], error)
	// Tries to create an entry for the given @delta for the org sending the request.
	// If the org already has an entry for it, it will update the already exisiting entry.
	// Errors:
	//   - grpc.Invalid: the @delta in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the historical data interval.
	UpsertHistoricalDataDelta(context.Context, *connect_go.Request[wfm.UpsertHistoricalDataDeltaReq]) (*connect_go.Response[wfm.UpsertHistoricalDataDeltaRes], error)
	// Tries to create entries for the given @deltas.
	// If the given org already has an entry for any of the deltas, it will replace the already existing entries.
	// This is made into a unary due to the UI's lack of support for client streams.
	// Errors:
	//   - grpc.Invalid: the @deltas in the request are invalid.
	//   - grpc.Internal: error occurs when upserting the historical data deltas.
	UpsertHistoricalDataDeltas(context.Context, *connect_go.Request[wfm.UpsertHistoricalDataDeltasReq]) (*connect_go.Response[wfm.UpsertHistoricalDataDeltasRes], error)
	// Gets all the skills that the org sending the request has.
	// Skills returned will be sorted by @skill_sid in ascending order.
	// Errors:
	//   - grpc.Internal: error occurs when getting the skills.
	ListSkills(context.Context, *connect_go.Request[wfm.ListSkillsReq]) (*connect_go.Response[wfm.ListSkillsRes], error)
	// Builds and returns a call profile template for the org sending the request and the given @skill_profile_sid.
	// The template will be generated using the training data for said skill profile using the @training_data_range and @averages_calculation_range_in_months
	// from the client's saved forecasting parameters.
	// The @total_calls in the returned template be summed from the (@training_data_start_datetime - @averages_calculation_range_in_months) to @training_data_end_datetime,
	// or from @training_data_start_datetime to @training_data_end_datetime if @averages_calculation_range_in_months is 0.
	// The fixed averages fields in the call profile template, will be set to the averages that the skill profile has.
	// DEPRECATED as of Sep/7/2023 - Use BuildCallProfileTemplate instead.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_sid given is not found for the org.
	//   - grpc.Internal: error occurs when building the call profile template.
	//
	// Deprecated: do not use.
	BuildCallProfileTemplateForSkillProfile(context.Context, *connect_go.Request[wfm.BuildCallProfileTemplateForSkillProfileReq]) (*connect_go.Response[wfm.BuildCallProfileTemplateForSkillProfileRes], error)
	// Builds and returns a call profile template for the org sending the request and the given @skill_profile_category.
	// The template will be generated using the training data for said skill profile category using the @training_data_range and @averages_calculation_range_in_months
	// from the client's saved forecasting parameters.
	// The @total_calls in the returned template be summed from the (@training_data_start_datetime - @averages_calculation_range_in_months) to @training_data_end_datetime,
	// or from @training_data_start_datetime to @training_data_end_datetime if @averages_calculation_range_in_months is 0.
	// The fixed averages fields in the call profile template, will be set to the averages that the skill profile category has.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_category given is not found for the org.
	//   - grpc.Internal: error occurs when building the call profile template.
	BuildCallProfileTemplate(context.Context, *connect_go.Request[wfm.BuildCallProfileTemplateReq]) (*connect_go.Response[wfm.BuildCallProfileTemplateRes], error)
	// Creates a mapping entry for the @inactive_skill_profile_sid to the @active_skill_profile_sid for the org sending the request.
	// DEPRECATED as of Sep/27/2023 - Use skill profile groups instead.
	// Errors:
	//   - grpc.Invalid: the @inactive_skill_profile_sid, or @active_skill_profile_sid in the request are invalid.
	//     the @inactive_skill_profile_sid given is of an active skill profile.
	//     the @active_skill_profile_sid given is of an inactive skill profile.
	//   - grpc.Internal: error occurs when creating the inactive skill profile mapping.
	//
	// Deprecated: do not use.
	CreateInactiveSkillProfileMapping(context.Context, *connect_go.Request[wfm.CreateInactiveSkillProfileMappingReq]) (*connect_go.Response[wfm.CreateInactiveSkillProfileMappingRes], error)
	// Gets a list of enums that represent all of the forecaster types that are currently available for use
	// Errors:
	//
	//	-grpc.Internal: error occurs when contacting the forecaster to get the available forecaster types.
	GetAvailableRegressionForecasterModelTypes(context.Context, *connect_go.Request[wfm.GetAvailableRegressionForecasterModelTypesReq]) (*connect_go.Response[wfm.GetAvailableRegressionForecasterModelTypesRes], error)
	// Changes the current mapping for the given @inactive_skill_profile_sid to be disconnected.
	// DEPRECATED as of Sep/27/2023 - Use skill profile groups instead.
	// Errors:
	//   - grpc.Invalid: the @inactive_skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the skill profile is not found for the org.
	//   - grpc.Internal: the current mapping for the given @inactive_skill_profile_sid is already disconnected,
	//     the given @inactive_skill_profile_sid is of an active skill profile.
	//
	// Deprecated: do not use.
	DisconnectInactiveSkillProfileMapping(context.Context, *connect_go.Request[wfm.DisconnectInactiveSkillProfileMappingReq]) (*connect_go.Response[wfm.DisconnectInactiveSkillProfileMappingRes], error)
	// Creates the given @skill_profile_group.
	// @skill_profile_group_sids will be ignored since associations cannot be created by this method.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group in the request is invalid.
	//   - grpc.Internal: error occurs creating the skill profile group.
	CreateSkillProfileGroup(context.Context, *connect_go.Request[wfm.CreateSkillProfileGroupReq]) (*connect_go.Response[wfm.CreateSkillProfileGroupRes], error)
	// Updates the given @skill_profile_group that has the @skill_profile_group_sid for the org sending the request.
	// @skill_profile_group_sids will be ignored since associations cannot be updated by this method.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group in the request is invalid.
	//   - grpc.NotFound: the skill profile group to update doesn't exist.
	//   - grpc.Internal: error occurs updating the skill profile group.
	UpdateSkillProfileGroup(context.Context, *connect_go.Request[wfm.UpdateSkillProfileGroupReq]) (*connect_go.Response[wfm.UpdateSkillProfileGroupRes], error)
	// Gets the skill profile groups that have the @skill_profile_group_sids for the org sending the request.
	// if @include_inactive is true then inactive groups will also be included, otherwise only active groups will be returned.
	// If @skill_profile_group_sids is empty it will get all the skill profile groups for the org.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_group_sids in the request is invalid.
	//   - grpc.Internal: error occurs getting the skill profile groups.
	ListSkillProfileGroups(context.Context, *connect_go.Request[wfm.ListSkillProfileGroupsReq]) (*connect_go.Response[wfm.ListSkillProfileGroupsRes], error)
	// Updates associations of the given @skill_profile_group_sid for the org sending the request.
	// It will create the associations with the @skill_profile_sids_to_associate, and remove the associations with the @skill_profile_sids_to_disassociate.
	// Only one of the skill_profile_sids fields needs to be set, but both can be set on the same request.
	// Errors:
	//   - grpc.Invalid: the values in the request are invalid.
	//   - grpc.Internal: error occurs updating the skill profile group associations.
	UpdateSkillProfileGroupAssociations(context.Context, *connect_go.Request[wfm.UpdateSkillProfileGroupAssociationsReq]) (*connect_go.Response[wfm.UpdateSkillProfileGroupAssociationsRes], error)
	// Deletes deltas whose dates match the given @start_datetimes for the given @skill_profile_sid.
	// If no @start_datetimes are given, it will delete all the deltas that the given @skill_profile_sid has.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid, or @start_datetimes in the request are invalid.
	//   - grpc.NotFound: no matching deltas are found for deletion.
	//   - grpc.Internal: error occurs during the deletion of the historical data interval.
	DeleteHistoricalDataDeltas(context.Context, *connect_go.Request[wfm.DeleteHistoricalDataDeltasReq]) (*connect_go.Response[wfm.DeleteHistoricalDataDeltasRes], error)
	// Gets the top N skill profiles with the highest calls_count for org sending the request where N is @max_number_of_profiles.
	// It will also return the number of skills found for that profile.
	// Individual skills that each profile has will not be returned.
	// Errors:
	//   - grpc.Invalid: the @max_number_of_profiles in the request is invalid.
	//   - grpc.Internal: error occurs when getting the skill profiles.
	ListTopSkillProfiles(context.Context, *connect_go.Request[wfm.ListTopSkillProfilesReq]) (*connect_go.Response[wfm.ListTopSkillProfilesRes], error)
	// Gets the total number of skill profiles associated with the org sending the request.
	// Errors:
	//   - grpc.Internal: error occurs when getting the skill profiles count.
	GetSkillProfilesCount(context.Context, *connect_go.Request[wfm.GetSkillProfilesCountReq]) (*connect_go.Response[wfm.GetSkillProfilesCountRes], error)
	// Builds a profile forecast using the provided @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// (@training_data_range_end_datetime - @forecast_test_range_in_weeks) to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplate.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category or @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the profile forecast.
	BuildProfileForecastByInterval(context.Context, *connect_go.Request[wfm.BuildProfileForecastByIntervalReq], *connect_go.ServerStream[wfm.CallDataByInterval]) error
	// Builds a profile forecast using the provided @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// (@training_data_range_end_datetime - @forecast_test_range_in_weeks) to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplate.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// It also returns the statistics of the produced forecast by using the test data of the given @skill_profile_category.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category or @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the profile forecast.
	BuildProfileForecastByIntervalWithStats(context.Context, *connect_go.Request[wfm.BuildProfileForecastByIntervalWithStatsReq], *connect_go.ServerStream[wfm.BuildProfileForecastByIntervalWithStatsRes]) error
	// Builds a profile forecast for the given @skill_profile_sid and org sending the request using the given @call_profile_template.
	// The forecaster will produce intervals from the following range using the client's saved forecasting parameters:
	// @forecast_range_start_datetime to @forecast_range_end_datetime.
	// The @total_calls in the @call_profile_template will be scaled using the same ranges as BuildCallProfileTemplateForSkillProfile.
	// The intervals produced will be saved in the database.
	// The @fixed_averages_forecast field indicates whether or not to do a fixed averages forecast.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid or @call_profile_template in the request are invalid.
	//   - grpc.NotFound: the @skill_profile_sid doesn't exist.
	//   - grpc.Internal: error occurs when upserting the profile forecast.
	UpsertProfileForecast(context.Context, *connect_go.Request[wfm.UpsertProfileForecastReq]) (*connect_go.Response[wfm.UpsertProfileForecastRes], error)
	// Creates the given @call_profile_template for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @call_profile_template in the request is invalid.
	//   - grpc.Internal: error occurs during the creation of the call profile.
	CreateCallProfileTemplate(context.Context, *connect_go.Request[wfm.CreateCallProfileTemplateReq]) (*connect_go.Response[wfm.CreateCallProfileTemplateRes], error)
	// Deletes a call profile template for the requesting org that has the given @call_profile_template_sid.
	// Errors:
	//   - grpc.Invalid: the @call_profile_template_sid in the request is invalid.
	//   - grpc.Internal: error occurs during the deletion of the call profile.
	DeleteCallProfileTemplate(context.Context, *connect_go.Request[wfm.DeleteCallProfileTemplateReq]) (*connect_go.Response[wfm.DeleteCallProfileTemplateRes], error)
	// Creates an entry for the @regression_template for the requesting org.
	// Errors:
	//   - grpc.Invalid: the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs when creating the regression template.
	CreateRegressionTemplate(context.Context, *connect_go.Request[wfm.CreateRegressionTemplateReq]) (*connect_go.Response[wfm.CreateRegressionTemplateRes], error)
	// Deletes a regression template for the requesting org that has the given @regression_template_sid.
	// Errors:
	//   - grpc.Invalid: the @regression_template_sid in the request is invalid.
	//   - grpc.Internal: error occurs during the deletion of the regression template.
	DeleteRegressionTemplate(context.Context, *connect_go.Request[wfm.DeleteRegressionTemplateReq]) (*connect_go.Response[wfm.DeleteRegressionTemplateRes], error)
	// Gets all the regression templates that the org sending the request has.
	// Errors:
	//   - grpc.Internal: error occurs when getting the regression templates.
	ListRegressionTemplates(context.Context, *connect_go.Request[wfm.ListRegressionTemplatesReq]) (*connect_go.Response[wfm.ListRegressionTemplatesRes], error)
	// Gets the forecast data intervals for the given @skill_profile_sid.
	// DEPRECATED as of Sep/13/2023 - Use ListForecastIntervals instead.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.Internal: error occurs when getting the forecast data intervals.
	//
	// Deprecated: do not use.
	ListForecastIntervalsForSkillProfile(context.Context, *connect_go.Request[wfm.ListForecastIntervalsForSkillProfileReq], *connect_go.ServerStream[wfm.CallDataByInterval]) error
	// Gets the forecast data intervals for the given @skill_profile_category.
	// Errors:
	//   - grpc.Invalid: the @skill_profile_category in the request is invalid.
	//   - grpc.Internal: error occurs when getting the forecast data intervals.
	ListForecastIntervals(context.Context, *connect_go.Request[wfm.ListForecastIntervalsReq], *connect_go.ServerStream[wfm.CallDataByInterval]) error
	// Generates a regression forecast using the provided @regression_template.
	// It will generate forecast intervals for the skill profiles sids in @skill_profile_sids_to_forecast.
	// It will use the client's saved forecasting test range as the start datetime and the forecast range as the end datetime of the forecasted data.
	// It will use the client's saved interval width to divide the resulting forecast intervals.
	// Errors:
	//   - grpc.Invalid: no @skill_profile_sids_to_forecast are given or the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs during the building of the regression forecast.
	BuildRegressionForecastByInterval(context.Context, *connect_go.Request[wfm.BuildRegressionForecastByIntervalReq], *connect_go.ServerStream[wfm.CallDataByInterval]) error
	// Generates a regression forecast and calculates forecast statistics using the provided @regression_template.
	// It will generate forecast intervals for the skill profiles sids in @skill_profile_sids_to_forecast.
	// It will use the client's saved forecasting test range as the start datetime and the forecast range as the end datetime of the forecasted data.
	// It will use the client's saved interval width to divide the resulting forecast intervals.
	// The first message received will be the forecast statistics while all subsequent ones will be the forecast intervals.
	//
	// Errors:
	//   - grpc.Invalid: no @skill_profile_sids_to_forecast are given or the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs either during the when building the forecast or calculating the stats.
	BuildRegressionForecastByIntervalWithStats(context.Context, *connect_go.Request[wfm.BuildRegressionForecastByIntervalWithStatsReq], *connect_go.ServerStream[wfm.BuildRegressionForecastByIntervalWithStatsRes]) error
	// Gets the call profile templates that the org sending the request has.
	// Errors:
	//   - grpc.Internal: error occurs when getting the templates.
	ListCallProfileTemplates(context.Context, *connect_go.Request[wfm.ListCallProfileTemplatesReq]) (*connect_go.Response[wfm.ListCallProfileTemplatesRes], error)
	// Builds a regression forecast for the org using the given @regression_template and saves the resulting intervals in the db.
	// It will generate forecast intervals for the skill profiles sids in @save_forecasts_for_skill_profile_sids,
	// if the list is empty or has no valid skill profile sids, it will generate and save forecasts for all active skill profiles.
	// If any intervals produced already exist in the db, they will be replaced with the ones produced.
	// Errors:
	//   - grpc.Invalid: the @regression_template in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the regression forecast.
	UpsertRegressionForecast(context.Context, *connect_go.Request[wfm.UpsertRegressionForecastReq]) (*connect_go.Response[wfm.UpsertRegressionForecastRes], error)
	// Tries to create an entry for the given @delta for the org sending the request.
	// If the org already has an entry for it, it will update the already exisiting entry.
	// Errors:
	//   - grpc.Invalid: the @delta in the request is invalid.
	//   - grpc.Internal: error occurs when upserting the forecast data delta.
	UpsertForecastDataDelta(context.Context, *connect_go.Request[wfm.UpsertForecastDataDeltaReq]) (*connect_go.Response[wfm.UpsertForecastDataDeltaRes], error)
	// Tries to create entries for the given @deltas.
	// If the org already has entries for any of them, it will update the already existing entry.
	// Errors:
	//   - grpc.Invalid: the @deltas in the request are invalid.
	//   - grpc.Internal: error occurs when upserting the forecast data deltas.
	UpsertForecastDataDeltas(context.Context, *connect_go.Request[wfm.UpsertForecastDataDeltasReq]) (*connect_go.Response[wfm.UpsertForecastDataDeltasRes], error)
	// Deletes forecast data intervals/deltas based on the parameters provided.
	// If @delete_param is type skill_profile_category, then the intervals/deltas to be deleted will be
	// associated with that id. If @delete_param is type interval_sids, then the intervals/deltas to be
	// deleted will be contained in the list @interval_sids. The @delete_type field determines which
	// table(s) in the database the intervals/deltas will be deleted from.
	// Errors:
	//   - grpc.Invalid: one of the @delete_params is invalid
	//   - grpc.NotFound: no matching intervals/deltas are found for deletion.
	//   - grpc.Internal: error occurs during the deletion of the forecast data intervals/deltas.
	DeleteForecastIntervals(context.Context, *connect_go.Request[wfm.DeleteForecastIntervalsReq]) (*connect_go.Response[wfm.DeleteForecastIntervalsRes], error)
	// Retrieves the history for all the skill profiles of the requesting org.
	// Each value in every interval that has the same @start_datetime of each skill profile will be summed then averaged and made into a single one.
	// When calculating the averages, each interval's values will be weighted by the number of @total_calls it has.
	// History will be sorted by @start_datetime in ascending order, and the range is determined by the client's historical range.
	// Errors:
	//   - grpc.Internal: error occurs when retriving the history.
	ListHistoricalDataForAllSkillProfiles(context.Context, *connect_go.Request[wfm.ListHistoricalDataForAllSkillProfilesReq]) (*connect_go.Response[wfm.ListHistoricalDataForAllSkillProfilesRes], error)
	// Converts the given @profile_tod and @profile_woms to a ProfileDOW and ProfileMOY.
	// Errors:
	//   - grpc.Invalid: the @profile_tod or @profile_woms in the request are invalid.
	//   - grpc.Internal: error occurs when building the ProfileDOW or ProfileMOY.
	BuildDOWAndMOYProfiles(context.Context, *connect_go.Request[wfm.BuildDOWAndMOYProfilesReq]) (*connect_go.Response[wfm.BuildDOWAndMOYProfilesRes], error)
	// Calculates and returns the averages in the training data for the given @skill_profile_sid.
	// Averages to be returned will be weighted by the number of calls that each training data interval has.
	// The start time that the training data will be averaged can be modified based on the forecasting parameter @averages_calculation_range_in_months,
	// which will subtract that many months from the training data range end datetime and set it as the start time.
	// If @averages_calculation_range_in_months is 0, it will use the training data range start datetime.
	//
	// Errors:
	//   - grpc.Invalid: the @skill_profile_sid in the request is invalid.
	//   - grpc.NotFound: the @skill_profile_sid given is not found.
	//   - grpc.Internal: error occurs when calculating the averages from the training data.
	CalculateTrainingDataAveragesForSkillProfile(context.Context, *connect_go.Request[wfm.CalculateTrainingDataAveragesForSkillProfileReq]) (*connect_go.Response[wfm.CalculateTrainingDataAveragesForSkillProfileRes], error)
	// Calculates the averages for call characteristics using the historical data of the given @skill_profile_sids, @skill_profile_group_sids and org sending the request.
	// If no @skill_profile_sids are given, it will calculate the averages for all skill profiles for the org sending the request.
	// If no @skill_profile_group_sids are given, it will calculate the averages for all skill profile groups for the org sending the request.
	// Averages will be weighted by the number of calls that each historical data interval has.
	// Once the averages are calculated, they will be updated in the db for those skill profiles.
	//
	// If a nil @datetime_range is given then the range used will be @training_data_range_end_datetime - @averages_calculation_range_in_months to the @training_data_range_end_datetime from the forecasting parameters.
	// If @averages_calculation_range_in_months is 0, it will use the @training_data_range_start_datetime as the start datetime of the range.
	//
	// If @exclude_skill_profiles_with_manual_averages is true, it will exclude skill profiles and groups that have manual averages from the calculation
	// even if those skill profiles and groups are in @skill_profile_sids or @skill_profile_group_sids respectively.
	//
	// Errors:
	//   - grpc.Internal: error occurs when calculating the averages from the historical data.
	UpdateSkillProfileAveragesUsingHistoricalData(context.Context, *connect_go.Request[wfm.UpdateSkillProfileAveragesUsingHistoricalDataReq]) (*connect_go.Response[wfm.UpdateSkillProfileAveragesUsingHistoricalDataRes], error)
	// Updates the call center @node that has the given @call_center_node_sid.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this call center node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the one or more of the fields in the request are invalid.
	//   - grpc.Internal: error occurs when updating the call center node.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	UpdateCallCenterNode(context.Context, *connect_go.Request[wfm.UpdateCallCenterNodeReq]) (*connect_go.Response[wfm.UpdateCallCenterNodeRes], error)
	// Creates the given client @node for the org sending the request and @parent_sid in the node.
	// The @client_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent call center node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, @parent_sid, or @time_zone_val is invalid.
	//   - grpc.NotFound: parent call center node doesn't exist, or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the client node.
	CreateClientNode(context.Context, *connect_go.Request[wfm.CreateClientNodeReq]) (*connect_go.Response[wfm.CreateClientNodeRes], error)
	// Updates a client node for the org sending the request that has the given @client_node_sid and @schedule_scenario_sid.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this client node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.Internal: error occurs when updating the client @node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given @parent_sid (call_center_node_sid) belongs to a different scenario than this @node.
	UpdateClientNode(context.Context, *connect_go.Request[wfm.UpdateClientNodeReq]) (*connect_go.Response[wfm.UpdateClientNodeRes], error)
	// Creates the given location @node for the org sending the request and parent @client_node_sid.
	// The @location_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent client node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.NotFound: parent client node doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the location node.
	CreateLocationNode(context.Context, *connect_go.Request[wfm.CreateLocationNodeReq]) (*connect_go.Response[wfm.CreateLocationNodeRes], error)
	// Updates a location node corresponding to the given @location_node_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this location node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @location_node have invalid values.
	//   - grpc.Internal: error occurs when updating the location node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given parent @client_node_sid belongs to a different scenario than the node to update.
	UpdateLocationNode(context.Context, *connect_go.Request[wfm.UpdateLocationNodeReq]) (*connect_go.Response[wfm.UpdateLocationNodeRes], error)
	// Creates the given program @node for the org sending the request and parent @location_node_sid.
	// The @program_node_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent location node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @node have invalid values.
	//   - grpc.NotFound: parent location node doesn't exist or belongs to a different scenario than the one given.
	//     the @skill_profile_category does not exist.
	//   - grpc.Internal: error occurs when creating the program node.
	CreateProgramNode(context.Context, *connect_go.Request[wfm.CreateProgramNodeReq]) (*connect_go.Response[wfm.CreateProgramNodeRes], error)
	// Updates a program node for the given @program_node_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this program node since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @program_node have invalid values.
	//   - grpc.Internal: error occurs when updating the program node.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the given parent @location_node_sid belongs to a different scenario than the program node to update.
	//     the @skill_profile_category does not exist.
	UpdateProgramNode(context.Context, *connect_go.Request[wfm.UpdateProgramNodeReq]) (*connect_go.Response[wfm.UpdateProgramNodeRes], error)
	// Lists the program nodes with the given @program_node_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the given @program_node_sids are invalid.
	//   - grpc.Internal: error occurs when listing the program nodes.
	ListProgramNodesBySid(context.Context, *connect_go.Request[wfm.ListProgramNodesBySidReq]) (*connect_go.Response[wfm.ListProgramNodesBySidRes], error)
	// Creates the given @constraint_rule for the org sending the request.
	// The @constraint_rule_sid and @skill_proficiency_sid (if one was created) of the new entities will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// If @rule_type is set to MIN_SKILL_LEVEL, the @member_target_entity field must be set with a skill proficiency and the @constraint_rule.target_sid will be ignored.
	// If the @member_target_entity is for a skill proficiency, that skill proficiency will be created with the given @constraint_rule as parent.
	// If @rule_type is NOT MIN_SKILL_LEVEL then the @target_sid must be that of a scheduling activity.
	// The all other @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @constraint_rule have invalid values.
	//   - grpc.NotFound: the given @target_sid for the given @rule_type, or @parent_entity don't exist.
	//   - grpc.Internal: error occurs when creating the constraint rule.
	CreateConstraintRule(context.Context, *connect_go.Request[wfm.CreateConstraintRuleReq]) (*connect_go.Response[wfm.CreateConstraintRuleRes], error)
	// Updates the constraint rule corresponding for given @contraint_rule_sid for the org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this constraint rule since it cannot be changed.
	// If @rule_type is set to MIN_SKILL_LEVEL, the @member_target_entity field must be set with a skill proficiency, otherwise it should not be set and field will be ignored.
	// If the @target_sid is for a different skill proficiency than the current one the constraint rule has as a target,
	// the old one will be deleted and a new one will be created for the given @member_target_entity.
	// If @rule_type is NOT MIN_SKILL_LEVEL then the @target_sid must be that of a scheduling activity.
	// The all other @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @constraint_rule have invalid values.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the constraint rule.
	//     : the given @target_sid for the given @rule_type, or @parent_entity don't exist.
	//   - grpc.Internal: error occurs when updating the constraint rule.
	UpdateConstraintRule(context.Context, *connect_go.Request[wfm.UpdateConstraintRuleReq]) (*connect_go.Response[wfm.UpdateConstraintRuleRes], error)
	// Deletes a constraint rule with the coresponding @constraint_rule_sid for the org sending the request.
	// It also deletes the entity referenced by the @target_sid and @rule_type if said entity is not a member of any other entity or the on call scheduling activity.
	// Errors:
	//   - grpc.Invalid: the @constraint_rule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @constraint_rule doesn't exist.
	//   - grpc.Internal: error occurs when removing the constraint rule.
	DeleteConstraintRule(context.Context, *connect_go.Request[wfm.DeleteConstraintRuleReq]) (*connect_go.Response[wfm.DeleteConstraintRuleRes], error)
	// Creates the given @non_skill_activity for the org sending the request.
	// Will also create a scheduling activity wrapper for the non skill activity.
	// The @non_skill_activity_sid and @scheduling_activity_sid of the new entities will be returned in the response.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @non_skill_activity have invalid values.
	//   - grpc.NotFound: the @schedule_scenario_sid doesn't exist.
	//   - grpc.Internal: error occurs when creating the non skill activity or scheduling activity.
	CreateNonSkillActivity(context.Context, *connect_go.Request[wfm.CreateNonSkillActivityReq]) (*connect_go.Response[wfm.CreateNonSkillActivityRes], error)
	// Updates a non skill activity that has the given @non_skill_activity_sid with the given values.
	// Errors:
	//   - grpc.Invalid: @non_skill_activity fields have invalid values.
	//   - grpc.NotFound: non skill activity for the given @non_skill_activity_sid doesn't exist.
	//   - grpc.Internal: error occurs when updating the non skill activity.
	UpdateNonSkillActivity(context.Context, *connect_go.Request[wfm.UpdateNonSkillActivityReq]) (*connect_go.Response[wfm.UpdateNonSkillActivityRes], error)
	// Lists the non skill activities that belong to the org sending the request.
	// Errors:.
	//   - grpc.Internal: error occurs when listing the activites.
	ListNonSkillActivities(context.Context, *connect_go.Request[wfm.ListNonSkillActivitiesReq]) (*connect_go.Response[wfm.ListNonSkillActivitiesRes], error)
	// Lists the IDs of non skill activities that belong to the org sending the request which have the given @relationship_type with the @associated_entity.
	// Errors:
	//   - grpc.Invalid: the @associated_entity or @relationship_type are invalid.
	//   - grpc.Internal: error occurs when listing the associations.
	ListNonSkillActivityAssociations(context.Context, *connect_go.Request[wfm.ListNonSkillActivityAssociationsReq]) (*connect_go.Response[wfm.ListNonSkillActivityAssociationsRes], error)
	// Lists the candidate scheduling activities for a constraint or placement rule, inherited through given @parent_of_rule for @schedule_scenario_sid for the org making the request.
	// @parent_of_rule may be any type of node, agent group, or shift template which the rule will belong to.
	// If the rule will belong to a wfm agent, the agent group must be supplied instead to get a relevant set of candidate scheduling activities.
	// Member non skill activity of each scheduling activity will be included in the response.
	// The on call scheduling activity will always be included.
	// Errors:
	//   - grpc.Invalid: the @parent_of_rule is invalid.
	//   - grpc.NotFound: @parent_of_rule doesn't exist
	//   - grpc.Internal: error occurs when applying inheritance or getting the nodes from @parent_of_rule.
	ListCandidateSchedulingActivities(context.Context, *connect_go.Request[wfm.ListCandidateSchedulingActivitiesReq]) (*connect_go.Response[wfm.ListCandidateSchedulingActivitiesRes], error)
	// Creates an agent group with the provided parameters.
	// A successful response should contain the @agent_group_sid of the newly created entity.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, or @parent_entity are invalid.
	//   - grpc.NotFound: @parent_entity doesn't exist
	//   - grpc.Internal: error occurs when creating the agent group.
	CreateAgentGroup(context.Context, *connect_go.Request[wfm.CreateAgentGroupReq]) (*connect_go.Response[wfm.CreateAgentGroupRes], error)
	// ListAgentScheduleGroups lists all schedulable agent groups for the given @entity and @org_id, filled with @member_wfm_agents.
	// The given @entity must be either a Node or a ShiftTemplate.
	//
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the agent groups.
	ListAgentScheduleGroups(context.Context, *connect_go.Request[wfm.ListAgentScheduleGroupsRequest]) (*connect_go.Response[wfm.ListAgentScheduleGroupsResponse], error)
	// Updates the agent group corresponding to the @agent_group_sid, @name, and @parent_entity.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this agent group since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the @agent_group_sid, @parent_entity, or @name in the request are invalid.
	//   - grpc.Internal: error occurs when updating the agent group.
	//   - grpc.AlreadyExists: an agent group with the given @name already exists.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the agent group.
	UpdateAgentGroup(context.Context, *connect_go.Request[wfm.UpdateAgentGroupReq]) (*connect_go.Response[wfm.UpdateAgentGroupRes], error)
	// Creates an agent that is not assigned a tcn agent for the org sending the request.
	// If @wfm_agent_sid_to_copy_agent_group_associations is set, it will also copy that agent's agent group associations to the new agent.
	// Otherwise only the new agent will be created.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sid_to_copy_agent_group_associations in the request is invalid.
	//   - grpc.Internal: error occurs creating the agent or the memberships.
	//   - grpc.NotFound: the given @wfm_agent_sid_to_copy_agent_group_associations doesn't exist for the org.
	CreateUnassignedWFMAgent(context.Context, *connect_go.Request[wfm.CreateUnassignedWFMAgentRequest]) (*connect_go.Response[wfm.CreateUnassignedWFMAgentResponse], error)
	// Updates a wfm agent for the given @wfm_agent_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// The @tcn_agent_sid cannot be updated.
	// Required permission:
	//
	//	NONE
	//
	// Errors:
	//   - grpc.Invalid: one or more fields in the @wfm_agent have invalid values.
	//   - grpc.NotFound: WFM agent with the given @wfm_agent_sid doesn't exist.
	//   - grpc.Internal: error occurs when updating the wfm agent.
	UpdateWFMAgent(context.Context, *connect_go.Request[wfm.UpdateWFMAgentReq]) (*connect_go.Response[wfm.UpdateWFMAgentRes], error)
	// Lists all wfm agents for the org sending the request.
	// if @include_inactive is true then inactive agents will also be included, otherwise only active agents will be returned.
	// if @include_skill_proficiencies is true then agents returned will include their skill proficiencies.
	// if @include_agent_groups is true then the @agent_groups_by_agent response field will be set with a list of agent groups correlating to each agents index in the @wfm_agents field.
	// if @include_agent_groups is set to true, the @agent_group_schedule_scenario_sid field must be set, so that the agent groups for the correct scenario are returned.
	// if @include_agent_groups is set to true, and @agent_group_schedule_scenario_sid is not set, the agent groups will not be filtered by schedule scenario.
	// if @include_agent_groups is set to false, the @agent_group_schedule_scenario_sid will be ignored.
	// @agent_group_schedule_scenario_sid does not effect which @wfm_agents are returned.
	// WFM agents with no associated agent_groups will have an empty slice in agent_groups_by_agent at their correlated index.
	// Errors:
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListAllWFMAgents(context.Context, *connect_go.Request[wfm.ListAllWFMAgentsReq]) (*connect_go.Response[wfm.ListAllWFMAgentsRes], error)
	// Lists all candidate wfm agents for the org sending the request and given @agent_group_sid.
	// A WFM agent is considered a candidate when it's active and it doesn't already belong to the given agent group.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Invalid: @agent_group_sid has an invalid value.
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListCandidateWFMAgents(context.Context, *connect_go.Request[wfm.ListCandidateWFMAgentsReq]) (*connect_go.Response[wfm.ListCandidateWFMAgentsRes], error)
	// Lists all wfm agents who are not grouped with any agent group for the given org sending the request that were created at or after the given @created_after_datetime.
	// If @schedule_scenario_sid is positive, it will filter further to get only agents who are not grouped with any agent group for that scenario.
	// if @include_skill_proficiencies is true then agents returned will include their skill proficiencies.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Invalid: @created_after_datetime has an invalid value.
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListUngroupedWFMAgents(context.Context, *connect_go.Request[wfm.ListUngroupedWFMAgentsReq]) (*connect_go.Response[wfm.ListUngroupedWFMAgentsRes], error)
	// Gets the wfm_agent_sids with the given @tcn_agent_sids for the org sending the request.
	// Returns a map where Key: tcn_agent_sid - Value: wfm_agent_sid.
	// If the wfm_agent_sid is not found for any @tcn_agent_sids, they will not have an entry in the returned @sids.
	// Errors:
	//   - grpc.Invalid: the @tcn_agent_sids are invalid.
	//   - grpc.Internal: error occours while listing the wfm_agent_sids.
	ListWFMAgentSids(context.Context, *connect_go.Request[wfm.ListWFMAgentSidsReq]) (*connect_go.Response[wfm.ListWFMAgentSidsRes], error)
	// Lists all wfm agents that don't have a TCN agent assigned to them for the given @orgId.
	// Member entities will not be returned.
	// Errors:
	//   - grpc.Internal: error occurs when getting the wfm agents.
	ListUnassignedWFMAgents(context.Context, *connect_go.Request[wfm.ListUnassignedWFMAgentsRequest]) (*connect_go.Response[wfm.ListUnassignedWFMAgentsResponse], error)
	// Lists the IDs of wfm agents that belong to the org sending the request which are associated with the given @agent_group_sid.
	// Errors:
	//   - grpc.Invalid: the @agent_group_sid is invalid.
	//   - grpc.Internal: error occurs when listing the wfm agents.
	ListWFMAgentsAssociatedWithAgentGroup(context.Context, *connect_go.Request[wfm.ListWFMAgentsAssociatedWithAgentGroupReq]) (*connect_go.Response[wfm.ListWFMAgentsAssociatedWithAgentGroupRes], error)
	// Creates a membership association for each of the given @wfm_agent_sids with the given @agent_group_sid.
	// The @schedule_scenario_sid must match the scenario of the agent group and wfm agents.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sid are invalid.
	//   - grpc.NotFound: the @wfm_agent_sids or @agent_group_sid don't exist for the org or given @schedule_scenario_sid.
	//   - grpc.Internal: error occurs when creating the association.
	CreateWFMAgentMemberships(context.Context, *connect_go.Request[wfm.CreateWFMAgentMembershipsReq]) (*connect_go.Response[wfm.CreateWFMAgentMembershipsRes], error)
	// Copies the membership association of @originating_wfm_agent_sid to @target_wfm_agent_sid.
	// The wfm agents must both belong to the org sending the request.
	// Any existing membership associations on @target_wfm_agent_sid with be retained.
	// Any conflicting memberships for @target_wfm_agent_sid will be set with the membership of @originating_wfm_agent_sid.
	// Errors:
	//   - grpc.NotFound: the @wfm_agent_sids or @agent_group_sid don't exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the associations.
	CopyWFMAgentMemberships(context.Context, *connect_go.Request[wfm.CopyWFMAgentMembershipsRequest]) (*connect_go.Response[wfm.CopyWFMAgentMembershipsResponse], error)
	// Deletes a membership association for each of the given @wfm_agent_sids with the given @agent_group_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sid are invalid.
	//   - grpc.NotFound: any of the given memberships to delete do not exist.
	//   - grpc.Internal: error occurs when deleting the association.
	DeleteWFMAgentMemberships(context.Context, *connect_go.Request[wfm.DeleteWFMAgentMembershipsReq]) (*connect_go.Response[wfm.DeleteWFMAgentMembershipsRes], error)
	// Deletes all membership associations for the given @wfm_agent_sids with the given @agent_group_sids.
	// Errors:
	//   - grpc.Invalid: the @wfm_agent_sids, or @agent_group_sids are invalid.
	//   - grpc.Internal: error occurs when deleting the associations.
	DeleteWFMAgentsMemberships(context.Context, *connect_go.Request[wfm.DeleteWFMAgentsMembershipsReq]) (*connect_go.Response[wfm.DeleteWFMAgentsMembershipsRes], error)
	// Removes the @wfm_agent_sid_to_remove from all future shifts for the org.
	// If @replace_with_new_unassigned_agent is set to true, a new unassigned agent will be created and it will be assigned to the shifts and agent groups from @wfm_agent_sid_to_remove.
	// If @replace_with_new_unassigned_agent is set to false, the future shifts will just be deleted.
	// If the @wfm_agent_sid_to_remove is not currently inactive, it will be set as inactive.
	// Errors:
	//   - grpc.Internal: error occurs when deleting the shifts, creating the new unassigned agent, reassigning the shifts to that agent, or setting the agent to inactive.
	RemoveAgentFromFutureShifts(context.Context, *connect_go.Request[wfm.RemoveAgentFromFutureShiftsRequest]) (*connect_go.Response[wfm.RemoveAgentFromFutureShiftsResponse], error)
	// Builds and returns the diagnostics for the wfm agent associated with the given @wfm_agent_sid or @agent_group_sid for the org sending the request.
	// Response will only contain:
	//
	//	 one element if build for a single @wfm_agent_sid.
	//	 one element for each WFM agent if build for an @agent_group_sid.
	//	- grpc.Invalid: the @wfm_agent_sid, or @agent_group_sid is invalid.
	//	- grpc.NotFound: the given @wfm_agent_sid doesn't exist or the @agent_group_sid has no agents.
	//	- grpc.Internal: error occurs building the diagnostics.
	BuildAgentDiagnostics(context.Context, *connect_go.Request[wfm.BuildAgentDiagnosticsReq]) (*connect_go.Response[wfm.BuildAgentDiagnosticsRes], error)
	// Creates a shift template for the org sending the request with the provided parameters
	// The @shift_template_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent program node.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the @name, or @program_node_sid are invalid.
	//   - grpc.AlreadyExists: a shift template with the given @name already exists.
	//   - grpc.NotFound: the parent program node doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the shift template.
	CreateShiftTemplate(context.Context, *connect_go.Request[wfm.CreateShiftTemplateReq]) (*connect_go.Response[wfm.CreateShiftTemplateRes], error)
	// Updates a shift template for the given @shift_template_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this shift template since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the @shift_template_sid, @name, @program_node_sid are invalid.
	//   - grpc.AlreadyExists: a shift template with the given @name already exists.
	//   - grpc.NotFound: the parent program node doesn't exist or belongs to a different scenario than the shift template to update.
	//   - grpc.Internal: error occurs when updating the shift template.
	UpdateShiftTemplate(context.Context, *connect_go.Request[wfm.UpdateShiftTemplateReq]) (*connect_go.Response[wfm.UpdateShiftTemplateRes], error)
	// Lists the shift templates matching the specified @shift_template_sids for the org sending the request.
	// If @include_placement_rules is set to true, the @shift_templates will be returned with their member placement rules.
	// Errors:
	//   - grpc.Invalid: the @shift_template_sids are invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftTemplatesBySids(context.Context, *connect_go.Request[wfm.ListShiftTemplatesBySidsReq]) (*connect_go.Response[wfm.ListShiftTemplatesBySidsRes], error)
	// Builds and returns the diagnostics for the shift template associated with the given @shift_template_sid for the org sending the request.
	//   - grpc.Invalid: the @shift_template_sid is invalid.
	//   - grpc.NotFound: the given @shift_template_sid doesn't exist for the org sending the request.
	//   - grpc.Internal: error occours building the diagnostics for the shift template.
	BuildShiftTemplateDiagnostics(context.Context, *connect_go.Request[wfm.BuildShiftTemplateDiagnosticsReq]) (*connect_go.Response[wfm.BuildShiftTemplateDiagnosticsRes], error)
	// Creates a placement rule for org sending the request with the provided parameters.
	// The @placement_rule_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the parent shift template.
	// The @member fields will be ignored since those cannot be created by this method and must be created by their respective create methods.
	// Errors:
	//   - grpc.Invalid: the parameters in the @placement_rule are invalid.
	//   - grpc.NotFound: the parent shift template doesn't exist or belongs to a different scenario than the one given.
	//     the scheduling activity to associate with the placement rule doesn't exist or belongs to a different scenario than the one given.
	//   - grpc.Internal: error occurs when creating the placement rule.
	CreatePlacementRule(context.Context, *connect_go.Request[wfm.CreatePlacementRuleReq]) (*connect_go.Response[wfm.CreatePlacementRuleRes], error)
	// Updates a placement rule corresponding with the given @placement_rule_sid for the org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this placement rule since it cannot be changed.
	// The @member fields will be ignored since those cannot be updated by this method and must be updated by their respective update methods.
	// Errors:
	//   - grpc.Invalid: the one or more of the fields in the @placement_rule are invalid.
	//   - grpc.Internal: error occurs when updating the placement rule.
	//   - grpc.NotFound: entry to be updated doesn't exist.
	//     : the parent shift template or related scheduling activity don't exist or belong to a different scenario than the placement rule to update.
	UpdatePlacementRule(context.Context, *connect_go.Request[wfm.UpdatePlacementRuleReq]) (*connect_go.Response[wfm.UpdatePlacementRuleRes], error)
	// Deletes a placement rule with the coresponding @placement_rule_sid for the org sending the request.
	// It also deletes the scheduling activity referenced by the @scheduling_activity_sid if said activity is not a member of any other entity.
	// Errors:
	//   - grpc.Invalid: the @placement_rule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @placement_rule doesn't exist.
	//   - grpc.Internal: error occurs when removing the placement rule.
	DeletePlacementRule(context.Context, *connect_go.Request[wfm.DeletePlacementRuleReq]) (*connect_go.Response[wfm.DeletePlacementRuleRes], error)
	// Creates an open times pattern for the org sending the request with the provided parameters.
	// The @open_times_pattern_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// Errors:
	//   - grpc.Invalid: the parameters in the @open_times_pattern are invalid.
	//   - grpc.NotFound: the parent entity doesn't exist.
	//   - grpc.Internal: error occurs when creating the open times pattern.
	CreateOpenTimesPattern(context.Context, *connect_go.Request[wfm.CreateOpenTimesPatternReq]) (*connect_go.Response[wfm.CreateOpenTimesPatternRes], error)
	// Updates an open times pattern for the given @open_times_pattern_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this open times pattern since it cannot be changed.
	// Required permission:
	//
	//	NONE
	//
	// Errors:
	//   - grpc.Invalid: one or more fields in the @open_times_pattern have invalid values.
	//   - grpc.NotFound: the given @open_times_pattern or it's @parent_entity doesn't exist.
	//   - grpc.Internal: error occurs when updating the open times pattern.
	UpdateOpenTimesPattern(context.Context, *connect_go.Request[wfm.UpdateOpenTimesPatternReq]) (*connect_go.Response[wfm.UpdateOpenTimesPatternRes], error)
	// Deletes an open times pattern with the coresponding @open_times_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @open_times_pattern_sid is invalid for the org making the request.
	//   - grpc.NotFound: the given @open_times_pattern doesn't exist.
	//   - grpc.Internal: error occurs when removing the open times pattern.
	DeleteOpenTimesPattern(context.Context, *connect_go.Request[wfm.DeleteOpenTimesPatternReq]) (*connect_go.Response[wfm.DeleteOpenTimesPatternRes], error)
	// Gets the inherited, own, and resulting bitmaps for the open times patterns of @node_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @node_to_check.
	// If @bitmap_type is COMPLETE, the bitmaps will be generated using all relevant pattern data.
	// If @bitmap_type is ONLY_WEEKMAPS, the bitmaps will be generated using only the weekmap data from the open times patterns.
	// If @bitmap_type is ONLY_CALENDAR_ITEMS, the bitmaps will be generated using only the calendar item data from the open times patterns.
	// The bitmaps will be generated for the span of @datetime_range.
	// Errors:
	//   - grpc.Invalid: the @node_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//     : the @datetime_range is invalid.
	//   - grpc.NotFound: the given @node_to_check doesn't exist.
	//   - grpc.Internal: error occurs when getting the open times pattern bitmaps.
	GetOpenTimesBitmaps(context.Context, *connect_go.Request[wfm.GetOpenTimesBitmapsReq]) (*connect_go.Response[wfm.GetOpenTimesBitmapsRes], error)
	// Gets the datetime ranges over which the given @node_selector open times patterns are open throughout the given @datetime_range for the org sending the request.
	// If the @node_selector is not open during that range, no ranges will be returned.
	// If the @node_selector is opened before or after the given @datetime_range, those times outside of @datetime_range will not be included in the returned @open_close_ranges.
	// Errors:
	//   - grpc.Invalid: the @node_selector or @datetime_range is invalid.
	//   - grpc.NotFound: the given @node_selector doesn't exist in @schedule_scenario_sid for the org sending the request.
	//   - grpc.Internal: error occurs when getting the open time close times.
	ListOpenDateRangesForNodeOpenTimesBitmaps(context.Context, *connect_go.Request[wfm.ListOpenDateRangesForNodeOpenTimesBitmapsRequest]) (*connect_go.Response[wfm.ListOpenDateRangesForNodeOpenTimesBitmapsResponse], error)
	// Creates an agent availability pattern for the org sending the request with the provided parameters.
	// The @agent_availability_pattern_sid of the new entity will be returned in the response.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// Errors:
	//   - grpc.Invalid: the parameters in the @agent_availability_pattern are invalid.
	//   - grpc.NotFound: the parent entity doesn't exist.
	//   - grpc.Internal: error occurs when creating the agent availability pattern.
	CreateAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.CreateAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.CreateAgentAvailabilityPatternRes], error)
	// Updates an agent availability pattern for the given @agent_availability_pattern_sid and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @schedule_scenario_sid must be the original for this agent availability pattern since it cannot be changed.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @agent_availability_pattern have invalid values.
	//   - grpc.Internal: error occurs when updating the agent avilability pattern.
	//   - grpc.NotFound: entry to be updated doesn't exist, or the @parent_entity has a different @schedule_scenario_sid than the agent availability pattern.
	UpdateAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.UpdateAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.UpdateAgentAvailabilityPatternRes], error)
	// Deletes an agent availability pattern with the coresponding @agent_availability_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @agent_availability_pattern_sid has an invalid value.
	//   - grpc.NotFound: the @agent_availability_pattern with the given sid doesn't exist.
	//   - grpc.Internal: error occurs when removing the agent availability pattern.
	DeleteAgentAvailabilityPattern(context.Context, *connect_go.Request[wfm.DeleteAgentAvailabilityPatternReq]) (*connect_go.Response[wfm.DeleteAgentAvailabilityPatternRes], error)
	// Gets the inherited, own, and resulting bitmaps for the agent availability patterns of @entities_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @entities_to_check.
	// @entities_to_check must have the entity_type field set with a wfm agent, agent group or a type of node.
	// If an availability bitmap is requested for an agent group, the bitmaps for all of it's member agents will be returned instead.
	// The bitmaps will be generated for the span of @datetime_range.
	// If @bitmap_type is COMPLETE, the bitmaps will be generated using all relevant pattern data.
	// If @bitmap_type is ONLY_WEEKMAPS, the bitmaps will be generated using only the weekmap data from the availability patterns.
	// If @bitmap_type is ONLY_CALENDAR_ITEMS, the bitmaps will be generated using only the calendar item data from the availability patterns.
	// Errors:
	//   - grpc.Invalid: the @entities_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//     : the @datetime_range is invalid.
	//   - grpc.NotFound: the given @entities_to_check don't exist.
	//   - grpc.Internal: error occurs when getting the agent availability pattern bitmaps.
	GetAvailabilityBitmaps(context.Context, *connect_go.Request[wfm.GetAvailabilityBitmapsReq]) (*connect_go.Response[wfm.GetAvailabilityBitmapsRes], error)
	// Upserts an association for the given @non_skill_activity_sid to the given @node.
	// All downstream members of the entity will have their inheritance state cleared, and inherit the given association.
	// If an association already exists between the non skill activity and the @node then their @relationship_type will be updated.
	// The @schedule_scenario_sid must match the scenario of the @parent_entity.
	// If a NOT_ASSOCIATED_WITH relationship is being created, the tree will be checked for conflicting downstream effects.
	// If any member rules, are referencing the non skill activity and @relationship_type is NOT_ASSOCIATED_WITH, then the upsert will not take effect, and the list of related entities to be updated/removed first will be returned.
	// Errors:
	//   - grpc.Invalid: the @non_skill_activity_sid, @node or @association_type are invalid.
	//     : the non skill activity and @node belong to different scenarios.
	//   - grpc.NotFound: the @non_skill_activity_sid or @node don't exist.
	//   - grpc.Internal: error occurs when upserting the association.
	UpsertNonSkillActivityAssociation(context.Context, *connect_go.Request[wfm.UpsertNonSkillActivityAssociationReq]) (*connect_go.Response[wfm.UpsertNonSkillActivityAssociationRes], error)
	// Creates skill proficiencies for the org sending the request with the provided parameters.
	// The @schedule_scenario_sid must match the scenario of the @parent_entities.
	// Errors:
	//   - grpc.Invalid: the parameters in a @proficiency, or the @schedule_scenario_sid are invalid.
	//   - grpc.NotFound: for any of the given @skill_proficiencies:
	//     the @parent_entity doesn't exist.
	//     the @skill_sid doesn't exist.
	//     the skill profile with @preferred_skill_profile_sid doesn't contain the given @skill_sid.
	//   - grpc.AlreadyExists: a skill proficiency with the given @skill_sid and @parent_entity already exists.
	//   - grpc.Internal: error occurs when creating the skill proficiencies.
	CreateSkillProficiencies(context.Context, *connect_go.Request[wfm.CreateSkillProficienciesReq]) (*connect_go.Response[wfm.CreateSkillProficienciesRes], error)
	// Updates skill proficiencies corresponding to the given @skill_proficiency_sids and org sending the request with the provided parameters.
	// All of the entity's parameters that are not desired to be updated must be filled with their current values.
	// The @skill_sid and @parent_entity field of each proficiency will be ignored since it cannot be updated.
	// Errors:
	//   - grpc.Invalid: one or more fields in the @skill_proficiencies have invalid values.
	//   - grpc.Internal: error occurs when updating the skill proficiencies.
	//   - grpc.NotFound: for any of the given @skill_proficiencies:
	//     the @skill_sid doesn't exist.
	//     the skill profile with @preferred_skill_profile_sid doesn't contain the skill of the given skill proficiency.
	//   - grpc.AlreadyExists: a skill proficiency with the given @skill_sid and @parent_entity already exists.
	UpdateSkillProficiencies(context.Context, *connect_go.Request[wfm.UpdateSkillProficienciesReq]) (*connect_go.Response[wfm.UpdateSkillProficienciesRes], error)
	// Deletes a skill proficiency with the corresponding @skill_proficiency_sid for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @skill_proficiency_sid is invalid for the org making the request.
	//	-grpc.NotFound: the skill proficiency with the given @skill_proficiency_sid doesn't exist.
	//	-grpc.Internal: error occurs when removing the skill proficiency.
	DeleteSkillProficiency(context.Context, *connect_go.Request[wfm.DeleteSkillProficiencyReq]) (*connect_go.Response[wfm.DeleteSkillProficiencyRes], error)
	// Copies the existing scenario with the @scenario_sid_to_copy for the org sending the request using the provided parameters.
	// Scheduling targets of entities in the scenario to copy will also be copied.
	// The new @schedule_scenario_sid of the new entity will be returned in the response.
	// Errors:gg
	//   - grpc.Invalid: the parameters @scenario_sid_to_copy or any others are invalid.
	//   - grpc.NotFound: the scenario corresponding to the @scenario_sid_to_copy doesn't exist.
	//   - grpc.Internal: error occurs when creating/coping the new scenario.
	CopyScenario(context.Context, *connect_go.Request[wfm.CopyScenarioReq]) (*connect_go.Response[wfm.CopyScenarioRes], error)
	// Creates a new schedule scenario for the org sending the request with the provided parameters.
	// The new @schedule_scenario_sid of the new entity will be returned in the response.
	// It also creates 1 of each of the following: call center, client, program, location node, and on call scheduling activity (if it doesn't exist already for the org).
	// The @node_description fields may optionally be left blank.
	// The @copied_from_scenario_sid field will be ignored, as it will be set to nil in the newly created scenario.
	// The @creation_datetime and @is_default fields will also be ignored and set as the current time and false respectively.
	// The @skill_profile_category will be associated with the created program node.
	// Errors:
	//   - grpc.Invalid: parameters in the @req are invalid for the org making the request.
	//   - grpc.NotFound: the @skill_profile_category does not exist.
	//   - grpc.Internal: error occurs when creating the new scenario, or any of the node entities.
	CreateScheduleScenarioWithNodes(context.Context, *connect_go.Request[wfm.CreateScheduleScenarioWithNodesReq]) (*connect_go.Response[wfm.CreateScheduleScenarioWithNodesRes], error)
	// Updates a schedule scenario corresponding to the given @schedule_scenario_sid and org sending the request with the provided parameters.
	// Only the @name, @description and @datetime_set_to_inactive fields may be updated, and must be filled in with current value if updating the field is not desired.
	// The @schedule_scenario_sid must be the original for the schedule scenario since it cannot be updated.
	// All other fields will be ignored since they cannot be updated.
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the @scenario have invalid values.
	//	-grpc.NotFound: the scenario with the given @schedule_scenario_sid doesn't exist.
	//	-grpc.Internal: error occurs when updating the scenario.
	UpdateScheduleScenario(context.Context, *connect_go.Request[wfm.UpdateScheduleScenarioReq]) (*connect_go.Response[wfm.UpdateScheduleScenarioRes], error)
	// Gets config entities that match the org sending the request and given @entity_type and that belong to the @belongs_to_entity and @schedule_scenario_sid parameters.
	// If @include_member_lists is set to true the member lists of the entities retrieved will be included.
	// Any nodes in the returned set of entities will have inherited nonskill associations applied to the node's member_nonskill_activity fields.
	// Prior to listing the entities it will Resync TCN Agents and skill proficiencies.
	// Errors:
	//   - grpc.Invalid: the @entity_type, or @belongs_to_entity have invalid values.
	//   - grpc.Internal: error occurs when getting the config entities.
	ListConfigEntities(context.Context, *connect_go.Request[wfm.ListConfigEntitiesReq]) (*connect_go.Response[wfm.ListConfigEntitiesRes], error)
	// Deletes shift instances with the corresponding @shift_instance_sids for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @shift_instance_sids are invalid for the org making the request.
	//	-grpc.NotFound: the shift instances with the given @shift_instance_sids don't exist.
	//	-grpc.Internal: error occurs when removing the shift instances.
	DeleteShiftInstances(context.Context, *connect_go.Request[wfm.DeleteShiftInstancesReq]) (*connect_go.Response[wfm.DeleteShiftInstancesRes], error)
	// Builds and returns the diagnostics and @nodes_checked for the @node_to_check for @schedule_scenario_sid and the org sending the request.
	// The @schedule_scenario_sid must match the scenario of the @node_to_check.
	// Errors:
	//   - grpc.Invalid: the @node_to_check is invalid for @schedule_scenario_sid and the org making the request.
	//   - grpc.NotFound: the given @node_to_check doesn't exist.
	//   - grpc.Internal: error occurs when building the diagnostics.
	BuildNodeDiagnostics(context.Context, *connect_go.Request[wfm.BuildNodeDiagnosticsReq]) (*connect_go.Response[wfm.BuildNodeDiagnosticsRes], error)
	// Builds and returns the global diagnostics and @nodes_checked for the @schedule_scenario_sid and the org sending the request.
	// Errors:
	//   - grpc.Invalid: the @schedule_scenario_sid has an invalid values.
	//   - grpc.NotFound: the given @schedule_scenario_sid doesn't exist for the org making the request.
	//   - grpc.Internal: error occurs when building the diagnostics.
	BuildGlobalDiagnostics(context.Context, *connect_go.Request[wfm.BuildGlobalDiagnosticsReq]) (*connect_go.Response[wfm.BuildGlobalDiagnosticsRes], error)
	// Gets the published schedule for the corresponding @datetime_range for the org sending the request.
	// Will create a published schedule if it does not exist already for the org sending the request.
	// if @include_shift_instances is true, the shift instances associated within @datetime_range for the published schedule will be returned in the published schedules shift_instances field.
	// if @include_shift_template is true, any returned shift instances will have their orginating shift template returned in their origin_shift_template field.
	// if @include_shift_segments is true, any returned shift instances will have their shift_segments field set, otherwise the field will be left nil.
	// if @include_scheduling_activity is true, any returned shift segments will have their scheduling_activity field set, otherwise the field will be left nil.
	// if @include_activity is true, any returned scheduling activities will have their member_non_skill_activity field set, otherwise the field will be left nil.
	// Errors:
	//   - grpc.Invalid: the @datetime_range, @metric_types are invalid.
	//   - grpc.NotFound: the @node_selector doesn't exist.
	//   - grpc.Internal: error occurs when getting the published schedule.
	GetPublishedSchedule(context.Context, *connect_go.Request[wfm.GetPublishedScheduleReq]) (*connect_go.Response[wfm.GetPublishedScheduleRes], error)
	// Gets the required calls intervals for the published schedule for the corresponding @viewing_range, for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the published schedule doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetPublishedScheduleRequiredCalls(context.Context, *connect_go.Request[wfm.GetPublishedScheduleRequiredCallsReq]) (*connect_go.Response[wfm.GetPublishedScheduleRequiredCallsRes], error)
	// Gets the required calls intervals for the specified draft schedule for the corresponding @viewing_range, for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the draft schedule doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetDraftScheduleRequiredCalls(context.Context, *connect_go.Request[wfm.GetDraftScheduleRequiredCallsReq]) (*connect_go.Response[wfm.GetDraftScheduleRequiredCallsRes], error)
	// Creates a draft schedule for the org sending the request with the provided parameters.
	// The @draft_schedule_sid of the new entity will be returned in the response.
	// The @created_at and @last_updated_at fields will be set to the current time and null respectively.
	// The draft schedule will include the published schedule's shift instances and shift segments.
	// Errors:
	//   - grpc.Invalid: the @name, @description or @scheduling_range are invalid.
	//   - grpc.Internal: error occurs when creating the draft schedule.
	CreateDraftSchedule(context.Context, *connect_go.Request[wfm.CreateDraftScheduleReq]) (*connect_go.Response[wfm.CreateDraftScheduleRes], error)
	// Updates the @name, @description, and @datetime_range of the given @draft_schedule_sid for the org sending the request.
	// The @name, @description, and @datetime_range fields must all be set with their desired values.
	// If @delete_shifts_not_in_range if true, then any instances outside of the @datetime_range will be permenantly deleted with no recovery option.
	// If @delete_shifts_not_in_range is false, instances outside of the new @datetime_range will be retained, for use if the datetime range is expanded to cover the instances in the future.
	// If @copy_shifts_into_new_range time is true, then new the portion of an expanded @datetime_range which has no instances will copy the instances from the published schedule. If false, no instances will be created for an expanded @scheduling_range.
	// If @get_updated_shifts is true, then the returned draft schedule will also contain the shift instances and segments in the given @datetime_range.
	// Errors:
	//   - grpc.Invalid: the @name, @description or @datetime_range are invalid.
	//   - grpc.Internal: error occurs when updating the schedule or its instances.
	UpdateDraftSchedule(context.Context, *connect_go.Request[wfm.UpdateDraftScheduleReq]) (*connect_go.Response[wfm.UpdateDraftScheduleRes], error)
	// Builds a draft schedule for the given @node_selector in @schedule_scenario_sid over @schedule_scenario_scheduling_range for @draft_schedule_sid and the org making the request.
	// The @schedule_scenario_scheduling_range field is optional. If not set, the draft schedule will be obtained with it's default range from it's start to end time.
	// @include parameters are used when retrieving the resulting draft schedule, and work in the same way as for GetDraftSchedule.
	// Will return diagnostics for the newly built schedule, or just diagnostics if the schedule cannot be built successfully due to diagnostic error.
	// If @auto_generate_agents is set to true, unassigned agents will automatically be generated to meet the requirements of the shift templates min and max agents.
	BuildDraftSchedule(context.Context, *connect_go.Request[wfm.BuildDraftScheduleReq]) (*connect_go.Response[wfm.BuildDraftScheduleRes], error)
	// Publishes the shift instances of the given @draft_schedule_sid to the published schedule of the org sending the request.
	// Overlapping shift instances that aren't locked will be replaced with the instances from the draft schedule.
	// If @ignore_diagnostics_errors is set to true, it will publish the schedule regardless of any diagnostics errors,
	// otherwise it will return those diagnostic errors and not publish the schedule.
	// @include parameters are used when retrieving the resulting published schedule, and work in the same way as for GetDraftSchedule.
	// Errors:
	//   - grpc.Invalid: the parameters in the @req are invalid..
	//   - grpc.NotFound: @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when publishing the draft schedule.
	PublishDraftSchedule(context.Context, *connect_go.Request[wfm.PublishDraftScheduleReq]) (*connect_go.Response[wfm.PublishDraftScheduleRes], error)
	// Resets the shifts on the @draft_schedule_sid for the org sending the request.
	// Shifts overlapping the @datetime_range will be deleted, then that @datetime_range will be populated with shifts from the published schedule.
	// If no @datetime_range is provided, all shifts will be removed from the @draft_schedule_sid, and published shifts will be copied across the draft's datetime range.
	// If @unlocked_only is set to true, only unlocked shifts will be deleted, and the locked shift instances will remain.
	//
	//	The published schedule will still be copied, so any newly overlapping shifts will result in an overlap warning.
	//
	// Errors:
	//   - grpc.Invalid: the @datetime_range or @draft_schedule_sid are invalid for the org sending the request.
	//   - grpc.NotFound: the @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when resetting the schedule.
	ResetDraftSchedule(context.Context, *connect_go.Request[wfm.ResetDraftScheduleReq]) (*connect_go.Response[wfm.ResetDraftScheduleRes], error)
	// Gets the draft schedule with @draft_schedule_sid for the corresponding @datetime_range for the org sending the request.
	// The @datetime_range field is optional. If not set, the draft schedule will be obtained with it's default range from it's start to end time.
	// if @include_shift_instances is true, the shift instances associated within @datetime_range for the draft schedule will be returned in the draft schedules shift_instances field.
	// @node_selector must be for a node that belongs to the same schedule scenario as @draft_schedule_sid.
	// if @include_shift_template is true, any returned shift instances will have their orginating shift template returned in their origin_shift_template field.
	// if @include_shift_segments is true, any returned shift instances will have their shift_segments field set, otherwise the field will be left nil.
	// if @include_scheduling_activity is true, any returned shift segments will have their scheduling_activity field set, otherwise the field will be left nil.
	// if @include_activity is true, any returned scheduling activities will have their member_non_skill_activity field set, otherwise the field will be left nil.
	// Errors:
	//   - grpc.Invalid: the @datetime_range or @draft_schedule_sid are invalid.
	//   - grpc.NotFound: the @node_selector or @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when getting the draft schedule.
	GetDraftSchedule(context.Context, *connect_go.Request[wfm.GetDraftScheduleReq]) (*connect_go.Response[wfm.GetDraftScheduleRes], error)
	// Lists the draft schedules whose scheduling_range overlaps the given @datetime_range for the org sending the request.
	// If @datetime_range is not set, all draft schedules for the org will be returned.
	// Errors:
	//   - grpc.Invalid: the @datetime_range is invalid.
	//   - grpc.Internal: error occurs when listing the draft schedules.
	ListDraftSchedules(context.Context, *connect_go.Request[wfm.ListDraftSchedulesReq]) (*connect_go.Response[wfm.ListDraftSchedulesRes], error)
	// Clears shift instances from the @schedule_selector for the org sending the request.
	// If @node_selector is set, only shifts related to the given @node_selector will be cleared.
	// If @node_selector is not set, all shifts on the @schedule_selector may be cleared, regardless of the shift template they are associated with.
	// If @datetime_range is set, only the shifts overlapping the @datetime_range will be cleared.
	// If @datetime_range is not set, all shifts on the schedule will be considered in range to be deleted and @invert_datetime_range and @start_datetimes_only must be set to false.
	// If @invert_datetime_range is set to true, the shifts overlapping the range before and after the provided @datetime_range will be deleted.
	// If @invert_datetime_range is set to false, the provided @datetime_range will be used.
	// If @start_datetimes_only is set to true, deletes the shifts that start within the @datetime range, or start before or after @datetime_range if @invert_datetime_range is true.
	// If @start_datetimes_only is set to false, deletes the shifts that overlap with the @datetime range, or overlap the range before or after @datetime_range if @invert_datetime_range is true.
	// If @delete_locked is set to true, both locked and unlocked shifts will be cleared.
	// If @delete_locked is set to false, only shifts with @is_locked set to false may be cleared.
	// Errors:
	//   - grpc.Invalid: the @node_selector, @schedule_selector, or @datetime_range in the request are invalid.
	//   - grpc.NotFound: the draft schedule with the given @schedule_selector doesn't exist.
	//   - grpc.Internal: error occurs when removing the shifts from the schedule.
	ClearSchedule(context.Context, *connect_go.Request[wfm.ClearScheduleReq]) (*connect_go.Response[wfm.ClearScheduleRes], error)
	// Deletes a draft schedule with the corresponding @draft_schedule_sid for the org sending the request.
	// It also deletes all of its shift instances and segments.
	// Errors:
	//   - grpc.Invalid: the @draft_schedule_sid is invalid for the org making the request.
	//   - grpc.NotFound: the draft schedule with the given @draft_schedule_sid doesn't exist.
	//   - grpc.Internal: error occurs when removing the draft schedule.
	DeleteDraftSchedule(context.Context, *connect_go.Request[wfm.DeleteDraftScheduleReq]) (*connect_go.Response[wfm.DeleteDraftScheduleRes], error)
	// Lists the shift instances with the corresponding @shift_instance_sids for the org sending the request.
	// If @include_shift_template is set to true then the related shift template for the shift instances will be returned in the shift template field.
	// If @include_shift_segments is set to true then the related shift segments for the shift instances will be returned in the shift segments field.
	// If @include_scheduling_activity is set to true then the related scheduling activity for the shift segment will be returned in the scheduling activity field.
	// @include_shift_segments must be true to take effect.
	// If @include_activity is set to true then the related non skill activity for the scheduling activity will be returned in the scheduling
	// activities member non skill activity field. @include_scheduling_activity must be true to take effect.
	// Errors:
	//   - grpc.Invalid: @shift_instance_sids in the request are invalid.
	//   - grpc.Internal: error occurs when listing the shift instances or their shift segments.
	ListShiftInstancesBySid(context.Context, *connect_go.Request[wfm.ListShiftInstancesBySidReq]) (*connect_go.Response[wfm.ListShiftInstancesBySidRes], error)
	// Copies the shifts from @source_schedule_selector to @destination_schedule_selector, constrained by the given parameters for the org sending the request.
	// If @datetime_range is set, all shifts within the datetime range will be copied.
	// If @datetime_range is not set, all shifts in the @source_schedule_selector within the schedule range of the @destination_schedule_selector will be copied. However if one of them is a published schedule, it will use the schedule range of the draft schedule.
	// If @start_datetimes_only is set to false, then shifts are considered to be within the @datetime range if any portion of them is within the range.
	// If @start_datetimes_only is set to true, then only shifts with start times within the @datetime range will be copied.
	// If @overlap_as_warning is set to false, any overlapping shifts for a given agent will return a diagnostic error, and prevent any shifts from being copied.
	// If @overlap_as_warning is set to true, the shifts will be copied regardless of overlap conflicts, and any conflicts will cause a diagnostic warning to be returned after.
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values.
	//	-grpc.NotFound: the @source_schedule_selector or @destination_schedule_selector don't exist for the org sending the request.
	//	-grpc.Internal: error occurs when creating the copied shift instances.
	CopyScheduleToSchedule(context.Context, *connect_go.Request[wfm.CopyScheduleToScheduleReq]) (*connect_go.Response[wfm.CopyScheduleToScheduleRes], error)
	// Creates a shift instance for the org sending the request with the provided parameters.
	// This method is not implemented. Do not use.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when creating the shift instance.
	CreateShiftInstance(context.Context, *connect_go.Request[wfm.CreateShiftInstanceReq]) (*connect_go.Response[wfm.CreateShiftInstanceRes], error)
	// Creates a shift instance for the org sending the request with the provided parameters.
	// If @wfm_agent_sids is empty, then the shift instance will be created for a newly created unassigned agent.
	// A shift instance will be created for each wfm agent sid provided.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when creating the shift instance.
	//   - grpc.NotFound: the @draft_schedule_sid, @shift_template_sid, or @wfm_agent_sids do not exist for the org sending the request.
	CreateShiftInstanceV2(context.Context, *connect_go.Request[wfm.CreateShiftInstanceV2Req]) (*connect_go.Response[wfm.CreateShiftInstanceV2Res], error)
	// Creates the @shift_instance with any member shift segments and shift segment call stats for the org sending the request.
	// If @ignore_diagnostics_errors any diagnostics encountered will be returned as warnings, and the shift will still be created.
	//
	//	Otherwise, any diagnostics triggered by the given @shift_instance will be returned and the shift will not be created.
	//
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values.
	//	-grpc.NotFound: the fields referenced in @shift_instance or its member shift segments don't exist for the org.
	//	-grpc.Internal: error occurs when creating the shift instance or its members.
	CreateShiftInstanceWithSegments(context.Context, *connect_go.Request[wfm.CreateShiftInstanceWithSegmentsRequest]) (*connect_go.Response[wfm.CreateShiftInstanceWithSegmentsResponse], error)
	// Splits the @shift_instance_sid into two, at the given @time_to_split, returning the updated and new @shift_instances.
	// Any shift segments will be split between the two shift instances at @time_to_split.
	// If the @time_to_split creates instances shorter then the minimum length specified by the shift template,
	//
	//	warning diagnostics will be returned and the instance will still be split.
	//
	// Errors:
	//
	//	-grpc.Invalid: one or more fields in the request have invalid values, or @time_to_split is not at least 5 minutes from the start or end of @shift_instance_sid.
	//	-grpc.NotFound: the @shift_instance_sid does't exist for the org sending the request.
	//	-grpc.Internal: error occurs when creating or updating the shift instances.
	SplitShiftInstance(context.Context, *connect_go.Request[wfm.SplitShiftInstanceReq]) (*connect_go.Response[wfm.SplitShiftInstanceRes], error)
	// Swaps shift instances with the given @shift_instance_sids that belong to @wfm_agent_sid1 to belong to @wfm_agent_sid2 (and viceversa).
	// Returns the swapped @shift_instances after they are succesfully updated.
	// If there are other shifts for the given @wfm_agent_sids with an overlap conflict, diagnostics will be returned instead.
	// All @shift_instance_sids must belong to the same schedule, and be from a draft schedule.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.NotFound: wfm_agent_sid_1, wfm_agent_sid_2, or shift_instance_sids do not exist for the org sending the request.
	//   - grpc.Internal: error occurs when swapping the shift instances.
	SwapShiftInstances(context.Context, *connect_go.Request[wfm.SwapShiftInstancesReq]) (*connect_go.Response[wfm.SwapShiftInstancesRes], error)
	// Updates a shift instance for the org sending the request with the provided parameters.
	// This method is not implemented. Do not use.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when updating the shift instance.
	UpdateShiftInstance(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceReq]) (*connect_go.Response[wfm.UpdateShiftInstanceRes], error)
	// Updates a shift instance for the org sending the request with the provided parameters.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.Internal: error occurs when updating the shift instance.
	UpdateShiftInstanceV2(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceV2Req]) (*connect_go.Response[wfm.UpdateShiftInstanceV2Res], error)
	// Runs diagnostics on the given @shift_instance for the org sending the request.
	// If @ignore_diagnostics_errors is True, the shift will be updated regardless of diagnostic errors and any diagnostics will be returned as warnings.
	// Otherwise, the shift will only be updated if there are no diagnostic errors.
	// Only the @start_datetime, @is_locked, @width_in_minutes and @wfm_agent_sid fields of the shift will be updated.
	//
	// Any existing shift segments belonging to @shift_instance will be deleted and replaced with the ones in the given @shift_instance.
	// If no segments are provided, the existing segments will still be deleted and the instances will be left without any.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when updating the @shift_instance or replacing their member shift segments.
	UpdateShiftInstanceWithSegments(context.Context, *connect_go.Request[wfm.UpdateShiftInstanceWithSegmentsRequest]) (*connect_go.Response[wfm.UpdateShiftInstanceWithSegmentsResponse], error)
	// Copies the given @shift_instance_sids to @destination_schedule for the org sending the request.
	// If there are any overlap conflicts on @destination_schedule and @overlap_as_warning is set to false,
	//
	//	then @shift_instance_sids will not be copied, and a list of diagnostics detailing the overlaps will be returned.
	//
	// If @overlap_as_warning is set to true, overlap conflicts will not prevent the shifts from being copied, and the overlap diagnostics will be returned after as warning messages instead.
	// Errors:
	//   - grpc.Invalid: one or more fields in the request have invalid values.
	//   - grpc.NotFound: the @shift_instance_sids or @destination_schedule does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when copying the shift instances.
	CopyShiftInstancesToSchedule(context.Context, *connect_go.Request[wfm.CopyShiftInstancesToScheduleReq]) (*connect_go.Response[wfm.CopyShiftInstancesToScheduleRes], error)
	// Lists the shift_instance_sids for the Shift Instances associated with @wfm_agent_sid over the given @datetime_range and @schedule_selector.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftInstanceSidsForAgent(context.Context, *connect_go.Request[wfm.ListShiftInstanceSidsForAgentReq]) (*connect_go.Response[wfm.ListShiftInstanceSidsForAgentRes], error)
	// Lists shift segments for the specified shift instances for the org sending the request.
	// If @include_scheduling_activity is set to true then the related scheduling activity for the shift segment will be returned in the scheduling activity field.
	// If @include_activity is set to true then the related non skill activity for the scheduling activity will be returned in the scheduling activities member non skill activity field.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: a shift instance doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	ListShiftSegmentsByShiftInstanceSids(context.Context, *connect_go.Request[wfm.ListShiftSegmentsByShiftInstanceSidsReq]) (*connect_go.Response[wfm.ListShiftSegmentsByShiftInstanceSidsRes], error)
	// Creates the given @scheduling_target for the org making the request.
	// The @scheduling_target_sid of the new entity will be returned in the response.
	// Any preexisting scheduling target for @node_entity will be removed upon creation of the new @scheduling_target.
	// Errors:
	//   - grpc.Invalid: the @scheduling_target is invalid.
	//   - grpc.NotFound: @node_entity doesn't exist for @schedule_scenario_sid and the org making the request.
	//   - grpc.Internal: error occours when setting the scheduling target.
	SetSchedulingTarget(context.Context, *connect_go.Request[wfm.SetSchedulingTargetReq]) (*connect_go.Response[wfm.SetSchedulingTargetRes], error)
	// Gets the @own_scheduling_target, @inherited_scheduling_target, and @resulting_scheduling_target for the given @node_selector and the org making the request.
	// Errors:
	//   - grpc.Invalid: the @node_selector is invalid.
	//   - grpc.NotFound: the given @node_selector doesn't exist for the org making the request.
	//   - grpc.Internal: error occours when getting the scheduling target.
	GetSchedulingTarget(context.Context, *connect_go.Request[wfm.GetSchedulingTargetReq]) (*connect_go.Response[wfm.GetSchedulingTargetRes], error)
	// Deletes the scheduling target of the corresponding @node_selector for the org sending the request.
	// Errors:
	//
	//	-grpc.Invalid: the @node_selector is invalid.
	//	-grpc.NotFound: the scheduling target for the given @node_selector doesn't exist for the org making the request.
	//	-grpc.Internal: error occurs when removing the scheduling target.
	DeleteSchedulingTarget(context.Context, *connect_go.Request[wfm.DeleteSchedulingTargetReq]) (*connect_go.Response[wfm.DeleteSchedulingTargetRes], error)
	// Gets the scheduling-target values for the org making the request.
	// Errors:
	//   - grpc.Internal: error occours when getting the scheduling-target values.
	GetDefaultSchedulingTarget(context.Context, *connect_go.Request[wfm.GetDefaultSchedulingTargetReq]) (*connect_go.Response[wfm.GetDefaultSchedulingTargetRes], error)
	// Sets the scheduling-target values for the org making the request.
	// Errors:
	//   - grpc.Invalid: any of the given values are invalid.
	//   - grpc.Internal: error occours when setting the scheduling-target values.
	SetDefaultSchedulingTarget(context.Context, *connect_go.Request[wfm.SetDefaultSchedulingTargetReq]) (*connect_go.Response[wfm.SetDefaultSchedulingTargetRes], error)
	// Gets the performance metrics across @datetime_range for shift instances in @schedule_selector associated with @node_selector for the org making the request.
	// Performance metrics will be generated for each of the given @metric_params.
	// The @interval_width_in_minutes must be a multiple of 5.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @node_selector, @schedule_selector, or their shift instances doesn't exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetPerformanceMetrics(context.Context, *connect_go.Request[wfm.GetPerformanceMetricsReq]) (*connect_go.Response[wfm.GetPerformanceMetricsRes], error)
	// Lists the required calls intervals for the given @node_selector over the given @datetime_range for the org making the request.
	// The @interval_width_in_minutes must be a multiple of 5.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the data.
	ListRequiredCallsIntervals(context.Context, *connect_go.Request[wfm.ListRequiredCallsIntervalsReq]) (*connect_go.Response[wfm.ListRequiredCallsIntervalsRes], error)
	// Creates a Tour Pattern for @shift_template_sid and the org sending the request, returning @tour_pattern_sid.
	// If there is already a Tour Pattern for @shift_template_sid then the method call will fail to create a new Tour Pattern.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: A Tour Pattern already exists for @shift_template_sid.
	//   - grpc.Internal: error occurs when creating the Tour Pattern.
	CreateTourPattern(context.Context, *connect_go.Request[wfm.CreateTourPatternReq]) (*connect_go.Response[wfm.CreateTourPatternRes], error)
	// Returns a list of diagnostics describing any issues with the given @tour_pattern.
	// Checks the internal consistency between the pattern and all members, as well as making sure required fields are set with valid values.
	// Ignores sid fields, except for @shift_template_sid and @scheduling_activity_sid.
	// Does not query the database to check that foreign keys exist.
	// Returns a single diagnostic with an OK code if the given @tour_pattern has no issues.
	// The @member_tour_week_patterns and @member_tour_agent_collections fields must be set on @tour_pattern.
	// Errors:
	//   - grpc.Internal: error occurs when validating the tour pattern or members.
	GetTourPatternDiagnostics(context.Context, *connect_go.Request[wfm.GetTourPatternDiagnosticsReq]) (*connect_go.Response[wfm.GetTourPatternDiagnosticsRes], error)
	// Replaces the existing Tour Pattern and members with @tour_pattern for the @tour_pattern.shift_template_sid and the org sending the request.
	// Returns the newly created Tour Pattern and members with their updated SIDs and Week Pattern Numbers.
	// Any existing Tour Week Patterns, Tour Shift Instance and Segment Configs, Tour Agent Collections and their WFM Agent SIDs
	//
	//	belonging to @tour_pattern.shift_template_sid will be replaced with the members on the provided @tour_pattern.
	//
	// At least one Tour Agent Collection and one Tour Week Pattern must be provided in the member fields.
	// If the tour pattern data or members have issues that prevent them from being persisted, a list of diagnostics will be returned describing the issues that must be resolved.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @tour_pattern.shift_template_sid does not exist.
	//   - grpc.Internal: error occurs when upserting the tour pattern or members.
	UpsertTourPatternWithMembers(context.Context, *connect_go.Request[wfm.UpsertTourPatternWithMembersReq]) (*connect_go.Response[wfm.UpsertTourPatternWithMembersRes], error)
	// Gets the Tour Pattern belonging to @shift_template_sid and the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the requested Tour Pattern does not exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetTourPattern(context.Context, *connect_go.Request[wfm.GetTourPatternReq]) (*connect_go.Response[wfm.GetTourPatternRes], error)
	// Gets the Tour Pattern belonging to @shift_template_sid and the org sending the request.
	// The @tour_pattern will be returned with all member entities.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the requested Tour Pattern does not exist.
	//   - grpc.Internal: error occurs when getting the data.
	GetTourPatternWithMembers(context.Context, *connect_go.Request[wfm.GetTourPatternWithMembersReq]) (*connect_go.Response[wfm.GetTourPatternWithMembersRes], error)
	// Deletes the Tour Pattern belonging to @tour_pattern_sid and the org sending the request.
	// Any member Tour Week Patterns or Agent Collections will be deleted as well.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the data or it's children.
	DeleteTourPattern(context.Context, *connect_go.Request[wfm.DeleteTourPatternReq]) (*connect_go.Response[wfm.DeleteTourPatternRes], error)
	// Creates a Tour Week Pattern for @tour_pattern_sid for the org sending the request, returning @tour_week_pattern_sid.
	// The newly created Tour Week Pattern will be placed at the end of the existing sequence of tour week patterns for @tour_pattern_sid.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the Tour Week Pattern.
	CreateTourWeekPattern(context.Context, *connect_go.Request[wfm.CreateTourWeekPatternReq]) (*connect_go.Response[wfm.CreateTourWeekPatternRes], error)
	// Lists the Tour Week Patterns with @tour_pattern_sid for the org sending the request
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Week Patterns.
	ListTourWeekPatterns(context.Context, *connect_go.Request[wfm.ListTourWeekPatternsReq]) (*connect_go.Response[wfm.ListTourWeekPatternsRes], error)
	// Deletes the Tour Week Patterns with the given @tour_week_pattern_sids for the org sending the request.
	// Any Tour Week Instance or Segment Configs using @tour_week_pattern_sids will be deleted.
	// Request will error if any @tour_week_pattern_sids are in use by a Tour Agent Collection, as those must be removed first.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.FailedPrecondition: a @tour_week_pattern_sid is in use by a Tour Agent Collection.
	//   - grpc.Internal: error occurs when deleting the tour week patterns or configs.
	DeleteTourWeekPatterns(context.Context, *connect_go.Request[wfm.DeleteTourWeekPatternsReq]) (*connect_go.Response[wfm.DeleteTourWeekPatternsRes], error)
	// Creates the @tour_shift_instance_config for the org sending the request, returning @tour_shift_instance_config_sid.
	// The given @tour_shift_instance_config will not be created if it will overlap another tour shift instance config belonging to @tour_week_pattern_sid.
	// The @member_tour_shift_segment_configs field will be ignored, and will not be created if passed through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or a preexisting tour shift instance config would overlap @tour_shift_instance_config.
	//   - grpc.Internal: error occurs when creating the data.
	CreateTourShiftInstanceConfig(context.Context, *connect_go.Request[wfm.CreateTourShiftInstanceConfigReq]) (*connect_go.Response[wfm.CreateTourShiftInstanceConfigRes], error)
	// Updates the @tour_shift_instance_config for the org sending the request, returning @tour_shift_instance_config_sid.
	// The given @tour_shift_instance_config will not be created if it will overlap another tour shift instance config belonging to @tour_week_pattern_sid.
	// The @member_tour_shift_segment_configs field will be ignored, and will not be updated if passed through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or a preexisting Tour Shift Instance Config would overlap @tour_shift_instance_config.
	//   - grpc.Internal: error occurs when updating the data.
	UpdateTourShiftInstanceConfig(context.Context, *connect_go.Request[wfm.UpdateTourShiftInstanceConfigReq]) (*connect_go.Response[wfm.UpdateTourShiftInstanceConfigRes], error)
	// Lists the Tour Shift Instance Configs belonging to @tour_week_pattern_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Instance Configs.
	ListTourShiftInstanceConfigs(context.Context, *connect_go.Request[wfm.ListTourShiftInstanceConfigsReq]) (*connect_go.Response[wfm.ListTourShiftInstanceConfigsRes], error)
	// Deletes the Tour Shift Instance Configs matching @tour_shift_instance_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Instance Configs.
	DeleteTourShiftInstanceConfigs(context.Context, *connect_go.Request[wfm.DeleteTourShiftInstanceConfigsReq]) (*connect_go.Response[wfm.DeleteTourShiftInstanceConfigsRes], error)
	// Creates the given @tour_shift_segment_config for the org sending the request, returning @tour_shift_segment_config_sid.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: the @tour_shift_instance_config_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the entity.
	CreateTourShiftSegmentConfig(context.Context, *connect_go.Request[wfm.CreateTourShiftSegmentConfigReq]) (*connect_go.Response[wfm.CreateTourShiftSegmentConfigRes], error)
	// Updates the given @tour_shift_segment_config matching @tour_shift_segment_config_sid for the org sending the request.
	// If the updated Tour Shift Segment Config overlaps another segment or does not fit within the parent Tour Shift Instance Config the update will fail.
	// Errors:
	//   - grpc.Invalid: the request data is invalid or the resulting update would result in a conflict.
	//   - grpc.NotFound: the @tour_shift_instance_config_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when updating the entity.
	UpdateTourShiftSegmentConfig(context.Context, *connect_go.Request[wfm.UpdateTourShiftSegmentConfigReq]) (*connect_go.Response[wfm.UpdateTourShiftSegmentConfigRes], error)
	// Lists the Tour Shift Segment Configs belonging to @tour_shift_instance_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the Tour Shift Segment Configs.
	ListTourShiftSegmentConfigs(context.Context, *connect_go.Request[wfm.ListTourShiftSegmentConfigsReq]) (*connect_go.Response[wfm.ListTourShiftSegmentConfigsRes], error)
	// Deletes the Tour Shift Segment Configs associated with the given @tour_shift_segment_config_sids for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the Tour Shift Segment Configs.
	DeleteTourShiftSegmentConfigs(context.Context, *connect_go.Request[wfm.DeleteTourShiftSegmentConfigsReq]) (*connect_go.Response[wfm.DeleteTourShiftSegmentConfigsRes], error)
	// Creates the given @tour_agent_collection for the org sending the request and return the @tour_agent_collection_sid.
	// The @wfm_agent_sids will be ignored and will not be created through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: the first_week_pattern_number for @tour_pattern_sid is already in use by another tour agent collection.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when creating the entity.
	CreateTourAgentCollection(context.Context, *connect_go.Request[wfm.CreateTourAgentCollectionReq]) (*connect_go.Response[wfm.CreateTourAgentCollectionRes], error)
	// Updates the given @tour_agent_collection matching the @tour_agent_collection_sid for the org sending the request.
	// The @wfm_agent_sids will be ignored and will not be updated through this endpoint.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.AlreadyExists: the first_week_pattern_number for @tour_pattern_sid is already in use by another tour agent collection.
	//   - grpc.NotFound: the given @tour_pattern_sid does not exist for the org sending the request.
	//   - grpc.Internal: error occurs when updating the entity.
	UpdateTourAgentCollection(context.Context, *connect_go.Request[wfm.UpdateTourAgentCollectionReq]) (*connect_go.Response[wfm.UpdateTourAgentCollectionRes], error)
	// Lists the Tour Agent Collections belonging to @tour_pattern_sid for the org sending the request.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	ListTourAgentCollections(context.Context, *connect_go.Request[wfm.ListTourAgentCollectionsReq]) (*connect_go.Response[wfm.ListTourAgentCollectionsRes], error)
	// Deletes the Tour Agent collections matching @tour_agent_collection_sids for the org sending the request.
	// Any existing associations with WFM Agent Sids will be deleted as well.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when deleting the tour agent collections.
	DeleteTourAgentCollections(context.Context, *connect_go.Request[wfm.DeleteTourAgentCollectionsReq]) (*connect_go.Response[wfm.DeleteTourAgentCollectionsRes], error)
	// Creates an assocation between the @tour_agent_collection_sid and the @wfm_agent_sids for the org sending the request.
	// If there is already an association between any of the @wfm_agent_sids and the Tour Pattern that @tour_agent_collection_sid belongs to, the method will fail and no associations will be created.
	// Errors:
	//   - grpc.Invalid: the request data is invalid
	//   - grpc.AlreadyExists: an association already exists for at least one SID in @wfm_agent_sids.
	//   - grpc.Internal: error occurs when creating the association.
	CreateTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.CreateTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.CreateTourAgentCollectionWFMAgentsRes], error)
	// Lists the WFM Agent SIDs belonging to @tour_agent_collection_sids for the org sending the request.
	// The resulting sids will be returned in @wfm_agent_pairings each containing an @agent_collection_sid and @wfm_agent_sids.
	// If no agents are found for a sid in the given @tour_agent_collection_sids, that @agent_collection_sid will have an empty slice in @wfm_agent_sids.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	ListTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.ListTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.ListTourAgentCollectionWFMAgentsRes], error)
	// Deletes association between the @wfm_agent_sids and @tour_agent_collection_sid for the org sending the request.
	// If no @wfm_agent_sids are provided, all existing @wfm_agent_sids for the given @tour_agent_collection_sid will be deleted.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: there are no WFM Agent associations to delete for @tour_agent_collection_sid.
	//   - grpc.Internal: error occurs when getting the tour agent collections.
	DeleteTourAgentCollectionWFMAgents(context.Context, *connect_go.Request[wfm.DeleteTourAgentCollectionWFMAgentsReq]) (*connect_go.Response[wfm.DeleteTourAgentCollectionWFMAgentsRes], error)
	// Generates a list of tour week patterns for @target_shift_template_sid and the org sending the request.
	// Sets the member_tour_week_patterns with a tour week pattern for each of the @num_weeks_in_tour.
	// Each of the tour week patterns will be set with tour shift instances and segment configs based on
	//
	//	the forecasted call data over the next @num_weeks_in_tour, starting on the next Monday.
	//
	// The returned data will not be persisted. This method will not effect any existing tour week patterns in the database.
	// The @tour_week_patterns returned by this method are intended to replace, not append, all currenly existing tour week patterns for @target_shift_template_sid, once persisted.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.NotFound: there is no call center node or @shift_template_sid associated with @schedule_scenario_sid.
	//   - grpc.Internal: error occurs when generating the tour week patterns.
	GenerateTourWeekPatterns(context.Context, *connect_go.Request[wfm.GenerateTourWeekPatternsReq]) (*connect_go.Response[wfm.GenerateTourWeekPatternsRes], error)
	// Returns a list of @wfm_agent_sids that are suitable for replacing @wfm_agent_sid_to_replace for the given parameters and the org sending the request.
	// Only enforces that skill proficiencies are covered by the individual wfm agents, does not enforce constraint rules.
	// If @skip_skill_proficiency_sort is False, the agents will be returned in order of cumulative skill proficiency towards the required skills.
	// If @include_skill_mismatches is True, the agents will be included even if they do not include all of the required skills for the shifts being replaced.
	// If @skip_force_same_agent_groups is False, the agents will only be returned if they belong to every agent group that @wfm_agent_sid_to_replace is a member of. Otherwise, this check will be skipped.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when determinining which agents are valid.
	ListValidAgentsForReplacement(context.Context, *connect_go.Request[wfm.ListValidAgentsForReplacementReq]) (*connect_go.Response[wfm.ListValidAgentsForReplacementRes], error)
	// Replaces @wfm_agent_sid_to_remove with @wfm_agent_sid_to_add for the given parameters and the org sending the request.
	// If @skip_overlapping_shifts, shifts with an overlap conflict will be skipped, otherwise overlap conflicts will cause a diagnostic to be returned.
	// Does not enforce skill proficiencies. To check skill proficiencies for shift replacement use ListValidAgentsForReplacement.
	// DEPRECATED as of Jan/22/2024 - Use ReplaceAgentOnScheduleV1 instead.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when replacing the @wfm_agent_sid_to_remove.
	//
	// Deprecated: do not use.
	ReplaceAgentOnSchedule(context.Context, *connect_go.Request[wfm.ReplaceAgentOnScheduleRes]) (*connect_go.Response[wfm.ReplaceAgentOnScheduleRes], error)
	// Replaces @wfm_agent_sid_to_remove with @wfm_agent_sid_to_add for the given parameters and the org sending the request.
	// If @skip_overlapping_shifts, shifts with an overlap conflict will be skipped, otherwise overlap conflicts will cause a diagnostic to be returned.
	// Does not enforce skill proficiencies. To check skill proficiencies for shift replacement use ListValidAgentsForReplacement.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when replacing the @wfm_agent_sid_to_remove.
	ReplaceAgentOnScheduleV1(context.Context, *connect_go.Request[wfm.ReplaceAgentOnScheduleReq]) (*connect_go.Response[wfm.ReplaceAgentOnScheduleRes], error)
	// Removes the @wfm_agent_sid from @schedule_selector over @datetime_range for the org sending the request.
	// Creates a new unassigned agent with the same active agent group associations as @wfm_agent_sid for @schedule_scenario_sid.
	// The unassigned agent will be assigned to shifts belonging to @wfm_agent_sid, returning newly created unassigned agent's SID and the updated shifts.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when creating the unassigned agent or updating the shifts.
	RemoveAgentFromSchedule(context.Context, *connect_go.Request[wfm.RemoveAgentFromScheduleRequest]) (*connect_go.Response[wfm.RemoveAgentFromScheduleResponse], error)
	// Creates an agent leave petition to request time off for the @wfm_agent_sid over the @requested_datetime_ranges for the org sending the request.
	// The @petition_comment must be set with a value.
	// The @requested_datetime_ranges may not overlap each other.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when creating the time off request.
	//   - grpc.NotFound: the @wfm_agent_sid does not exist for the org sending the request.
	CreateAgentLeavePetition(context.Context, *connect_go.Request[wfm.CreateAgentLeavePetitionRequest]) (*connect_go.Response[wfm.CreateAgentLeavePetitionResponse], error)
	// Lists agent leave petitions for the @wfm_agent_sids over @datetime_range for the org sending the request.
	// If no @wfm_agent_sids are provided, all agent leave petitions overlapping @datetime_range for the org sending the request will be returned.
	// If no @datetime_range is provided, petitions will be returned across all datetimes.
	// If @include_archived is true, archived agent leave petitions will be returned as well, otherwise archived requests will not be included.
	// If no agent leave petitions are found for the given parameters, an empty slice will be returned.
	// Errors:
	//   - grpc.Invalid: the request data is invalid.
	//   - grpc.Internal: error occurs when listing the agent leave petitions.
	ListAgentLeavePetitions(context.Context, *connect_go.Request[wfm.ListAgentLeavePetitionsRequest]) (*connect_go.Response[wfm.ListAgentLeavePetitionsResponse], error)
	// Archives an agent leave petition with the given @agent_leave_petition_id for the org sending the request.
	// If the leave petition has the status of PENDING_PETITION, the petition must be resolved first, or the request will error.
	// If the petition has a status of APPROVED_PETITION and a portion of the petitions @requested_datetime_ranges lies in the future,
	//
	//	the petition may not be archived without being cancelled.
	//
	// Errors:
	//   - grpc.Invalid: the request data is invalid, the agent leave petition is approved for a future datetime, still pending, or is already archived.
	//   - grpc.Internal: error occurs when archiving the agent leave petition.
	//   - grpc.NotFound: the @agent_leave_petition_id does not exist for the org sending the request.
	ArchiveAgentLeavePetition(context.Context, *connect_go.Request[wfm.ArchiveAgentLeavePetitionRequest]) (*connect_go.Response[wfm.ArchiveAgentLeavePetitionResponse], error)
	// A hello world endpoint to test the WFM Adherence App.
	// Returns a string with a hello world message.
	HelloWorldWFMAdherence(context.Context, *connect_go.Request[wfm.HelloWorldWFMAdherenceRequest]) (*connect_go.Response[wfm.HelloWorldWFMAdherenceResponse], error)
	// List the real time agent states for published schedule and the org sending the request, starting on the given @start_datetime.
	// If the @end_datetime is set, all agent state sequences will be returned for the range between @start_datetime and @end_datetime.
	// If @end_datetime is not set, the agent state sequences will be returned over a 24 hour period or until the current time, whichever is shorter.
	// Errors:
	//   - grpc.Invalid: the @start_datetime is invalid or beyond the current datetime.
	//   - grpc.Internal: error occurs when listing the agent states.
	ListAgentStatesForDay(context.Context, *connect_go.Request[wfm.ListAgentStatesForDayRequest]) (*connect_go.Response[wfm.ListAgentStatesForDayResponse], error)
	// List org-level RealTimeManagementStates.
	// Errors:
	//   - grpc.Invalid: on invalid input.
	//   - grpc.Internal: on unexpected error.
	ListRealTimeManagementStates(context.Context, *connect_go.Request[wfm.ListRealTimeManagementStatesRequest]) (*connect_go.Response[wfm.ListRealTimeManagementStatesResponse], error)
	// List org-level RealTimeManagementStateColors.
	// Errors:
	//   - grpc.Invalid: on invalid input.
	//   - grpc.Internal: on unexpected error.
	ListRealTimeManagementStateColors(context.Context, *connect_go.Request[wfm.ListRealTimeManagementStateColorsRequest]) (*connect_go.Response[wfm.ListRealTimeManagementStateColorsResponse], error)
}

WFMHandler is an implementation of the api.v1alpha1.wfm.WFM service.

type WfmAdherenceAppServiceClient added in v1.7.62

type WfmAdherenceAppServiceClient interface {
}

WfmAdherenceAppServiceClient is a client for the api.v1alpha1.wfm.WfmAdherenceAppService service.

func NewWfmAdherenceAppServiceClient added in v1.7.62

func NewWfmAdherenceAppServiceClient(httpClient connect_go.HTTPClient, baseURL string, opts ...connect_go.ClientOption) WfmAdherenceAppServiceClient

NewWfmAdherenceAppServiceClient constructs a client for the api.v1alpha1.wfm.WfmAdherenceAppService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.

The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).

type WfmAdherenceAppServiceHandler added in v1.7.62

type WfmAdherenceAppServiceHandler interface {
}

WfmAdherenceAppServiceHandler is an implementation of the api.v1alpha1.wfm.WfmAdherenceAppService service.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL