diff --git a/Notifications/README.md b/Notifications/README.md new file mode 100644 index 0000000..dfff3fc --- /dev/null +++ b/Notifications/README.md @@ -0,0 +1,132 @@ +# HelloID Provisioning – Notification Templates + +This folder contains reusable MJML templates for notifications in HelloID Provisioning. + +The notifications are based on: +- Standard HelloID notification templates +- Practical experience from customer implementations +- Deliberate scope to prevent email overload + +The templates are intended as a starting point. They can be imported into HelloID per customer and customized there, for example for recipients, filters, or subject. + +--- + +## Structure + +Notifications are organized by provisioning event: + +``` +notifications/ + create/ + enable/ + update/ + disable/ + pre-offboard/ +``` + +Within each event there are one or more variants. +Each variant has its own folder with: + +- `template_en.mjml` + The complete MJML template that can be imported directly into HelloID (English version). + +- `template_nl.mjml` + The complete MJML template that can be imported directly into HelloID (Dutch version). + +- `README.md` + Explanation of purpose, recipient, usage and important notes for the notification. + +The numbering (`01-`, `02-`, …) makes the sequence and relationships explicit and ensures that extensions can be added easily later. + +--- + +## Notification Overview + +### Create +Notifications sent when an account is created. + +- **[01-manager-account-details](create/01-manager-account-details)** + Informs the manager about the account details of a new employee (without password) + +- **[02-manager-account-password](create/02-manager-account-password)** + Sends the temporary password in a separate email to the manager (for security) + +- **[03-applicatiebeheer-nieuwe-medewerker](create/03-applicatiebeheer-nieuwe-medewerker)** + Notification to application management about new employee for manual access provisioning + +### Enable +Notifications sent when an account is activated. + +- **[01-welkom-medewerker](enable/01-welkom-medewerker)** + Welcome email to new employee with instructions to set password via SSPR + +- **[02-welkom-medewerker-sspr](enable/02-welkom-medewerker-sspr)** + Extended variant with detailed SSPR instructions (helps reduce support questions) + +### Update +Notifications for changes to existing accounts. + +- **[01-afdelingswijziging-applicatiebeheer](update/01-afdelingswijziging-applicatiebeheer)** + Notification to application management on department change for access management + +### Pre-offboard +Notifications prior to employee exit. + +- **[01-reminder-uitdienst-manager](pre-offboard/01-reminder-uitdienst-manager)** + Reminds manager X days before end date of employee exit for timely handover + +### Disable +Notifications when accounts are disabled. + +- **[01-uitdienst-applicatiebeheer](disable/01-uitdienst-applicatiebeheer)** + Informs application management of employee exit for manual account deactivation + +--- + +## Usage + +### General + +Each notification has its own README with detailed instructions. The general steps are: + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the basic fields (Name, Event, Target System) +4. Import the `template_en.mjml` (English) or `template_nl.mjml` (Dutch) via the **Import MJML** icon (download icon) +5. Replace the URL `https://customer.helloid.com` with your own HelloID portal URL if needed +6. Configure recipient(s), subject and any filters +7. Thoroughly test the notification before deploying to production + +**Note:** All templates are created for the **Microsoft Active Directory** target system. If using a different target system, the variables in the templates must be adjusted. + +### Configure From Address + +Voor het configureren van een custom 'from' adres, zie de [HelloID documentatie](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails). + +### Variabelen + +Voor meer informatie over beschikbare variabelen in notificaties, zie de [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html). + +### Conditionele notificaties + +Voor het instellen van conditional notifications (filters), zie [Custom notification events](https://docs.helloid.com/en/provisioning/notifications--provisioning-/custom-notification-events--conditional-notifications-.html). + +--- + +## Aandachtspunten + +- Alle templates zijn opgesteld in het **Nederlands** +- Templates bevatten geen klant-specifieke informatie - deze moet je zelf invullen +- Test notificaties altijd eerst met testaccounts voordat je ze in productie neemt +- Overweeg CC/BCC voor escalaties of logging naar andere afdelingen + +### Pre-offboard configuratie + +Pre-offboard notificaties vereisen een speciale configuratie in HelloID: + +1. **Person Lifecycle inschakelen** - Pre-offboarding moet worden geconfigureerd in de person lifecycle settings +2. **Aantal dagen instellen** - Bepaal hoeveel dagen vóór de einddatum de notificatie moet worden verstuurd +3. **Timing overwegen** - Kies een periode die voldoende tijd geeft voor overdracht (aanbeveling: 7-14 dagen) + +Voor meer informatie, zie [Pre-offboarding notification event](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notification-events--provisioning-.html#pre-offboarding-notification-event). + diff --git a/Notifications/create/01-manager-account-details/README.md b/Notifications/create/01-manager-account-details/README.md new file mode 100644 index 0000000..5bbe51c --- /dev/null +++ b/Notifications/create/01-manager-account-details/README.md @@ -0,0 +1,69 @@ +# Create Account – Employee Details to Manager + +## Description + +This notification informs the manager when a new account is created. The email contains the account details of the new employee (username, email, employee number, etc.), but **no password** for security reasons. + +The password is sent in a separate email (see `02-manager-account-password`). + +## Configuration + +### Event +- **Create** - When an account is created + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Primary manager +- Variable: `{{ Manager.Accounts.MicrosoftActiveDirectory.mail || Manager.Email || "fallbackemailadres@domain.com" }}` +- **Note:** Update `fallbackemailadres@domain.com` to a valid email address for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `New employee – {{person.displayName}}` + +### Filter (optional) +- Filter on specific departments, employers, or other criteria via custom notification events +- Example: Only for departments A, B, and C of the primary contract +- See [Custom notification events](https://docs.helloid.com/en/provisioning/notifications--provisioning-/custom-notification-events--conditional-notifications-.html) for more information + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Create - Employee Details to Manager") + - **Event**: Select **Create** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. Optional filters can be set via [custom notification events](https://docs.helloid.com/en/provisioning/notifications--provisioning-/custom-notification-events--conditional-notifications-.html) +15. Click **Save** diff --git a/Notifications/create/01-manager-account-details/template_en.mjml b/Notifications/create/01-manager-account-details/template_en.mjml new file mode 100644 index 0000000..e908039 --- /dev/null +++ b/Notifications/create/01-manager-account-details/template_en.mjml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + New employee – {{person.displayName||"Unknown"}} +
+
+
+
+
+ + + + Dear {{person.primaryManager.displayName||"manager"}}, +
+
+ A new employee will start in your team on {{person.primaryContract.startDate}}: {{person.displayName}}. +
+
+ Below are the details of the new employee including the username. + The password for the new employee will be sent in a separate email. +
+
+ Username: {{data.samAccountName}} +
+ Email address: {{data.mail||person.contact.business.email||"unknown"}} +
+ Personnel number: {{person.externalId}} +
+ Department: {{person.primaryContract.department||"unknown"}} +
+ Position: {{person.primaryContract.title||"unknown"}} +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/create/01-manager-account-details/template_nl.mjml b/Notifications/create/01-manager-account-details/template_nl.mjml new file mode 100644 index 0000000..a1114de --- /dev/null +++ b/Notifications/create/01-manager-account-details/template_nl.mjml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + Nieuwe medewerker – {{person.displayName||"Onbekend"}} +
+
+
+
+
+ + + + Beste {{person.primaryManager.displayName||"leidinggevende"}}, +
+
+ Op {{person.primaryContract.startDate}} start een nieuwe medewerker in jouw team: {{person.displayName}}. +
+
+ Onderstaand de gegevens van de nieuwe medewerker inclusief de gebruikersnaam. + In een losse mail zal het wachtwoord van de nieuwe medewerker verstuurd worden. +
+
+ Gebruikersnaam: {{data.samAccountName}} +
+ E-mailadres: {{data.mail||person.contact.business.email||"onbekend"}} +
+ Personeelsnummer: {{person.externalId}} +
+ Afdeling: {{person.primaryContract.department||"onbekend"}} +
+ Functie: {{person.primaryContract.title||"onbekend"}} +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/create/02-manager-account-password/README.md b/Notifications/create/02-manager-account-password/README.md new file mode 100644 index 0000000..9ecd1d5 --- /dev/null +++ b/Notifications/create/02-manager-account-password/README.md @@ -0,0 +1,81 @@ +# Create Account – Password to Manager + +## Description + +This notification is sent to the manager as a follow-up to the first email (`01-manager-account-details`). + +For security reasons, the password is sent in a **separate email**. This email contains only: +- The employee's name (for context) +- The temporary password +- A reminder to change the password on first login + +All other details are in the first email. + +## Configuration + +### Event +- **Create** - When an account is created + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Primary manager +- Variable: `{{ Manager.Accounts.MicrosoftActiveDirectory.mail || Manager.Email || "fallbackemailadres@domain.com" }}` +- **Note:** Update `fallbackemailadres@domain.com` to a valid email address for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `New employee – {{person.displayName}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Only for departments A, B, and C +- Note: These are primary contract data +- **Use the same filter as with `01-manager-account-details`** + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Create - Password to Manager") + - **Event**: Select **Create** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. **Use the same filter** as with notification `01-manager-account-details` +15. Click **Save** + +## Important Notes + +- This notification must **always be used together** with `01-manager-account-details` +- Use **identical filters** for both notifications +- The password is only available during the create event diff --git a/Notifications/create/02-manager-account-password/template_en.mjml b/Notifications/create/02-manager-account-password/template_en.mjml new file mode 100644 index 0000000..f5b8343 --- /dev/null +++ b/Notifications/create/02-manager-account-password/template_en.mjml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + New employee – {{person.displayName||"Unknown"}} +
+
+
+
+
+ + + + Dear {{person.primaryManager.displayName||"manager"}}, +
+
+ Following the previous message about the new employee {{person.displayName}}, we are sending the temporary password in this email. +
+
+ Temporary password: {{data.password}} +
+
+ This password must be changed on first login. +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/create/02-manager-account-password/template_nl.mjml b/Notifications/create/02-manager-account-password/template_nl.mjml new file mode 100644 index 0000000..eebb341 --- /dev/null +++ b/Notifications/create/02-manager-account-password/template_nl.mjml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + Nieuwe medewerker – {{person.displayName||"Onbekend"}} +
+
+
+
+
+ + + + Beste {{person.primaryManager.displayName||"leidinggevende"}}, +
+
+ In aanvulling op het eerdere bericht over de nieuwe medewerker {{person.displayName}}, sturen we in deze mail het tijdelijke wachtwoord. +
+
+ Tijdelijk wachtwoord: {{data.password}} +
+
+ Dit wachtwoord moet bij de eerste keer inloggen worden aangepast. +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/README.md b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/README.md new file mode 100644 index 0000000..27082d6 --- /dev/null +++ b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/README.md @@ -0,0 +1,74 @@ +# Create Account – Notification to Application Management + +## Description + +This notification is sent to application managers when a new account is created. + +The email informs managers that a new employee is starting and contains the relevant account details, so they can grant access to applications not managed via HelloID. + +## Configuration + +### Event +- **Create** - When an account is created + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Application management (fixed email address, e.g., `appmanagement@domain.com`) +- **Note:** Update the email address to the correct one for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `New employee – {{person.displayName}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Only for departments A, B, and C where specific applications are needed +- Note: These are primary contract data + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Create - Application Management Notification") + - **Event**: Select **Create** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. Adjust the filter for departments that need specific applications (see **Filter** section above) +15. Click **Save** + +## Important Notes + +- Use filters to notify only relevant departments +- Consider separate notifications per application/system if needed +- This email does not contain a password \ No newline at end of file diff --git a/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_en.mjml b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_en.mjml new file mode 100644 index 0000000..7817dad --- /dev/null +++ b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_en.mjml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + New employee – {{person.displayName||"Unknown"}} +
+
+
+
+
+ + + Dear application manager, +
+
+ Employee {{person.displayName}} will start on {{person.primaryContract.startDate}} in the position {{person.primaryContract.title||"unknown"}}. +
+
+ Please ensure that this employee receives an account in the relevant application. +
+
+ Username: {{data.samAccountName}} +
+ Email address: {{data.mail||person.contact.business.email||"unknown"}} +
+ Personnel number: {{person.externalId}} +
+ Department: {{person.primaryContract.department||"unknown"}} +
+ Position: {{person.primaryContract.title||"unknown"}} +
+ Start date: {{person.primaryContract.startDate}} +
+ End date: {{person.primaryContract.endDate||"undefined"}} +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_nl.mjml b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_nl.mjml new file mode 100644 index 0000000..c17406f --- /dev/null +++ b/Notifications/create/03-applicatiebeheer-nieuwe-medewerker/template_nl.mjml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + Nieuwe medewerker – {{person.displayName||"Onbekend"}} +
+
+
+
+
+ + + Beste applicatiebeheerder, +
+
+ Op {{person.primaryContract.startDate}} start medewerker {{person.displayName}} met functie {{person.primaryContract.title||"onbekend"}}. +
+
+ Wil je ervoor zorgen dat deze medewerker een account krijgt in de betreffende applicatie? +
+
+ Gebruikersnaam: {{data.samAccountName}} +
+ E-mailadres: {{data.mail||person.contact.business.email||"onbekend"}} +
+ Personeelsnummer: {{person.externalId}} +
+ Afdeling: {{person.primaryContract.department||"onbekend"}} +
+ Functie: {{person.primaryContract.title||"onbekend"}} +
+ Startdatum: {{person.primaryContract.startDate}} +
+ Einddatum: {{person.primaryContract.endDate||"onbepaald"}} +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/disable/01-uitdienst-applicatiebeheer/README.md b/Notifications/disable/01-uitdienst-applicatiebeheer/README.md new file mode 100644 index 0000000..1a40c79 --- /dev/null +++ b/Notifications/disable/01-uitdienst-applicatiebeheer/README.md @@ -0,0 +1,76 @@ +# Disable Account – Notification to Application Management + +## Description + +This notification is sent to application managers when an account is disabled because an employee is leaving. + +The email informs managers about the employee's departure and contains relevant account details and end date, so they can deactivate the account in applications not managed via HelloID. + +## Configuration + +### Event +- **Disable** - When an account is disabled + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Application management (fixed email address, e.g., `appmanagement@domain.com`) +- **Note:** Update the email address to the correct one for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `Employee exit – {{person.displayName}}` +- Or more specific: `Deactivate application X – {{person.displayName}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Only for departments A, B, and C where specific applications are used +- Note: These are primary contract data + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Disable - Employee Exit Application Management") + - **Event**: Select **Disable** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. Adjust the filter if needed for departments with specific applications (see **Filter** section above) +15. Click **Save** + +## Important Notes + +- This email is sent on disable, which typically occurs on the last working day +- Consider `pre-offboard` notifications for timely advance notice +- Use filters to notify only relevant departments +- The end date can be used for planning purposes diff --git a/Notifications/disable/01-uitdienst-applicatiebeheer/template_en.mjml b/Notifications/disable/01-uitdienst-applicatiebeheer/template_en.mjml new file mode 100644 index 0000000..f409627 --- /dev/null +++ b/Notifications/disable/01-uitdienst-applicatiebeheer/template_en.mjml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + Employee exit +
+
+
+
+ + + + Dear colleague, +
+
+ This is an automated notification that an employee is leaving. Please use this information to deactivate the account in any applications you manage, where applicable. +
+
+ The employment contract of {{person.displayName}} ends on {{person.primaryContract.endDate||"undefined"}}. +
+
+ Employee details: +
+ Username: {{data.samAccountName}} +
+ Email address: {{data.mail||person.contact.business.email||"unknown"}} +
+ Personnel number: {{person.externalId}} +
+ Department: {{person.primaryContract.department||"unknown"}} +
+ Position: {{person.primaryContract.title||"unknown"}} +
+
+ Do you have any questions? Please feel free to contact the ICT Helpdesk. +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/disable/01-uitdienst-applicatiebeheer/template_nl.mjml b/Notifications/disable/01-uitdienst-applicatiebeheer/template_nl.mjml new file mode 100644 index 0000000..4aefd7e --- /dev/null +++ b/Notifications/disable/01-uitdienst-applicatiebeheer/template_nl.mjml @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + Medewerker uit dienst +
+
+
+
+ + + + Beste collega, +
+
+ Dit is een geautomatiseerde melding dat een medewerker uit dienst gaat. Met deze gegevens kun je, indien van toepassing, het account deactiveren in de applicatie(s) die jij beheert. +
+
+ Het contract van medewerker {{person.displayName}} eindigt op {{person.primaryContract.endDate||"onbepaald"}}. +
+
+ Gegevens van de medewerker: +
+ Gebruikersnaam: {{data.samAccountName}} +
+ E-mailadres: {{data.mail||person.contact.business.email||"onbekend"}} +
+ Personeelsnummer: {{person.externalId}} +
+ Afdeling: {{person.primaryContract.department||"onbekend"}} +
+ Functie: {{person.primaryContract.title||"onbekend"}} +
+
+ Heb je vragen? Neem dan gerust contact op met de ICT Servicedesk. +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/enable/01-welkom-medewerker/README.md b/Notifications/enable/01-welkom-medewerker/README.md new file mode 100644 index 0000000..e2ff064 --- /dev/null +++ b/Notifications/enable/01-welkom-medewerker/README.md @@ -0,0 +1,77 @@ +# Enable Account – Welcome Message to New Employee + +## Description + +This notification is sent to the new employee when the account is activated (enabled). + +The email contains a welcome message with instructions for setting a password via Self Service Password Reset (SSPR). Instructions are broken down into clear steps with practical tips. + +**Note:** This variant is suitable for environments where employees can set their password themselves via SSPR with verification via mobile number. + +## Configuration + +### Event +- **Enable** - When an account is activated + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Business email of the new employee +- Variable: `{{ data.mail }}` +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `Welcome to {{person.primaryContract.company}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Filter on company name (AD field `Company`) to send a customized welcome message per company +- Note: These are primary contract data + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Enable - Welcome Employee") + - **Event**: Select **Enable** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired (e.g., to the manager) + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. Adjust the filter if needed per company or organizational unit (see **Filter** section above) +15. Click **Save** + +## Important Notes + +- This email is intended for environments with SSPR +- The employee must have a mobile number registered in the system +- Consider variant `02-welkom-medewerker-sspr` for more detailed instructions +- Adjust the instructions if a different password method is used diff --git a/Notifications/enable/01-welkom-medewerker/template_en.mjml b/Notifications/enable/01-welkom-medewerker/template_en.mjml new file mode 100644 index 0000000..9a71700 --- /dev/null +++ b/Notifications/enable/01-welkom-medewerker/template_en.mjml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + Welcome to {{person.primaryContract.company||"our organization"}}! +
+
+
+
+
+ + + + + Dear {{person.name.nickName||"employee"}}, +

