From manual to autonomous: the evolution of signature updates
Have you ever considered how important corporate culture is? Personalized email signatures, standardized fonts, and other details make communication clearer and more pleasant.
But do you know how complex it is to update email signatures for every employee in a company? We’d like to share our experience in dealing with this task.
Initial challenge
The initial requirement was simple: update email signatures twice a year for every employee.
Our first approach involved sending out an archive to each employee. This archive contained an executable file that, when launched, prompted the user to enter their name and surname. Based on this input, the tool generated the necessary signature files, which the employee then had to place manually in the Outlook signature directory.
This process had to be repeated every time the signature changed.
Although this method worked, some employees skipped or ignored emails from the IT department :) and didn’t update their signatures, while others simply didn’t feel like doing any manual work.
Scaling the process: first automation attempt
Some time later, our company required signature updates 4–5 times a year. To eliminate the human factor, we needed to change the approach, and we came to the following solution:
A script was created, which:
- Created a task in Task Scheduler.
- Asked for the user's name and surname only once.
- Ran the main script on a scheduled basis.
- Placed the signature files into the correct Outlook signature folder.
This method was an improvement over the previous solution, as a lot of manual work was automated.
But it still had shortcomings, as we had no control over errors or whether the task executed successfully.
Final solution: a fully automated procedure
With growing demands to update signatures more than 10 times per year, and with the number of employees increasing, we had to invent a fully automatic solution.
Our team developed an autonomous agent that significantly improved the process.
How the agent works
- The agent’s key files and scripts are stored in an Azure Storage Account.
- A detection script runs through Microsoft Intune (a cloud-based, unified endpoint management service that simplifies and centralizes the management of corporate and BYOD devices) to check whether the agent is installed on the employee’s device.
- If not, a remediation script downloads the agent from the Azure Storage Account and installs it as a service.
- The installed agent runs a script that determines the employee’s name and surname from SharePoint (based on the username on the device), then generates the signature files and places them in the appropriate Outlook signatures directory.
Benefits of using the agent
- Complete autonomy without the need for user input.
- Self-recovery through regular file checks via Intune Admin Center.
- Centralized schedule management.
- Automatic error logging and reporting to the technical team via Intune.
- Ensures consistent execution
across all employees.
Technical implementation details
At its core, the main service script runs indefinitely in a loop, triggering the signature update script at scheduled intervals using Start-Sleep delays.
The frequency of execution (in minutes) is defined directly in the script. It refers to a configuration file where the last execution timestamp is stored. The script calculates the time difference between the current time and the last recorded execution, and if the difference exceeds the defined interval, it proceeds to run.
Signature update script workflow
- Determines the current logged-in user on the machine.
- Builds the path to the local Outlook signatures directory.
- Establishes a connection to SharePoint.
- Checks whether the user's name exists in the SharePoint list and retrieves required data if present.
- Downloads the signature templates from the Azure Storage Account.
- Injects the user-specific data into the templates.
- Places the finalized signature files into the Outlook signatures folder.
The script then
- Updates the script JSON config file with the current execution timestamp.
- Updates the SharePoint JSON config file with the last known modification timestamp of the template.
If the template timestamp in the config file matches the one on the Azure Storage, no new files are downloaded. If there's a difference, the new templates are pulled and applied — this is how updates are automatically propagated.
How a signature update is triggered
- New templates are created and uploaded.
- The agent detects a change in timestamp.
- The updated templates are downloaded.
- Each template is personalized for the employee.
- The new signature files are placed into the correct Outlook folder.
Solution architecture
The architecture of this solution can be visualized as follows:
As a result, we achieved our goal: email signatures are now updated automatically, without any user input, and for every employee.
This story illustrates how attention to detail and a commitment to continuous improvement can significantly enhance and automate even minor internal processes.
An example of the latest Xpand signature update
Would you like to improve your internal processes or automate routine tasks?
Learn what Xpand can do for you: https://www.xpandsoftware.com/services