Release notes March 2024

PARTNER FRAMEWORK: Allow to get/set Partner website settings

As part of our Partner Framework, we have the concept of 'Partner settings'. These are settings that can be shared between OTYS and the partner and in an integration can for example define the permissions & preferences for the partner application. Partners are able to use OWS methods 'Otys.Services.SsoService.getSetting' & 'Otys.Sevices.SsoService.setSetting' to retrieve & set these partner settings. In this concept it was already possible to get & set 'client settings' (linked to the entire client) or 'user settings' (linked to a specific user of the client). Now this functionality also supports 'website settings' (linked to a specific website of the client). In the request of both methods partners are able to provide an additional (optional) website parameter for website settings. In the response we are then providing the 'value_website' and taking this into account when defining the (final) 'value' of the website.

WORKFLOWS: Possibility to skip processing screen when triggering partner action

We have previously created a generic solution 'Go! Partner custom actions' which allows us to open partner interfaces, by clicking a button. It is also possible to trigger these custom actions through workflow. If you do so, it would always show you a confirmation modal. Since various partner actions don't immediately actually do something (and require additional user interaction before something really changes), we therefore have created an option to skip this confirmation modal. In the workflow action 'PAR: Trigger custom action' we now show an additional checkbox 'Skip processing screen' (by default unchecked). If this new checkbox is checked, the confirmation modal of step is be skipped and the partner action is immediately be executed. Please note this confirmation modal will be shortly shown to avoid issues (since the generic functionality expects this modal to properly execute the workflow).

GENERAL: Instant Match for Candidate & Vacancy module

Within OTYS we have the option to match candidates to vacancies and vice versa. This is done in the general list manager normaly but you can also use hunt and select. We wanted to do this from the detail aswell to see the best matches based on ether the match criteria OR a matching template. When you configure your detail view you now have the option to add the 'Instant match'-widget to the detail view. You can see quickly which relevant matches you have to the vacancy or candidate. Also the use of Matching Templates are relevant in this functionality but only if you use them.

DOCUMENTS: 'save in dossier' checkbox

We added a checkbox 'save in dossier' to the Documents module. This way you can configure if a certain document template should automatically be saved in the dossier, for example when it's triggered by a workflow.

GENERAL: Additional 'Quick actions' for list view of Kanban

Within the list view of the kanban we have implemented that we also have the Quick Actions. You can now preform action driven activities from the list screen aswell.

GENERAL: Additional fields in the list view of Kanban

In the kanban we already had all the extra information shown regarding the actual entity. This information is now also added for the list view of the kanban!

GENERAL: Add 'Tooltips' for all items in the kanban on detail views

We have added tooltips for all the items shown on the Kanban on the detail view. This will now show you the entity or value that is shown in the card.

CANDIDATES: Changed behavior of 'Supplier'-widget in Candidate module

We have changed the behavior of the 'Supplier'-widget in the candidate module to mimic the behavior of that one in the vacancy module. This will now only show suppliers when at least 1 contact person of the CRM relation is marked as a supplier!

INTERACTIONS: Field 'Owner' of contact person available

Within OTYS the field 'Owner' of a contact person is insertable when setting 'SE1726' is enabled. You can now use this field in the interactions module when setting SE1726 is enabled!

SUPPORT: Styling change of 'Reply' button

We have made the 'Reply'-button in a ticket more outstanding.

GENERAL: Relation 'clickable' in the card of the kanban

We have made the 'Relation' field in the kanban card clickable so it redirects you to the CRM customer.

SUPPORT: Force user to reset password on first login

We are now forcing users the reset their password the first time they log in.

CANDIDATES: Save filter for filterable procedures widget

In OTYS we have had 2 procedure widgets in the candidate module for a long time. One of these is filterable. This can now be saved so it will always show the same filtered result!

CRM: Widget 'Online Presentations' in Contact Persons

