As of today, most engineers would expect at least the changes made in projects to be up to date. The implemented modifications should be accessible by the team. In addition, Valispace has introduced ‘Automations’ within the software that helps the user customise a rule that is automatically implemented at the user’s convenience.

The word “automation” itself is self-explanatory but to get into the details, most engineers want to create, update or delete the elements or trigger some actions automatically. Also, some engineers want to be notified each time when a change occurs. Engineers prefer to automatically run calculations to keep the project up to date and running in order. Automations in valispace are designed to fulfil the above requirements.

Flow chart of Automations

The image below shows the general steps and the possibilities to create automation. The user can create automation by defining the three i.e When, Trigger and Actions.

Types of Automation

There are three possible types of automation in valispace.

  • Executed based on schedule or every X amount of time

  • Executed when data is created, updated, or deleted

  • Executed manually by a user or another automation

Basic steps for creating automation are shown in the gif below. To open ‘Automations’, the user should go to the home button/project module where ‘Automations’ is found under the “collaboration” section. To create an automation, the user should click on the ‘+’ sign on the right side below. Upon clicking, a pop-up window appears. In the pop-up window, the user should choose a name and click on ‘Create’. In the automation created, under ‘When’ the user can select the three possible types of automation, as given above.

In automation, there are three steps for a user to set up, as shown in the image below.

  1. Name: The name that is chosen for the automation along with a description in which the user can describe the automation (1).

  2. When: The user can choose the type of automation (2).

  3. Trigger: The user chooses the objects, i.e. modules or requirements, or variables that shall change (3).

  4. Actions: The user can choose the type of action that should be automated, such as sending notifications, changing values or running time sequences, etc. (4). The actions can be one or combined with multiple actions.

Executed based on schedule or every X amount of time

The user can start automation at any given time/schedule or any number of times using this option.

In “executed based on schedule or every X amount of time”, there are two types:

  • Schedule: The user can use ‘Schedule’ to automatically add, remove or rewrite a file at a specified time. In this automation, the user can not only select data types such as components, and requirements but also the fields (name, description, ID, tags, and so on) to which the changes should be applied. All the present features and options are shown in the image below.

In the above images, all the options present in the ‘Trigger’ are explained as follows:

  1. Users can choose the day on which the automation should occur

  2. Timezone - The user has to select the suitable timezone as per the current location

  3. Hour, Minute - The exact hours and minutes the automation should take place are inserted based on 24-hour timings.

The gif below shows a small user case to run a script. The script, ‘Battery_Capacity’ should be run on the day and time given by the user in the “TRIGGER” section. For this, in “ACTIONS”, the user shall choose “Run script” and select the script “Battery_Capacity”. Once the automation is saved, on every Thursday at 9:00 AM, the script is run automatically. If needed, the user can deactivate the automation by selecting “False” in the “Active” column.

  • Periodical: This is time-based automation where the user can set a specific time and date at which a change/action should occur. The user can select a particular date and time to run automation, select X amount of time to run automation, send notifications to the users via email or notification message, Copy, copy and connect or copy and follow requirements and components, change attribute values, activate or deactivate automation, run a time sequence or a script.

In the above image, the set-up features are shown for Periodical type (1), and in ‘run every’ (2), the user can choose between days, hours, or minutes for which the automation should run. It loops the automation based on the time selected.

Suppose the elements or files should be updated every week, the user can run the automation every once a week automatically using ‘executed based on schedule or every X amount of time’.


The gif below shows how the time sequence is run every 2 days. Periodical automation loops itself at every time given by the user. In this example, the user selects ‘Run every’ as 2 days in “TRIGGER”. The user then chooses ‘Run time sequence’ as the action and selects the name of the time sequence ‘PowerConsumption’. Once the automation is saved, in the time sequences module it can be seen that ‘PowerConsumption’ is run every 2 days. To stop the automation, the user should deactivate the automation by selecting ‘False’ in the ‘Active’ column.

Executed when data is created, updated, or deleted

In this type of automation, the user gets notified each time a data type is created, updated, or deleted. The user also has an option to select specific objects to keep track of.

There are three methods through which the user can get notified

  1. Notifications: The user gets notified with a message within the software at the notification bar represented as a bell icon.

  2. Email: The user gets notified with an email that is given in the automation. The user can add as many email IDs as they wish to keep the team updated whenever a change occurs.

  3. Notification and Email: If the user wants to get notified through email and notifications within the software, the user can use this option.

Other features within ‘executed when data is created, updated, or deleted’ are explained below:

  1. Type: The user can select the type of elements such as components, valis, and requirements (1)

  2. Any object/Specific object: The user has the choice to keep track of specific objects or in general any object (2)

  3. Action: The user gets notified each time any data type is created, updated, or deleted. (3)


The gif below shows that the user is notified when a new component is created. As shown in the gif, the user has selected the ‘type’ as components and ‘Actions’ as ‘created’. In “ACTIONS”, the user selects the ‘Send notification and/or email’. In ‘type’, there are three notification types as mentioned above from which ‘Notification’ is selected and the users/groups are mentioned. In ‘Messages’, the user can type whatever has to be notified. Once the automation is saved and a new component ‘Motor’ is created in the components module, a notification pops up on the bell icon. In the notification sidebar, the message ‘Created’ is seen when clicking on the bell icon.

A number of such automation can be created using the three automation types. At present, ‘Executed manually by a user or another automation’ is still not implemented.

Executed manually by a user or another automation

If the user wants an option to run automation manually or whenever needed, the user has an option to choose ‘Executed manually by a user or another automation. In this automation type, the user can directly select the action that is needed. There is a run icon that is present in the actions column wherein the user can manually run the automation. This is useful when the user wants to copy requirements or specifications multiple times or run scripts or time sequences without necessarily getting into the modules.


The GIF below is a simple example wherein a specification named ‘System_specification’ is copied into a folder named ‘Function_folder’. Once the automation is saved, the ‘run' icon in the actions column becomes visible. By clicking on the run icon, the action is performed. Now, the user can go to the requirements module and check the 'Function_folder’ to see if the specification is copied into it.