Data sync workflows#
Overview#
Data sync workflows in Automate are processes that manage the synchronization of data between different systems or components.
The data sync workflows described in this topic form part of the set of workflows that are carried out when adding a new CUCM cluster. The name and description of each calling workflow is indicated, as well as the corresponding information for called or included workflows.
UserCucmSyncAdd#
Include PWF: UserCucmSyncAdd_ValidateData: Validate the CUCM user before any work is done. If errors are found the CUCM user will be purged again and transaction will exit.
Include PWF: UserDiscoverApps : Discover all user apps (fn.user_discover_apps pwf.username)
Initialize minimum user input: user_input_role_selfservice, pwf.user_detail.is_cucm_user, entitlement_profile
Add a new Local User if it does not exist using just the username as input and role as selfservice
Update Local User if it exists
Discover all user apps again after user add
Include PWF UserMoveCucmUsingFilter: Move the CUCM user if it matches a filter
Include PWF UserUpdateApps: Update data on all apps where data is mapped using the latest user data as input
Include PWF UserCucmOverbuild: Move CUCM user if configured in Global Flow-Through-Provisioning settings
Include PWF UserCucmFlowThroughProvisioning: Flow through provision user if configured in Site Defaults Doc settings
UserCucmSyncUpdate#
This data sync workflow updates a user from CUCM sync.
Include PWF UserHandleUserNameChange: Handle CUCM username change if the username changed (this also has its own call to UserDiscoverApps inside it).
Update user if it exists
If VOSS user, also known as “Local User” (
data/User) does NOT exist, then CREATE it at the same node ascucm/Userusing just the username as input, and role as “selfservice”Include PWF: UserDiscoverApps : Discover all user apps
Include PWF: UserUpdateApps : Update data on all apps where data is mapped using the latest user data as input
UserCucmSyncRemove#
This data sync workflow removes a user from CUCM sync.
Build a list of associated Device Objects
Build a list of associated Device Profile Objects
Include PWF UserDiscoverApps: Discover all user apps
Include PWF RemoveDeviceObjectFromCucmPWF: REMOVE each Phone (cucm/Phone) via [RemoveDeviceObjectFromCucmPWF]
Include PWF RemoveDeviceObjectFromCucmPWF: REMOVE each cucm/DeviceProfile via workflow [RemoveDeviceObjectFromCucmPWF]
Remove Voicemail Account (device/cuc/User) if retain Voicemail is set to false and the removed User had an associated Voicemail Account
Remove User only if its new sync source is LOCAL/CUC/WEBEX_TEAMS user AND retain Voicemail / Webex Teams are set to false AND User does not have other services
HcsAddUpdateCucmPhoneDsPWF
Include PWF HcsAddUpdateCucmPhoneForeachUserPWF: (lines_removed)
Include PWF LineDeletion_after_DeviceUpdate_PWF: INCLUDE sub-pwf to CLEANUP all associated cucm/Line instances , depending on Line Delete Preferences
LineDeletion_PhoneDataSync_PWF#
This data sync workflow is a shared PWF, used typically by data-syncs, to maintain/delete cucm/Lines and INI after the sync detected that, for example, device was removed.
SET var [pwf.deletedDeviceDat]: if the calling/parent PWF had already defined this var, then use that pre-defined value, else default to use first [previous] or else [input] if previous is not available
SET pwf VARS: unique CUCM line, deviceOwner, allowLineDeletion, allowLineUpdate, lineUpdateCft, lineHn, lines_removed
Include PWF LineDeletionWrapperProcessLinesListPWF: If either of the LineDeletion-prefs are being used / have been set, then proceed with: ForEach line, run the line cleanup/maintainance workflow
LineDeletion_after_DeviceUpdate_PWF#
To maintain/delete cucm/Lines and INI after the sync detected that e.g. device was removed
If either of the LineDeletion-prefs are being used / have been set, then proceed with: ForEach line, run the line cleanup/maintainance workflow:
Includes LineDeletionWrapperProcessLinesListPWF - If either of the LineDeletion-prefs are being used / have been set, then proceed with this line of workflows.
For each line, run the line cleanup/maintainance workflow = LineDeletion_ProcessLine_PWF (remove device/cucm/Line)
Includes RemoveAgentLineRelPWF” (Remove Agent Line Relation will fire if it is not an update via Sync or if it is an Sync update and lines have been removed.)
Remove relation/HcsCucmCcTagREL
HcsPreSyncSipGwSiptrunkUpdatePWF#
This data sync workflow updates SipTrunk field in SIP Gateway if siptrunk name changes.
Includes: HcsPreSyncUpdateSipGwPWF
This workflow updates SipTrunk field in SIP Gateway if siptrunk fields (ipAddress, port) change.
PWF_HcsPostSyncSipGwSiptrunkDeletePWF#
This data sync workflow deletes SIP GW which is using this SIP trunk.
Includes: HcsPostSyncDeleteSipGwPWF
Removes relation/HcsSipGwREL where name = input.sipgw.name