We have created the widget 'Online Presentations' in Contact Persons so you can see the all the Online CV presentations a contact person has recieved.

GENERAL: Option to show 'Action date' instead of 'Creation date'

We have created the option to select ether the 'Action date' or the 'Creation date' in the kanban on the detail view.

GENERAL: Create facet to show amount of cards in a colum when the colum is 'collapsed'

We have created a facet that shows you the amount of connected candidates OR vacancies to a certain procedure step when the colum of the kanban is collapsed.

TASKS: Field 'title' of a task now available in the change log

Via the 'more' button in a task, you can check the change log of that task. We added 'Title' to the available columns of that log. It can be added by configuring the list view. Note: the column will stay empty for changes made before the column was added.

CSM: Mark questionset as indeed questionset

It is now possible when you use Indeed to mark an Indeed questionset in the Candidate Question set setting 'GE31', 'Question sets - Candidate question sets'

JOB API: 'Publication Language' as parameter

We have added the filter 'Publication Language' to the Job API. With this you can filter out vacancies that are published on a certain language layer in the OTYS Go! system.

PARTNER FRAMEWORK: Improved logic for saving Go! Partner custom actions

Using Go! Partner custom actions it is possible to easily add custom actions from partners, for example as a button in a candidate detail. These custom actions can be managed through client setting 'Partner framework - Custom actions' (GE288). When saving a custom action it was not required to select a 'view' and a 'URL'. Since a view (depending upon the module) and a URL are required to make the custom action work correctly, this could lead to confusion. We have therefore changed the behavior so that when managing custom actions the fields 'Name', 'Module', 'View' (if applicable), 'Partner', 'Target' & 'URL' are mandatory when saving custom actions. For some modules (for example 'Workflows') there is no 'View'-field, in which case it is of course also not mandatory to select.

PARTNER FRAMEWORK: Additional partners tools to properly handle merged candidates

In the OTYS system it is possible to have multiple candidates which are actually the same person (for example because a candidate applies which is already in the OTYS system). To avoid having duplicate candidates, OTYS has a deduplication process which both supports manual deduplication (a user hitting buttons in a specific user interface to merge two candidates) and automated deduplication (a CRON process merging two candidates). Merging two candidate records will involve copying data from one candidate record to the other record (for example copy data from candidate 1 to candidate 2) and then deleting one of the candidate records (for example deleting candidate 1). We have quite a lot of partner integrations, some of which involve syncing candidate data. OTYS merging candidates can cause issues for partners which have 'synced' a merged & deleted candidate (for example because the candidate appears to be deleted on their end). To allow our partners to properly handle OTYS merging candidates, we have created a new web service method 'Otys.Services.CandidateService.retrieveDuplicateInfo'. This method expects a session token for authentication and as second parameter either the numeric candidate ID ('internalId') generated for every candidate by OTYS, the alphanumeric candidate OUID ('uid') generated for every candidate by OTYS or the alphanumeric person number ('personalNr') which can be filled by users or partners with for example the ID from an external system. The service will then return the 'merge history' linked to this record ID. This way if a partner is for example retrieving candidate in the OTYS system and is not getting back candidate details because the candidate does not exist anymore, the partner can execute this additional method to check if the candidate has been merged with another candidate and update IDs accordingly. Additionally we have added the collection-field 'mergeHistory' to the exisiting 'CandidateService.getList(Ex)'- & 'CandidateService.getDetail(Ex)'-methods returning a similar 'merge history'. This way if a partner is retrieving a 'new candidate', the partner can check if the candidate has been deduplicated with other candidates. If any of these other candidates are known in the partners solution, the partner can update IDs accordingly as well. Please note the alphanumeric candidate OUID ('uid') and the alphanumeric person number ('personalNr') are only available for candidates merged since March 2024 (since this data was not stored when merging candidates before). Although these tools do allow partners to properly handle OTYS merging candidates, this of course still needs to be implemented on the partners side to take effect in an integration.