You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/governance/how-to-lifecycle-workflow-sync-attributes.md
+65-40Lines changed: 65 additions & 40 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,18 +7,20 @@ manager: amycolannino
7
7
ms.service: active-directory
8
8
ms.workload: identity
9
9
ms.topic: overview
10
-
ms.date: 09/12/2023
10
+
ms.date: 09/18/2023
11
11
ms.subservice: compliance
12
12
ms.author: owinfrey
13
13
ms.collection: M365-identity-device-management
14
14
---
15
15
16
16
# How to synchronize attributes for Lifecycle workflows
17
-
Workflows, contain specific tasks, which can run automatically against users based on the specified execution conditions. Automatic workflow scheduling is supported based on the employeeHireDate and employeeLeaveDateTime user attributes in Microsoft Entra ID.
17
+
18
+
Workflows contain specific tasks, which can run automatically against users based on the specified execution conditions. Automatic workflow scheduling is supported based on the employeeHireDate and employeeLeaveDateTime user attributes in Microsoft Entra ID.
18
19
19
20
To take full advantage of Lifecycle Workflows, user provisioning should be automated, and the scheduling relevant attributes should be synchronized.
20
21
21
22
## Scheduling relevant attributes
23
+
22
24
The following table shows the scheduling (trigger) relevant attributes and the methods of synchronization that are supported.
23
25
24
26
|Attribute|Type|Supported in HR Inbound Provisioning|Support in Microsoft Entra Connect Cloud Sync|Support in Microsoft Entra Connect Sync|
@@ -37,11 +39,11 @@ This document explains how to set up synchronization from on-premises Microsoft
37
39
38
40
## Understanding EmployeeHireDate and EmployeeLeaveDateTime formatting
39
41
40
-
The EmployeeHireDate and EmployeeLeaveDateTime contain dates and times that must be formatted in a specific way. This means that you may need to use an expression to convert the value of your source attribute to a format that will be accepted by the EmployeeHireDate or EmployeeLeaveDateTime. The table below outlines the format that is expected and provides an example expression on how to convert the values.
42
+
The EmployeeHireDate and EmployeeLeaveDateTime contain dates and times that must be formatted in a specific way. This means that you may need to use an expression to convert the value of your source attribute to a format that will be accepted by the EmployeeHireDate or EmployeeLeaveDateTime. The following table outlines the format that is expected and provides an example expression on how to convert the values.
|Workday to Active Directory User Provisioning|FormatDateTime([StatusHireDate], , "yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ")|On-premises AD string attribute|[Attribute mappings for Workday](../saas-apps/workday-inbound-tutorial.md#below-are-some-example-attribute-mappings-between-workday-and-active-directory-with-some-common-expressions)|
46
+
|Workday to Active Directory User Provisioning|FormatDateTime([StatusHireDate], "yyyy-MM-ddzzz", "yyyyMMddHHmmss.fZ")|On-premises AD string attribute|[Attribute mappings for Workday](../saas-apps/workday-inbound-tutorial.md#below-are-some-example-attribute-mappings-between-workday-and-active-directory-with-some-common-expressions)|
45
47
|SuccessFactors to Active Directory User Provisioning|FormatDateTime([endDate], ,"M/d/yyyy hh:mm:ss tt","yyyyMMddHHmmss.fZ")|On-premises AD string attribute|[Attribute mappings for SAP Success Factors](../saas-apps/sap-successfactors-inbound-provisioning-tutorial.md)|
46
48
|Custom import to Active Directory|Must be in the format "yyyyMMddHHmmss.fZ"|On-premises AD string attribute||
47
49
|Microsoft Graph User API|Must be in the format "YYYY-MM-DDThh:mm:ssZ"|EmployeeHireDate and EmployeeLeaveDateTime||
@@ -50,7 +52,7 @@ The EmployeeHireDate and EmployeeLeaveDateTime contain dates and times that must
50
52
51
53
For more information on expressions, see [Reference for writing expressions for attribute mappings in Microsoft Entra ID](../app-provisioning/functions-for-customizing-application-data.md)
52
54
53
-
The expression examples above use endDate for SAP and StatusHireDate for Workday. However, you may opt to use different attributes.
55
+
The expression examples in the table use endDate for SAP and StatusHireDate for Workday. However, you may opt to use different attributes.
54
56
55
57
For example, you might use StatusContinuousFirstDayOfWork instead of StatusHireDate for Workday. In this instance your expression would be:
For more attributes, see the [Workday attribute reference](../app-provisioning/workday-attribute-reference.md) and [SAP SuccessFactors attribute reference](../app-provisioning/sap-successfactors-attribute-reference.md)
78
80
79
-
80
81
## Importance of time
81
82
To ensure timing accuracy of scheduled workflows it’s crucial to consider:
82
83
83
84
- The time portion of the attribute must be set accordingly, for example the `employeeHireDate` should have a time at the beginning of the day like 1AM or 5AM and the `employeeLeaveDateTime` should have time at the end of the day like 9PM or 11PM
84
-
- The Workflows won't run earlier than the time specified in the attribute, however the [tenant schedule (default 3h)](customize-workflow-schedule.md) may delay the workflow run. For instance, if you set the `employeeHireDate` to 8AM but the tenant schedule doesn't run until 9AM, the workflow won't be processed until then. If a new hire is starting at 8AM, you would want to set the time to something like (start time - tenant schedule) to ensure it had run before the employee arrives.
85
+
- The Workflows won't run earlier than the time specified in the attribute, however the [tenant schedule (default 3h)](customize-workflow-schedule.md) may delay the workflow run. For instance, if you set the `employeeHireDate` to 8AM but the tenant schedule doesn't run until 9AM, the workflow won't be processed until then. If a new hire is starting at 8AM, you would want to set the time to something like (start time - tenant schedule) to ensure it runs before the employee arrives.
85
86
- It's recommended, that if you're using temporary access pass (TAP), that you set the maximum lifetime to 24 hours. Doing this will help ensure that the TAP hasn't expired after being sent to an employee who may be in a different timezone. For more information, see [Configure Temporary Access Pass in Microsoft Entra ID to register Passwordless authentication methods.](../authentication/howto-authentication-temporary-access-pass.md#enable-the-temporary-access-pass-policy)
86
87
- When importing the data, you should understand if and how the source provides time zone information for your users to potentially make adjustments to ensure timing accuracy.
## Create a custom sync rule in Microsoft Entra Connect cloud sync for EmployeeHireDate
92
-
The following steps will guide you through creating a synchronization rule using cloud sync.
91
+
The following steps guide you through creating a synchronization rule using cloud sync.
93
92
1. In the Microsoft Entra admin center, browse to > **Hybrid management** > **Microsoft Entra Connect**.
94
-
2. Select **Manage Microsoft Entra cloud sync**.
95
-
3. Under **Configuration**, select your configuration.
96
-
4. Select **Click to edit mappings**. This link opens the **Attribute mappings** screen.
97
-
5. Select **Add attribute**.
98
-
6. Fill in the following information:
93
+
1. Select **Manage Microsoft Entra cloud sync**.
94
+
1. Under **Configuration**, select your configuration.
95
+
1. Select **Click to edit mappings**. This link opens the **Attribute mappings** screen.
96
+
1. Select **Add attribute**.
97
+
1. Fill in the following information:
99
98
- Mapping Type: Direct
100
-
- Source attribute: extensionAttribute1
99
+
- Source attribute: msDS-cloudExtensionAttribute1
101
100
- Default value: Leave blank
102
101
- Target attribute: employeeHireDate
103
102
- Apply this mapping: Always
104
-
7. Select **Apply**.
105
-
8. Back on the **Attribute mappings** screen, you should see your new attribute mapping.
106
-
9. Select **Save schema**.
103
+
:::image type="content" source="media/how-to-lifecycle-workflow-sync-attributes/edit-cloud-attribute-mapping.png" alt-text="Screenshot of the cloud attribute mapping.":::
104
+
1. Select **Apply**.
105
+
1. Back on the **Attribute mappings** screen, you should see your new attribute mapping.
106
+
1. Select **Save schema**.
107
107
108
108
For more information on attributes, see [Attribute mapping in Microsoft Entra Connect cloud sync.](../hybrid/cloud-sync/how-to-attribute-mapping.md)
## How to create a custom sync rule in Microsoft Entra Connect for EmployeeHireDate
113
-
The following example will walk you through setting up a custom synchronization rule that synchronizes the Active Directory attribute to the employeeHireDate attribute in Microsoft Entra ID.
114
-
111
+
The following example walks you through setting up a custom synchronization rule that synchronizes the Active Directory attribute to the employeeHireDate attribute in Microsoft Entra ID.
115
112
1. Open a PowerShell window as administrator and run `Set-ADSyncScheduler -SyncCycleEnabled $false` to disable the scheduler.
116
-
2. Go to Start\Azure AD Connect\ and open the Synchronization Rules Editor
117
-
3. Ensure the direction at the top is set to **Inbound**.
118
-
4. Select **Add Rule.**
119
-
5. On the **Create Inbound synchronization rule** screen, enter the following information and select **Next**.
113
+
1. Go to Start\Azure AD Connect\ and open the Synchronization Rules Editor
114
+
1. Ensure the direction at the top is set to **Inbound**.
115
+
1. Select **Add Rule.**
116
+
1. On the **Create Inbound synchronization rule** screen, enter the following information and select **Next**.
120
117
- Name: In from AD - EmployeeHireDate
121
118
- Connected System: contoso.com
122
119
- Connected System Object Type: user
123
120
- Metaverse Object Type: person
124
121
- Precedence: 200
125
122

126
-
6. On the **Scoping filter** screen, select **Next.**
127
-
7. On the **Join rules** screen, select **Next**.
128
-
8. On the **Transformations** screen, Under **Add transformations,** enter the following information.
123
+
1. On the **Scoping filter** screen, select **Next.**
124
+
1. On the **Join rules** screen, select **Next**.
125
+
1. On the **Transformations** screen, Under **Add transformations,** enter the following information.
129
126
- FlowType: Direct
130
127
- Target Attribute: employeeHireDate
131
128
- Source: msDS-cloudExtensionAttribute1
132
129

133
-
9. Select **Add**.
134
-
10. In the Synchronization Rules Editor, ensure the direction at the top is set to **Outbound**.
135
-
11. Select **Add Rule.**
136
-
12. On the **Create Outbound synchronization rule** screen, enter the following information and select **Next**.
130
+
1. Select **Add**.
131
+
1. In the Synchronization Rules Editor, ensure the direction at the top is set to **Outbound**.
132
+
1. Select **Add Rule.**
133
+
1. On the **Create Outbound synchronization rule** screen, enter the following information and select **Next**.
137
134
- Name: Out to Microsoft Entra ID - EmployeeHireDate
138
135
- Connected System: <your tenant>
139
136
- Connected System Object Type: user
140
137
- Metaverse Object Type: person
141
138
- Precedence: 201
142
-
13. On the **Scoping filter** screen, select **Next.**
143
-
14. On the **Join rules** screen, select **Next**.
144
-
15. On the **Transformations** screen, Under **Add transformations,** enter the following information.
139
+
1. On the **Scoping filter** screen, select **Next.**
140
+
1. On the **Join rules** screen, select **Next**.
141
+
1. On the **Transformations** screen, Under **Add transformations,** enter the following information.
145
142
- FlowType: Direct
146
143
- Target Attribute: employeeHireDate
147
144
- Source: employeeHireDate
148
145

149
-
16. Select **Add**.
150
-
17. Close the Synchronization Rules Editor
151
-
18. Enable the scheduler again by running `Set-ADSyncScheduler -SyncCycleEnabled $true`.
146
+
1. Select **Add**.
147
+
1. Close the Synchronization Rules Editor
148
+
1. Enable the scheduler again by running `Set-ADSyncScheduler -SyncCycleEnabled $true`.
152
149
153
150
> [!NOTE]
154
151
>-**msDS-cloudExtensionAttribute1** is an example source.
@@ -157,6 +154,33 @@ The following example will walk you through setting up a custom synchronization
157
154
158
155
For more information, see [How to customize a synchronization rule](../hybrid/connect/how-to-connect-create-custom-sync-rule.md) and [Make a change to the default configuration.](../hybrid/connect/how-to-connect-sync-change-the-configuration.md)
159
156
157
+
## Edit attribute mapping in the provisioning application
158
+
159
+
Once you have set up your provisioning application, you're able to edit its attribute mapping. When the app is created, you get a list of default mappings between your HRM and Active Directory. From there you can either edit the existing mapping, or add new mapping.
160
+
161
+
To update this mapping, you'd do the following:
162
+
163
+
1. Sign in to the [Microsoft Entra admin center](https://entra.microsoft.com) as at least a [Global Administrator](../roles/permissions-reference.md#global-administrator).
164
+
165
+
1. Browse to **Identity** > **Applications** > **Enterprise applications**.
166
+
167
+
1. Open your provisioned application.
168
+
169
+
1. Select Provisioning and then select **Edit attribute Mapping**.
170
+
171
+
1. Select **Show advanced options**, and then select edit Attribute list for On Premise Active Directory.
172
+
:::image type="content" source="media/how-to-lifecycle-workflow-sync-attributes/edit-on-prem-attribute.png" alt-text="Screenshot of editing on-premises attribute.":::
173
+
1. Add your source attribute(s) created as Type String, and select on the CheckBox for required.
174
+
:::image type="content" source="media/how-to-lifecycle-workflow-sync-attributes/edit-attribute-list.png" alt-text="Screenshot of source api list.":::
175
+
> [!NOTE]
176
+
> The number, and name, of source attributes added will depend on which attributes you are syncing.
177
+
1. Select Save.
178
+
179
+
1. From there you must map the HRM attributes to the added Active Directory attributes. To do this, Add New Mapping using an Expression.
180
+
181
+
1. Your expression must match the formatting found in the [Understanding EmployeeHireDate and EmployeeLeaveDateTime formatting](how-to-lifecycle-workflow-sync-attributes.md#understanding-employeehiredate-and-employeeleavedatetime-formatting) section.
182
+
:::image type="content" source="media/how-to-lifecycle-workflow-sync-attributes/attribute-formatting-expression.png" alt-text="Screenshot of setting attribute format.":::
0 commit comments