+ Welcome to {{person.primaryContract.company||"our organization"}}! +

+ Your account is now active. You have received your login credentials + and a temporary password from your manager. You can use these to log in to our systems. +

+ This email contains some practical tips to help you get started: +

+ [CUSTOMIZE: Add your onboarding information here] +

Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + + This is an automatically generated message. + + + + +
+
\ No newline at end of file diff --git a/Notifications/enable/01-welkom-medewerker/template_nl.mjml b/Notifications/enable/01-welkom-medewerker/template_nl.mjml new file mode 100644 index 0000000..33d907e --- /dev/null +++ b/Notifications/enable/01-welkom-medewerker/template_nl.mjml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + Welkom bij {{person.primaryContract.company||"onze organisatie"}}! +
+
+
+
+
+ + + + + Beste {{person.name.nickName||"medewerker"}}, +

+ Van harte welkom bij {{person.primaryContract.company||"onze organisatie"}}! +

+ Je account is inmiddels actief. Van je leidinggevende heb je je inloggegevens + en een tijdelijk wachtwoord ontvangen. Hiermee kun je inloggen op onze systemen. +

+ In deze e-mail vind je enkele praktische tips om goed van start te gaan: +

+ [AANPASSEN: Voeg hier uw onboardinginformatie in] +

Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + + Dit is een automatisch gegenereerd bericht. + + + + +
+
\ No newline at end of file diff --git a/Notifications/enable/02-welkom-medewerker-sspr/README.md b/Notifications/enable/02-welkom-medewerker-sspr/README.md new file mode 100644 index 0000000..936f617 --- /dev/null +++ b/Notifications/enable/02-welkom-medewerker-sspr/README.md @@ -0,0 +1,83 @@ +# Enable Account – Welcome Message SSPR (Extended) + +## Description + +This notification is an extended variant of `01-welkom-medewerker` and is sent to the new employee when the account is activated. + +The email contains: +- Welcome message +- Detailed step-by-step SSPR instructions +- Explicit explanation of mobile number verification +- Practical tips for first login + +**Difference from variant 01:** This version explicitly explains how mobile number verification works, helping to reduce support questions. + +## Configuration + +### Event +- **Enable** - When an account is activated + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Personal email of the new employee +- Variable: `{{ Person.Contact.Personal.Email || "fallbackemailadres@domain.com" }}` +- **Note:** Update `fallbackemailadres@domain.com` to the correct helpdesk email address for your organization +- The email goes to the personal address so the employee has access before the first working day +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `Welcome to {{person.primaryContract.company}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Filter on company name (AD field `Company`) to send a customized welcome message per company +- Note: These are primary contract data + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Enable - Welcome Employee SSPR") + - **Event**: Select **Enable** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. Adjust the filter if needed per company (see **Filter** section above) +15. Click **Save** + +## Important Notes + +- Suitable for less technically-inclined employees +- Helps reduce support questions about SSPR +- The employee must have a mobile number registered in the system +- More detailed instructions make the email longer diff --git a/Notifications/enable/02-welkom-medewerker-sspr/template_en.mjml b/Notifications/enable/02-welkom-medewerker-sspr/template_en.mjml new file mode 100644 index 0000000..f09877d --- /dev/null +++ b/Notifications/enable/02-welkom-medewerker-sspr/template_en.mjml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + Welcome to {{person.primaryContract.company||"our organization"}} +
+
+
+
+ + + + Dear {{person.name.nickName||person.name.givenname||"employee"}}, +
+
+ Welcome to {{person.primaryContract.company||"our organization"}}. +
+
+ Your account is now active. To log in, you must first set your own password. You can do this through the Microsoft password reset page. +
+
+ Go to: https://passwordreset.microsoftonline.com +
+
+ Click on 'Forgot password' and enter your username. +
+
+ You will then see part of your mobile number on the screen. Enter your full mobile number here to confirm it is your number. +
+
+ You will then receive an SMS with a verification code. Use this code to set a new password. +
+
+ Once you have done this, you can log in to our systems with your username and new password. +
+
+ Here are some practical tips to help you get started: +
+
+ [CUSTOMIZE: Add your onboarding information here] +
+
+ Having trouble setting your password or have questions? Please feel free to contact the ICT Helpdesk. +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/enable/02-welkom-medewerker-sspr/template_nl.mjml b/Notifications/enable/02-welkom-medewerker-sspr/template_nl.mjml new file mode 100644 index 0000000..eaa3f86 --- /dev/null +++ b/Notifications/enable/02-welkom-medewerker-sspr/template_nl.mjml @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + Welkom bij {{person.primaryContract.company||"onze organisatie"}} +
+
+
+
+ + + + Beste {{person.name.nickName||person.name.givenname||"medewerker"}}, +
+
+ Van harte welkom bij {{person.primaryContract.company||"onze organisatie"}}. +
+
+ Je account is inmiddels actief. Om te kunnen inloggen moet je eerst zelf een wachtwoord instellen. Dit doe je via de Microsoft-pagina voor wachtwoordherstel. +
+
+ Ga naar: https://passwordreset.microsoftonline.com +
+
+ Klik op 'Wachtwoord vergeten' en vul je gebruikersnaam in. +
+
+ Daarna zie je een deel van je mobiele nummer op het scherm. Vul hier je volledige mobiele nummer in om te bevestigen dat dit jouw nummer is. +
+
+ Vervolgens ontvang je een sms met een controlecode. Met deze code kun je een nieuw wachtwoord instellen. +
+
+ Nadat je dit hebt gedaan, kun je inloggen op onze systemen met je gebruikersnaam en het nieuwe wachtwoord. +
+
+ Hier zijn nog enkele praktische tips om goed van start te gaan: +
+
+ [AANPASSEN: Voeg hier uw onboardinginformatie in] +
+
+ Lukt het instellen van je wachtwoord niet of heb je vragen? Neem dan gerust contact op met de ICT Servicedesk. +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/pre-offboard/01-reminder-uitdienst-manager/README.md b/Notifications/pre-offboard/01-reminder-uitdienst-manager/README.md new file mode 100644 index 0000000..b22dc15 --- /dev/null +++ b/Notifications/pre-offboard/01-reminder-uitdienst-manager/README.md @@ -0,0 +1,98 @@ +# Pre-offboard – Employee Exit Reminder to Manager + +## Description + +This notification is sent to the manager before an employee's end date (pre-offboarding). + +The email reminds the manager that an employee's employment contract will end soon and advises completing work tasks, handover, and arrangements in a timely manner. + +**Note:** This notification requires pre-offboarding configuration in HelloID (number of days before end date). + +## Configuration + +### Event +- **Pre-offboard** - X days before the end date (configurable in HelloID) + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Primary manager +- Variable: `{{ Manager.Accounts.MicrosoftActiveDirectory.mail || Manager.Email || "fallbackemailadres@domain.com" }}` +- **Note:** Update `fallbackemailadres@domain.com` to a valid email address for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `Employee exit reminder – {{person.displayName}}` +- Or: `Upcoming departure – {{person.displayName}}` + +### Filter (optional) +- Filter on data written to the account of the primary target system (e.g., AD) +- Example: Only for specific departments or companies +- Note: These are primary contract data + +### Pre-offboard Timing +- Configure in HelloID how many days before the end date this notification should be sent +- Recommendation: 7-14 days before end date + +## Usage + +### Create Notification + +1. Ensure pre-offboarding is configured in HelloID (number of days before end date) +2. Open **Notification Configuration** in HelloID Provisioning +3. Click **Create New Notification** +4. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Pre-offboard - Manager Reminder") + - **Event**: Select **Pre-offboard** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +5. Go to the **Message** tab +6. Click the **Import MJML** icon (download icon) in the toolbar on the right +7. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +8. Paste the MJML code into the import screen +9. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +10. Click **Import** + +### Configure Settings + +11. Go to the **Configuration** tab +12. Fill in the fields as described in the **Configuration** section above: + - **Subject** + - **From** (From address) + - **To** (Recipient) +13. Configure CC and/or BCC if desired (e.g., to HR or P&O) + +### Finalize + +14. Review the **Message** tab again and adjust the content if needed +15. Configure optional filters (see **Filter** section above) +16. Click **Save** +17. Test the notification with a test account with an end date in the future + +## Important Notes + +### Pre-offboard Configuration + +Pre-offboard notifications require special configuration in HelloID: + +1. **Enable Person Lifecycle** - Pre-offboarding must be configured in the person lifecycle settings of HelloID +2. **Set Number of Days** - Configure how many days before the end date the notification should be sent +3. **Consider Timing** - Choose a period that gives enough time for handover and completion of work + - Recommendation: 7-14 days before end date + - Too early: manager might forget + - Too late: not enough time for proper handover + +For more information on configuring pre-offboarding, see [Pre-offboarding notification event](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notification-events--provisioning-.html#pre-offboarding-notification-event). + +### Other Important Notes + +- Consider CC to HR or P&O for administrative handling +- This email is informational; further handling follows HR procedures diff --git a/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_en.mjml b/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_en.mjml new file mode 100644 index 0000000..b11f0f3 --- /dev/null +++ b/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_en.mjml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + Employee exit reminder +
+
+
+
+ + + + Dear {{person.primaryManager.displayName||"manager"}}, +
+
+ This is a reminder that the employment contract of {{person.displayName}} will end soon. +
+
+ End date of employment: {{person.primaryContract.endDate||"undefined"}} +
+
+ We recommend completing any pending work, handover, and arrangements before this date. +
+
+ This message is for information purposes only. Further handling of the exit process will proceed through the usual HR procedures. +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_nl.mjml b/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_nl.mjml new file mode 100644 index 0000000..3717c1e --- /dev/null +++ b/Notifications/pre-offboard/01-reminder-uitdienst-manager/template_nl.mjml @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + Herinnering uitdienst medewerker +
+
+
+
+ + + + Beste {{person.primaryManager.displayName||"leidinggevende"}}, +
+
+ Dit is een herinnering dat het dienstverband van {{person.displayName}} binnenkort eindigt. +
+
+ Einddatum dienstverband: {{person.primaryContract.endDate||"onbepaald"}} +
+
+ We adviseren om vóór deze datum eventuele werkzaamheden, overdracht en afspraken af te ronden. +
+
+ Dit bericht is ter informatie. De verdere afhandeling van het uitdienstproces verloopt via de gebruikelijke HR-procedures. +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file diff --git a/Notifications/update/01-afdelingswijziging-applicatiebeheer/README.md b/Notifications/update/01-afdelingswijziging-applicatiebeheer/README.md new file mode 100644 index 0000000..14b08cb --- /dev/null +++ b/Notifications/update/01-afdelingswijziging-applicatiebeheer/README.md @@ -0,0 +1,78 @@ +# Update Account – Department Change to Application Management + +## Description + +This notification is sent to application managers when an employee changes departments. + +The email informs managers that an employee may need access to an application they manage, so they can check and set up access if needed. + +## Configuration + +### Event +- **Update** - When account details are changed + +### From +- `no-reply@helloid.com` or a custom domain +- See [Configure a custom 'from' address for emails](https://docs.helloid.com/en/set-up-helloid.html#configure-a-custom--from--address-for-emails) for more information + +### To +- Application management (fixed email address, e.g., `appmanagement@domain.com`) +- **Note:** Update the email address to the correct one for your organization +- For more information about variables, see [Notifications variable reference](https://docs.helloid.com/en/provisioning/notifications--provisioning-/notifications-variable-reference--provisioning-.html) + +### Subject +- `Activate application X` (adjust to specific application) +- Or more general: `Account update for employee` + +### Filter (required) +- **Filtering on the new department** is essential for this notification +- Example: Only when someone gets the primary department X +- Note: Filtering can be done on data from the primary target system (e.g., AD) +- These are primary contract data + +## Usage + +### Create Notification + +1. Open **Notification Configuration** in HelloID Provisioning +2. Click **Create New Notification** +3. Fill in the following fields: + - **Name**: Give the notification a recognizable name (e.g., "Update - Department Change Application Management") + - **Event**: Select **Update** + - **Target System**: Select the primary target system (e.g., Active Directory) + - **Notification System**: Leave as **Email** (default) + - **Note:** This template is created for Microsoft Active Directory. If using a different target system, the variables in the template must be adjusted + +### Import Template + +4. Go to the **Message** tab +5. Click the **Import MJML** icon (download icon) in the toolbar on the right +6. Open one of the template files from this folder and copy the full content: + - [template_nl.mjml](template_nl.mjml) - Dutch version + - [template_en.mjml](template_en.mjml) - English version +7. Paste the MJML code into the import screen +8. Replace the URL `https://customer.helloid.com` in the code with your own HelloID portal URL if needed +9. Click **Import** + +### Configure Settings + +10. Go to the **Configuration** tab +11. Fill in the fields as described in the **Configuration** section above: + - **Subject** (adjust to the specific application) + - **From** (From address) + - **To** (Recipient) +12. Configure CC and/or BCC if desired + +### Finalize + +13. Review the **Message** tab again and adjust the content if needed +14. **Required:** Configure a filter on the specific department(s) (see **Filter** section above) +15. Click **Save** +16. Test the notification by moving a test account to the filtered department + +## Important Notes + +- **Filter is essential** - without a filter, this email will be sent on every update +- Consider separate notifications per department/application +- Adjust the subject so it's clear which application this is for +- This notification triggers on changes, not on new accounts diff --git a/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_en.mjml b/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_en.mjml new file mode 100644 index 0000000..30e677b --- /dev/null +++ b/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_en.mjml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + Account update for employee +
+
+
+
+ + + + Dear colleague, +
+
+ Employee {{person.displayName}} has changed departments and may require access to an application that you manage. +
+
+ Employee details: +
+ Username: {{data.samAccountName}} +
+ Email address: {{data.mail||person.contact.business.email||"unknown"}} +
+ Personnel number: {{person.externalId}} +
+ Department: {{person.primaryContract.department||"unknown"}} +
+ Position: {{person.primaryContract.title||"unknown"}} +
+
+ Could you please check if this employee needs access to your application and set it up if necessary? +
+
+ Kind regards, +
+ ICT Helpdesk +
+
+
+ + + + This is an automatically generated message. + + + +
+
\ No newline at end of file diff --git a/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_nl.mjml b/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_nl.mjml new file mode 100644 index 0000000..3838a13 --- /dev/null +++ b/Notifications/update/01-afdelingswijziging-applicatiebeheer/template_nl.mjml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + Accountwijziging medewerker +
+
+
+
+ + + + Beste collega, +
+
+ Medewerker {{person.displayName}} is van afdeling gewijzigd en heeft mogelijk toegang nodig tot een applicatie die door jou wordt beheerd. +
+
+ Gegevens van de medewerker: +
+ Gebruikersnaam: {{data.samAccountName}} +
+ E-mailadres: {{data.mail||person.contact.business.email||"onbekend"}} +
+ Personeelsnummer: {{person.externalId}} +
+ Afdeling: {{person.primaryContract.department||"onbekend"}} +
+ Functie: {{person.primaryContract.title||"onbekend"}} +
+
+ Wil je controleren of deze medewerker toegang nodig heeft tot de bijbehorende applicatie en dit indien nodig inrichten? +
+
+ Met vriendelijke groet, +
+ ICT Servicedesk +
+
+
+ + + + Dit is een automatisch gegenereerd bericht. + + + +
+
\ No newline at end of file