Generic REST API -liitin
Learn how to easily connect and interact with multiple REST APIs using a customizable and versatile Generic REST API Connector.
Generic REST API -liitin
Learn how to easily connect and interact with multiple REST APIs using a customizable and versatile Generic REST API Connector.
Generic REST API Connector
Generic REST API -liitin on osa Provisioning Engine Native Connectors -kokonaisuutta, ja tätä ensimmäistä versiota käytetään tietojen kirjoittamiseen asiakkaan kolmannen osapuolen ratkaisuun, joka tarjoaa REST-rajapinnan. Sitä voidaan käyttää kaikissa Matrix42 Core-, Pro- ja IGA-ratkaisuissa, jotka käyttävät Connector managementia (EPE).
2025.2-julkaisu toi mukanaan tämän uuden Generic REST API -liittimen, jossa on tapahtumapohjaisia tehtäviä.
2025.3-julkaisu toi tälle Generic REST API -liittimelle tuen ajastetuille tehtäville.
Kohtuullisen käytön periaate
Liitintä voi käyttää rajoituksetta normaaleissa käyttöolosuhteissa. Jos käyttö kuitenkin aiheuttaa merkittävästi lisääntynyttä kuormaa, joka edellyttää lisäpilviresursseja (esim. muistia tai laskentatehoa), siitä voidaan periä lisämaksuja.
Tämän liittimen käyttäminen käyttäjätilien tai ryhmäobjektien luomiseen, päivittämiseen tai poistamiseen ulkoisissa järjestelmissä edellyttää voimassa olevaa IGA-lisenssiä.

Generic REST API -liitin edellyttää määritystä asiakkaan käyttötapauksen mukaisesti, ja periaatteessa määritys sisältää kolme vaihetta:
- Määritä liitin – tämä mahdollistaa liittimen yhteyden muodostamisen REST-rajapintaa tarjoavaan ratkaisuun
- Määritä tapahtumatehtävä – käytetään, kun tietoja kirjoitetaan (tapahtumapohjaisilla kutsuilla työnkulun orkestrointisolmusta) REST-rajapintaa tarjoavaan ratkaisuun
- Määritä työnkulun orkestrointisolmut käyttämään tapahtumapohjaisia tehtäviä
Yleiset toiminnot
General functionalities
Connectors - general functionalities
In this article are described general functionalities for managing native connectors in solution. All Native Connectors are managed from the same connector management UI.
Notice that there are separate descriptions for each connector, where connector specific functionalities and configuration instructions are described in detailed level.
To be able to access connector management, user needs to have admin level permissions to customers Platform configuration. When accesses are granted correctly, Connector tab will be visible and user can manage connectors.

Left menu
Connector management is divided into four tabs:

- Overview - for creating and updating Native Connectors. The Admin User can see their status, type and how many scheduled or event tasks are associated with them.
- Authentication - for creating and updating authentication tasks. Provisioning task for authentication is needed for Secure Access to be able to define which Customers end-users can access to Matrix42 Core, Pro and IGA login page.
- Logs - for downloading Native Connector and Secure Access logs from UI.
- Settings - general settings for Native Connectors and Secure Access, including environment type for logging and monitoring.
In release 26.2 left menu was moved to be on top of page as top menu. It also now contains new Certificates tab, for handling Native Connectors and Secure Access LDAP and HTTPS traffic certificates.

Connectors overview tab
From overview page, user can easily and quickly see status for all connectors.

Top bar:

-
Connectors
- Green indicates that Native Connectors is online. All the needed services are up and running.
- Red indicates that there is a problem with Native Connectors, all the services are not running.
-
Authentication (Secure Access)
- Green indicates that Secure Access is online. All the needed services are up and running.
- Red indicates that there is a problem with Secure Access, all the services are not running.
-
Native Connectors version number is displayed in top right corner
Top bar for list view:

- New connector - opens new window for adding and configuring new connector
- Remove connector(s) - workflow references are calculated and pop-up window appears to confirm removal (notice that calculating references can take several seconds)
- Export - Admin can export one or more connectors (and tasks) from the environment. Usually used for exporting connectors and connectors (and tasks) from test to prod. Native connectors secret information is password protected.
-
Import - Admin can import one or more connectors (and tasks) to the environment. Usually used for importing connectors (and tasks) from test to prod.
- Admin cannot import from old EPE UI (Older than 2024.1) to the new one. Source and target environments must have same version.
- Import will fail if the configuration (templates, attributes) is not the same - for example when some attribute is missing
- If a connector with the same details already exists in the environment, the import process detects this and informs the admin that the connector already exists. The existing connector is not modified or renamed.
- Refresh - Admin can refresh connectors list view by clicking the Refesh button.
List view for overview,

- Select connector(s) - Select one connector by clicking check box in front of the connector row or clicking check box in the header row will select all connectors
- Id - Automatically generated unique ID of the connector. Cannot be edited or changed.
- Status - indicates scheduled task status
-
Green double check mark - Task is executed without any errors
-
Red triangle -Task is executed, but there have been error
-
Grey line - Tasks are not executed yet
-
Orange - one or more of the tasks has a problem
- No value - Scheduled based-task is missing
- Name - Connector name added to connector settings. Unique name of the connector holding configuration for one data source
- Type - indicates target / source system
- Scheduled - informs how many scheduled tasks are configured
- Event - informs how many event tasks are configured
-
Manage
- Pen icon - opens connector settings (double-clicking the connector row, also opens settings)
- Paper icon - copies the connector
- Stop - workflow references are calculated and pop-up window appears to confirm removal
- Search - User can search connector by entering the search term in the corresponding field . Id, Status, Name, Type, Scheduled and Event fields can be searched.
Scheduled task information (click arrow front of the connector)
When clicking arrow at the beginning of the connector row, all related scheduled and event tasks are shown

Top bar for scheduled tasks
- New task - opens configuration page for new task
- Remove task(s) - removes the selected task(s) from the system and they cannot be recovered anymore.
- Refresh - refresh scheduled-based tasks view
- Search - user can search task by entering the search term in the corresponding field for Id, name, enabled, extract/load status.
List view for scheduled tasks

- Select task(s) - Select task to be deleted from the list view by ticking.
- Id - Unique ID of the task. Generated automatically and cannot be changed.
- Name - Task name added to task settings, unique name of the task.
-
Scheduling - Displays is the task scheduled or not
-
Green calendar mark - Task is scheduled
-
Grey line - Task is not scheduled
-
-
Extract status - Displays status of data extraction from the target directory/system
-
Green double check mark - data is extracted successfully
-
Red triangle - data is extracted with error(s) or extraction is failed
-
Grey line - Extract has not been executed yet
-
Black gears - Extraction is ongoing
-
-
Load status - Displays status of data export from json-file to customers solution
-
Green double check mark - data is imported successfully to customers solution
-
Red triangle - data is imported with error(s) or import is failed
-
Grey line - Data load has not been executed yet
-
Black gears - Load is ongoing
-
- Manage

- Pen icon - opens task settings in own window (double-clicking the task row also opens task settings)
- Paper icon - copies the task
- Move icon - move task under some different connector, pop-up window opens to select target connector
- Run icon - run task manually once, pop-up window opens to confirm the run
- Clock icon - opens task history view
-
Minus icon - remove task, pop-up window opens to confirm the removal
Scheduled task history view
By clicking the clock icon in the scheduled task row, history for scheduling will be shown.
It shows maximum 500 previous task runs.

Top bar for view history
- Refresh - refreshes scheduled task status. This doesn't affect task, this only updates UI to show latest information of task run.
List view for scheduled task history
-
Color of the row is indicating status
-
Green double check mark - execution successful
-
Red triangle - execution failed (hover red icon to see more detailed error)
-
- Execution ID - unique ID for the scheduled task row
- Extract status - status for fetching data from the directory/application
- Load status - status for loading information to customers solution
- Scheduled start time - when next extract from the directory/application is scheduled to happen
- Extract actual start time - when extract was started
- Extract actual end time - when extract ended
- Load actual start time - when load actually started
- Load actual end time - when load actually ended
Task run details
- Download Group file - JSON file containing group information read from the directory/application
- Download Users file - JSON file containing user information read from the directory/application
- Download Generic file - JSON file containing generic information read from the directory/application
- Download All Failed Data Cards - JSON file containing failed objects
- Load overview - detailed information about loading the information to customers Matrix42 Pro and IGA solution
- Log data - part of logs. Full logs can be downloaded from Logs tab

Edit window for scheduled task
Configuration for scheduled task can be opened by clicking pen icon or double-clicking the task row.
Left menu and attributes varies according to selected options and therefore more detailed instructions for editing tasks can be found from the connector description, but there are common functionalities for all scheduled tasks which are described below.
Saving the task
In case mandatory information is missing from the task, hoovering mouse on top of the save button will show which attributes are still empty.

Top bar for edit scheduled task
- Run task manually - admin can run task manually out side of the defined scheduling
- Stop task - admin can stop scheduled-based task which is currently running. Task will be stopped and status is changed to be stopped. It waits in this state until the next timing occurs.
-
Clear data cache - Data cache for the next provisioning of Users and Groups will be cleared. It means that next run is run as first time run.
- By default, we clear the cache everyday at 00:00 UTC
- If you want to clear the cache at different time, then it has to specify some different value in host file 'custom.properties'.
-
EPE Cache is also cleared when EPE is restarted, whole environment is restarted, EPE mappings have been changed
Event task information
When clicking arrow at the beginning of the connector row, all related scheduled and event tasks are shown

Top bar for event tasks
- New task - opens configuration page for new event task
- Remove task(s) - removes selected task(s), pop-up window appears to confirm the removal
- Refresh - refreshes event tasks view
- Show workflow references - calculates task related workflow relations and statuses. This is very useful if you don't know from which workflows event-based tasks are used.
List view for event tasks
- Select task(s) - Select task to be deleted from the list view by ticking.
- Id - Unique ID of the task. Generated automatically and cannot be changed.
- Name - Task name added to task settings, unique name of the task.
-
Workflow relations
- Question mark shows pop-up window with detailed information about the reference
-
Workflow status
- Not used - No relations to workflow
- In use - Workflow(s) attached to task, task cannot be removed
-
Manage
- Pen icon - opens task settings
- Paper icon - copies the task
- Move icon - moves task under different connector, pop-up window opens to select target connector
- Stop icon - removes the task, pop-up window appears to confirm the removal
Edit window for event task
Configuration for event task can be opened by clicking pen icon or double-clicking the task row.
Left menu and attributes varies according to selected options and therefore more detailed instructions for editing tasks can be found from the connector description, but there are common functionalities for all event tasks which are described below.
- Task name - Descriptive name for task so you recognize it
- Task usage - Allow editing checkbox. When unchecked, the current task usage value is displayed in read-only form without edit indicators, so the configuration state is easy to read. Check the box to make the field editable, note that changing the task usage type on an existing task will break workflows
- Mappings type - Allow editing checkbox. When unchecked, the current mappings type value is displayed in read-only form without edit indicators. Check the box to make the field editable, note that changing the mappings type on an existing task will break workflows

Saving the task
In case mandatory information is missing from the task, hovering mouse on top of the save button will show which attributes are still empty.

Authentication tab
Authentication for Matrix42 Core, Pro and IGA solutions are configured from authentication tab, notice that only some of the connectors (directory connectors) are supporting authentication, so its not possible to create authentication tasks to all available connectors.

Top bar for authentication
- New connector - opens new window for configuring new connector (notice that not all connectors are supporting authentication)
- Remove connector(s) - removes selected task(s), pop-up window appears to confirm the removal
-
Export - user can export one or more tasks from the environment. Usually used for exporting tasks from test to prod. EPE connectors are password protected.
- Note that Realm for authentication tasks is not exported, you need to set that manually after importing
- Import - user can import one or more tasks to the environment. Usually used for importing task from test to prod.
- Refresh - refreshes authentication tasks view
List view for authentication overview
- Select connector(s) - Select one connector by clicking check box in front of the connector row or clicking check box in the header row will select all connectors
- Id - Automatically generated Unique ID of the connector. Cannot be edited or changed.
- Name - Connector name added to connector settings. Unique name of the connector holding configuration for one data source
- Type - indicates target / source system
- Count - informs how many authentication tasks are configured
-
Manage
- Pen icon - opens authentication task setting in own window
- Paper icon - copies the task
- Stop icon - removes selected task
Authentication task information
When clicking arrow at the beginning of the connector row, all related scheduled and event tasks are shown

Top bar for authentication overview
- Create new task - opens configuration page for new authentication task
- Remove task(s) - removes selected task(s), pop-up window appears to confirm the removal
- Refresh - refreshes authentication tasks view
List view for authentication overview,
- Select task(s) - Select task to be deleted from the list view by ticking.
- Id - Unique ID of the task. Generated automatically and cannot be changed.
- Name - Task name added to task settings, unique name of the task.
-
Manage
- Pen icon- opens task settings in own window (double-clicking the task row, also opens settings window)
- Paper icon - copies the task
- Stop icon - removes the task, pop-up window appears to confirm the removal
Logs tab
Logs tab is for downloading Native Connector and Secure Access logs from UI for detailed troubleshooting.

- epe-master logs - contains warning, debug and error level messages about Native Connectors and info how long task actions has been taken.
- epe-worker-ad logs - contains extract data status of Active Directory connector (what Native Connector is loading to to customers Matrix42 Pro and IGA solution). If selection is empty, it means that directory is not in use in this environment.
- epe-worker-azure logs - contains extract data status of Entra ID (what Native Connector is loading to to customers Matrix42 Pro and IGA solution). If selection is empty, it means that directory is not in use in this environment.
- epe-worker-ldap logs - contains extract data status of LDAP (what Native Connector is loading to to customers Matrix42 Pro and IGA solution). If selection is empty, it means that directory is not in use in this environment.
- epe-launcher logs - contains information about EPE launches
- datapump-itsm logs - Contains information about data export to customers Matrix42 Pro and IGA solution.
- esa logs - Contains information about Secure Access authentication.
Settings tab
Settings tabs is used for monitoring environments with connectors.

-
Environment type - is mandatory to be in selected and information is used for example defining alert critically.
- Test - select this when your environment is used as testing environment
- Prod - select this when your environment is used as production environment
- Demo - select this when your environment is used as demo or training environment
- Dev - select this when your environment is used as development environment
What we are monitoring?
- Failures in scheduled based provisioning (extracting data, exporting data to ESM, outdated certificates, incorrect passwords, incorrect search base/filter, incorrect mappings, etc.)
- Failures in event based provisioning (fail to write to AD/Azure, etc.)
- Event-based provisioning - which connectors are used for writing data towards applications/directories.
- ESA more than ten failed login attempts to one user in past 3 days
- Environment type - is mandatory to be in selected and information is used for example defining alert critically.
Show logs - when ON, logs can be seen from Logs tab on UI
Automate Secure Access Certificate reloading - when ON, Secure Access will automatically reboot at 03:00 UTC if there are new certificates that needs to be taken into use.
Data migrations - Do not click “Migrate attribute mappings” or “Migrate workflows”, if not requested to do so by Matrix42.
Määritä liitin
Tässä luvussa kuvataan liittimen määritysohjeet, joiden avulla liitin voi muodostaa yhteyden REST-rajapintaan.
Provisioningin määritystä varten tarvitset pääsyn Platform configuration -konsoliin.
1. Avaa Administration area (hammasratas-kuvake).
2. Avaa Connectors-näkymä.
3. Valitse "New connector"

4. Valitse Data Source type -arvoksi Generic REST API

5. Anna liittimelle nimi ja lisää yhteysasetukset:
- Connector name – anna liittimelle helposti tunnistettava nimi (nimen voi vaihtaa myöhemmin)
- Host url – REST-rajapinnan perus-url. Tätä voidaan käyttää lopullisen kutsuttavan url-osoitteen etuliitteenä.
- REST Connector type – Generic tai Google. Käytä Google-järjestelmille arvoa Google ja kaikille muille REST-rajapinnoille arvoa General.

Valitse oikea todennusmenetelmä sen järjestelmän mukaan, johon olet yhdistämässä

- Basic Auth – perustodennus, jossa käyttäjätunnus/salasana lähetetään base64-koodattuna todennusotsikkona
- Bearer Token – käyttää kiinteää bearer-token-todennusotsikkoa
- Disabled – julkisille rajapinnoille ilman todennusta (2025.3-julkaisusta alkaen)
- Auth Header – kiinteälle salaiselle otsikolle (2025.3-julkaisusta alkaen)
- Dynamic Token – OAuth 2.0 Client Credentials -vuolle ja vastaaville (2025.3-julkaisusta alkaen)
- Esimerkki Dynamic Token -määrityksestä: https://docs.efecte.com/configure-connectors/ms-ado-connector
- Kun käytät Dynamic Token -todennusta, sinun on asetettava myös Login Content type otsikoksi. Jos esimerkiksi Login Content type on application/json, sinun on lisättävä liittimeen otsikko:
Content-Type application/json
Aseta oikea sivutus sen kolmannen osapuolen järjestelmän mukaan, johon yhdistät tällä liittimellä.
Generic REST API -liittimen sivutus tukee viittä erilaista sivutustyyppiä. Näitä käytetään ajastetuissa tehtävissä:

- Disabled – rajapinta ei tue sivutusta ja palauttaa kaiken datan yhdessä vastauksessa.
- Start & Offset – rajapinta käyttää start- ja offset-parametreja. Liitin kasvattaa jokaisella pyynnöllä automaattisesti start-arvoa offset-määrällä, kunnes kaikki data on haettu.
- Page Increment – rajapinta käyttää sivunumerointia. Liitin kasvattaa jokaisella pyynnöllä sivunumeroa yhdellä, kunnes tuloksia ei enää palaudu.
- Link Token – vastaus sisältää seuraavan sivun URL-osoitteen. Liitin seuraa tätä URL-osoitetta automaattisesti, kunnes seuraavaa linkkiä ei enää tarjota.
- Link Attribute Token – vastaus sisältää seuraavan sivun tokenin. Liitin lähettää tämän tokenin automaattisesti kyselyparametrina seuraavassa pyynnössä. Tätä käyttää esimerkiksi Google.
Täytä WebAPI-käyttäjän tiedot
- WebAPI user – valitse oikea WebAPI-käyttäjä, jota käytetään kirjoitettaessa tietoja ulkoisesta järjestelmästä Matrix42 Core-, Pro- ja IGA-ratkaisuihin
- WebAPI password – WebAPI-käyttäjän salasana

7. Tallenna liittimen tiedot
8. Lisää ulkoisen REST-rajapintajärjestelmän root https -varmenne, jotta Connector management (EPE) luottaa siihen.
Tämän voi tehdä vain Matrix42:
Connector certificates explained.
9. Matrix42 Core-, Pro- ja IGA-ratkaisu pystyy nyt muodostamaan yhteyden ulkoiseen REST-rajapintaan
- Seuraava vaihe on määrittää ajastettu tehtävä tietojen lukemista varten tai tapahtumatehtävä tietojen kirjoittamista ja toimintoja varten REST-rajapintaan.
Yleisohjeet ajastetuille tehtäville
General guidance for scheduled tasks
How to Create New Scheduled Task to import data
For configuring scheduled-based provisioning task, you will need access to Administration / Connectors tab.
1. Open the Administration area (a cogwheel symbol).
2. Open Connectors view.
3. Choose Connector for Scheduled-based task and select New Task
Note! If connector is not created, you have to choose first New connector and after that New task.

4. Continue with connector specific instructions: Native Connectors
Should I use Incremental, Full or Both?
Scheduled task can be either Incremental or Full -type.
Do not import permissions with AD and LDAP incremental task
Incremental task has issue with permissions importing. At the moment it is recommended not to import group memberships with incremental scheduled task.
On Microsoft Active Directory and OpenLDAP connectors, remove this mapping on incremental task:

Setting on Scheduled tasks:

Incremental type is supported only for Microsoft Active Directory, LDAP and Microsoft Graph API (formerly known as Entra ID) Connectors.
Incremental type means, that Native Connectors (EPE) fetches data from source system, using changed timestamp information, so it fetches only data which is changed or added after previous incremental task run.
When Incremental type task is run for very first time, it does a full fetch (and it marks the current timestamp to EPE database), thereafter, task uses that timestamp to ask the data source for data that changed since that timestamp (and then EPE updates the timestamp to EPE database for next task run). Clearing task cache doesn't affect this timestamp, so Incremental task is always incremental after first run.
Full type is supported for all Connectors.
Full type import fetches always all data (it's configured to fetch) from source system, on every run.
Tasks internal cache
Both Full and Incremental type tasks use also Task cache in EPE, which makes certain imports faster and lighter for M42 system.
Beginning from version 2026.1.1
Tasks internal cache clean scheduling was moved from properties file to Task UI.
With that change you can now also decide per scheduled task when internal cache is cleared, or if it's not cleared at all. In normal situations cache is recommended to be cleared at some point to guarantee correct data on datacards. If template and imported data doesn't contain references, cache can be cleared quite rarely. With references, it's recommended to clear cache daily or weekly to guarantee correct data on datacards.

Versions before 2026.1.1
By default that task cache is cleared ad midnight UTC time. When cache is cleared, next import after that is run without caching used to reason if data fetched should be pushed to ESM, all fetched data is pushed to ESM. But after that, next task runs until next time cache is cleared, are using EPE cache to determine if fetched data needs to be pushed to ESM or not.
You can configure at what time of day task cache is emptied, by changing global setting in EPE datapump configuration:
/opt/epe/datapump-itsm/config/custom.properties
which is by default set to: clearCacheHours24HourFormat=0
You can also clear cache many times a day, but that needs to be thinked carefully, as it has impact on overall performance as EPE will push changes to ESM, that probably are already there, example(do not add spaces to attribute value): clearCacheHours24HourFormat=6,12
After changing this value, reboot EPE datapump container to take change into use.
Recommendations
Have always by default Full type scheduled task.
If you want to fetch changes to data fetched already by full task, more frequently than you can run full task, add also incremental task. Usually incremental task is not needed.
Recommended Scheduling Sequence
Recommended scheduling sequence, depends how much data is read from Customers system/directory to the Matrix42 Core, Pro or IGA solution and is import Incremental or Full.
Examples for scheduling,
| Total amount of users | Total amount of groups | Full load sequence | Incremental load sequence |
| < 500 | < 1000 |
Every 30 minutes if partial load is not used Four (4) times a day if partial load is used |
Every 10 minutes |
| < 2000 | < 2000 |
Every 60 minutes, if partial load is not used Four (4) times a day if partial load is used |
Every 15 minutes |
| < 5000 | < 3000 |
Every four (4) hours, if partial load is not used Twice a day if partial load is used |
Every 15 minutes |
| < 10 000 | < 5000 | Maximum imports twice a day, no matter if partial load is or is not used | Every 30 minutes |
| < 50 000 | < 7000 | Maximum import once a day, no matter if partial load is or is not used | Every 60 minutes |
| Over 50 000 | Over 7000 | There might be a need for another EPE-worker, please contact Product Owner | Separately evaluated |
Please note that if there are several tasks running at the same time you may need more EPE-workers. The tasks should be scheduled at different times and can be completed according to the table above. However, if there are more than 6 tasks running at the same time, the number of epeworkers should be increased. It's best practice not to schedule tasks to run at same time, if possible.
Recommendations related to performance
If the amount fo data to be imported is over 10000 concider these things:
Adjust log level of ESM and DATAPUMP to ERROR-level, to lowe the amount of logging during task run
Have as few as possible automations starting immediately for imported datacards (listeners, handlers, workflows), as those make ESM to take longer time handling new datacards.
Set removed accounts and entitlements status removed/disabled
With this functionality, you can mark account and entitlement status to e.g. Deleted or Disabled, when account or entitlement is removed from source system. Starting from version 2025.3 you can also set status to generic objects (not only to accounts/identities and entitlements/groups).
For version 2025.3 and newer
In version 2025.3 these settings are moved from properties files to Task UI. Also you can now set these settings for Generic objects, which have not been possible before this version.
There is separate configuration for each scheduled task, and for all mapping types. Here is example of this config on task:

Unique check added on 26.2 version
When this Set value for deleted objects option is enabled, at least one of the attributes mapped to the unique id must also be marked as Unique on the target template. If none of the mapped attributes are unique, the task cannot be saved and the message "Unique id must be mapped to at least one unique attribute of template" is shown.
For version 2025.2 and older
This functionality is available for “full” type scheduled tasks.
Settings are on datapump dockers configuration file. To change those parameter values, you need to set those in /opt/epe/datapump-itsm/config/custom.properties file.
Configuration
To enable disabling functionality, datapump config should have these parameters set to true:
disable.unknown.esm.users=truedisable.unknown.esm.groups=true
Those 2 parameters are false by default in 2024.2 and 2025.1 versions. In 2025.2 and newer version those are true by default.
Next are these parameters:
personTemplateStatusCodeAttributeKey=accountStatuspersonTemplateStatusAttributeDisabledValueKey=DeletedgroupTemplateStatusCodeAttributeKey=statusgroupTemplateStatusAttributeDisabledValueKey=5 - Removed
First two attributes should point to the DatacardHiddenState attribute in the User template, and tell which value should be send there when the user is deleted.
By default its accountStatus and Value 5 - Removed on IGA Account template.
All these needs to match with the attribute configuration:

Same thing applies for the next two paramaters, but its for Groups.'
If you need to change those parameters in properties file, do changes in Datapump container to file: /opt/epe/datapump-itsm/config/custom.properties and those changes will then survive over container reboot and will be copied on reboot to /opt/epe/datapump-itsm/config/application.properties.
Description
Tasks save their __taskid__ shown as Task Id mapping in the UI to the datacards, its then used to determine if the datacard was added by this task. In case there are multiple tasks with different sets of users.
This field was previously used as datasourceid, but since we moved to the model where connector can have multiple tasks its identifier cannot be used anymore, thats why the field was repurposed as taskid instead.
Taking users as an example, when task runs ESM is asked for the list of users that have its taskid in Task Id mapping field, and doesn't have a personTemplateStatusAttributeDisabledValueKey value in the personTemplateStatusCodeAttributeKey
This result is then compared to what the task fetched, and the datacards of users that were not fetched have their personTemplateStatusattribute set to value specified in the config - 5 - Removedby default.
Example log below shows described process and informs that one user was removed.

Same thing applies to groups but groupTemplateStatusattributes are used instead.
Notes
- Feature works only with full fetch scheduled tasks..
- No support for generic templates yet, only identity and access
- When migrating from the previous versions where datasourceid was still used it needs to run at least once to set its taskid’s in the datacards first.
- EPE identifies Disabled users or groups as the ones that were removed from the AD, at the present we do not support statuses related to the entity beign active or not.
- EPE does not enable users back on its own.
- If more than one tasks fetches the same users or groups it may overwrite the taskid in the datacard depending on which task ran last. It is suggested that many full type tasks are not fetching same user or group.
- Always do configuration file changes to custom.properties, do not change only application.properties as those changes are lost on container reboot if you have not done same changes to custom.properties.
Määritä ajastettu tehtävä tietojen lukemista varten
2025.3-versio toi tuen tietojen lukemiseen ajastetuilla tehtävillä.
Generic REST API -liitintä käytetään tietojen lukemiseen kolmannen osapuolen ratkaisuista, jotka tarjoavat REST-rajapinnan, luomalla ajastukseen perustuva provisiointitehtävä.
Tärkeää tietoa ajastettujen tehtävien määrityksestä
- Vain GET-http-metodia tuetaan (POST, PATCH, DELETE jne. eivät ole tuettuja)
- Dynaamisia url-parametreja ei tueta
Miten luodaan uusi tehtävä ajastettua provisiointia varten
Ajastukseen perustuvan provisiointitehtävän määritystä varten tarvitset pääsyn Platform configuration -konsoliin.
Huomio! Jos liitintä ei ole vielä luotu, sinun on ensin luotava “new connector”, minkä jälkeen voit luoda uusia tehtäviä.
1. Avaa Platform configuration -näkymä (hammasratas-kuvake).
2. Avaa Connectors-näkymä.
3. Valitse liitin, jolle ajastukseen perustuva tehtävä määritetään
4. Valitse “new task” oikean liittimen alta

5. Määritä tehtävän ajastus (ajetaanko ajastettu tehtävä säännöllisesti ja miten). Valitse ajastusväli, joka riippuu siitä, kuinka paljon dataa luetaan Matrix42 Core-, Pro- ja IGA-ratkaisuun.

Suositeltu ajastusväli riippuu siitä, kuinka paljon dataa luetaan asiakkaan hakemistosta Matrix42 Core-, Pro- ja IGA-ratkaisuun, ja onko kyseessä osittainen vai täysi lataus.
Esimerkki tietojen lukemisen ajastuksesta.
| Käyttäjien kokonaismäärä | Ryhmien kokonaismäärä | Täyden latauksen aikaväli | Osittaisen latauksen aikaväli |
| < 500 | < 1000 |
30 minuutin välein, jos osittaista latausta ei käytetä Neljä (4) kertaa päivässä, jos osittaista latausta käytetään |
10 minuutin välein |
| < 2000 | < 2000 |
60 minuutin välein, jos osittaista latausta ei käytetä Neljä (4) kertaa päivässä, jos osittaista latausta käytetään |
15 minuutin välein |
| < 5000 | < 3000 |
Neljän (4) tunnin välein, jos osittaista latausta ei käytetä Kaksi kertaa päivässä, jos osittaista latausta käytetään |
15 minuutin välein |
| < 10 000 | < 5000 | Enintään kaksi tuontia päivässä riippumatta siitä, käytetäänkö osittaista latausta | 30 minuutin välein |
| < 50 000 | < 7000 | Enintään yksi tuonti päivässä riippumatta siitä, käytetäänkö osittaista latausta | 60 minuutin välein |
| Over 50 000 | Over 7000 | Saatetaan tarvita toista EPE-workeria, ota yhteyttä tuotepäällikköön | Arvioidaan erikseen |
5. Täytä tehtävän tiedot
- Anna ajastetulle tehtävälle yksilöllinen nimi
- Task usage -kenttä ilmaisee, käytetäänkö tehtävää tietojen lukemiseen, kirjoittamiseen vai todennukseen. Huomaa, että jos tapahtumatyyppiä muutetaan jälkikäteen, se voi rikkoa työnkulkuja tai integraatioita.
-
Mappings type riippuu siitä, minkä tyyppistä tietoa hakemistosta luetaan; Generic REST API -liittimelle tuetaan vain arvoa Generic
- Generic (one template) – käytetään, kun hakemistosta luetaan yleistä tietoa

6. Täytä tehtävän parametrit
- Query – kutsuttava varsinainen API-url-päätepiste
-
Sub Queries – valinnainen. Voidaan käyttää, jos Query-kenttään liittyvää tietoa on tarpeen hakea toisesta API-päätepisteestä.
Sub queries -kentät tukevat vain pääkyselyn tulosjoukon yksinkertaisia ensimmäisen tason muuttujia. Alikyselyt eivät tue jsonpath-syntaksia.
Esimerkki tuetusta alikyselystä (tämä olettaa, että json-vastauksen ensimmäisellä tasolla on userid-attribuutti): /groups/{userid}
Esimerkki EI-tuetusta alikyselystä, joka yrittää käyttää jsonpath-syntaksia: /groups/{users[0].userid} -
Query headers – mukautetut otsikot, jotka lisätään lopulliseen kyselyyn tiedon haun aikana.
Connector management (EPE) lisää nämä otsikot automaattisesti, joten niitä ei tarvitse lisätä erikseen:“Content-Type”, “…”"Authorization", “…” - Value Marker – voi olla tyhjä. Arvo riippuu Query-rajapinnan palauttaman JSON-datan rakenteesta. Jos esimerkiksi koko data on resultset-nimisen json-objektin sisällä, aseta tämän arvon merkiksi resultset.
- Error Marker – voi olla tyhjä. Arvo riippuu Query-rajapinnan palauttaman JSON-virheviestin rakenteesta. Jos esimerkiksi koko virheviesti on errors-nimisen json-objektin sisällä, aseta tämän arvon merkiksi errors.
- Safety Threshold for API calls – turvaraja, joka estää loputtomat silmukat. Aseta tämä arvo kaksinkertaiseksi verrattuna siihen, montako kutsua tämä tehtävä tarvitsee kaiken datan hakemiseen. Jos esimerkiksi kaiken datan hakemiseen tarvitaan 50 sivutettua kutsua, aseta tämän arvoksi 100.
-
Unique attribute – aseta JSON-tulosjoukon yksilöivän attribuutin nimi (kirjainkoko merkitsee). Yleensä ID, id tai guid tms. Jokaisella rivillä on oltava tässä attribuutissa yksilöllinen arvo. Tämä attribuutti on lisättävä myös mappaustaulukkoon tehtävän määrityksen lopussa. Note! Ajastettu tehtävä ei voi hakea dataa, joka ei sisällä tätä yksilöivää attribuuttia jokaiselle objektille.

7. Täytä virhetilanteen tiedot
Valinnaiset asetukset virheiden käsittelyyn: jos ajastettu tehtävä epäonnistuu, se voi luoda ESM:ään datacardin, joka näyttää virheen. Jos virheasetukset on määritetty, pääkäyttäjän ei tarvitse tarkistaa ajastettujen tehtävien tilaa manuaalisesti.
- Failure template – valitse datacard-malli (Template), joka luodaan, jos provisioinnin aikana tapahtuu virheitä (yhteys tietolähteisiin, aikakatkaisut jne.)
- Failure folder – valitse kansio, johon virhe-datacard tallennetaan.
- Failure attribute – valitse attribuutti, johon virhetiedot tallennetaan Failure Template -mallissa. Valitse tekstityyppinen attribuutti.

8. Lisää Generic-mappaukset
Mappaus-osiossa määrität, mikä JSON-viestin attribuutti luetaan mihinkin Matrix42 Core-, Pro- ja IGA-datacardin attribuuttiin.
- Target template – valitse malli, jolla attribuuttimappaukset määritetään
- Target folder – valitse kansio kansioluettelosta. Luettelo suodattuu vastaamaan valitun mallin (Template) yhteensopivuutta.
- Data Source Type mapping – valinnainen. Jos tämä asetetaan, liittimen tyyppi kirjoitetaan kyseiseen attribuuttiin.
- Task Id mapping – tehtävän ID-numero kirjoitetaan tähän attribuuttiin. Tämän attribuutin on oltava ei-yksilöivä.
- Set value to datacard fo object deleted from source system – tämä toiminto otetaan käyttöön valitsemalla valintaruutu. Kun jokin objekti, joka on aiemmin luettu kolmannen osapuolen järjestelmästä ratkaisuun, poistetaan kolmannen osapuolen järjestelmästä (eli tämän tehtävän kysely ei enää palauta sitä). Ajastettu tehtävä huomaa, että objekti on poistettu, ja merkitsee kyseisen datacardin valitun attribuutin haluamallasi arvolla. Tätä voidaan käyttää esimerkiksi Status-attribuutin asettamiseen arvoon Deleted (kuten alla olevassa esimerkkikuvakaappauksessa).

-
Attribuuttimappaukset
- External attribute – mikä kolmannen osapuolen järjestelmän API:n attribuutti luetaan JSON-rungosta
- Local attribute – mihin Matrix42 Core-, Pro- ja IGA-attribuuttiin mappaus kohdistuu
- Attribuuttimappauksiin on mahdollista lisätä ylimääräisiä attribuutteja valitsemalla New attribute
-
JSONPath-lausekkeet, joita mappaustaulukon external attribute -kentässä tuetaan ja ei tueta:
https://docs.efecte.com/configure-connectors/jsonpath-mappings-for-generic-rest-api-connector

9. Tallenna provisiointitehtävä Save-painikkeesta.
Jos joitakin pakollisia attribuutteja puuttuu, tallennuspainike näkyy harmaana ja se näyttää, mitä asetuksista puuttuu.

10. Olet nyt määrittänyt ajastukseen perustuvan liitintehtävän Generic REST API -lukua varten
- Voit nyt odottaa, että tehtävä käynnistyy ajastuksen mukaisesti, tai
- Run task manually – napsauttamalla “Run Task” -painiketta tehtävän muokkausikkunan yläreunassa, tehtävä käynnistetään heti. Käytetään yleensä testiajoissa tai kun ajastusasetuksia ei haluta muuttaa, mutta tehtävä halutaan ajaa nyt.

Esimerkki manuaalisen tehtäväajon käynnistysviestistä:

Jos tehtävä suoritetaan manuaalisesti (run task) tai se ajetaan ajastuksen mukaan, tehtävän tilan voi tarkistaa Scheduled tasks -listan manage-sarakkeesta napsauttamalla “View history” button.

Määritä tapahtumapohjainen tehtävä
Tapahtumatehtävää käytetään tietojen kirjoittamiseen (tai muiden tapahtumapohjaisten REST-rajapintakutsujen tekemiseen Workflow-työnkulusta) asiakkaan ratkaisuun, joka tarjoaa geneerisen REST-rajapinnan. Nämä Connector Management -ominaisuudet ovat käytettävissä kaikissa Matrix42 Core-, Pro- ja IGA-ratkaisuissa.
Esimerkkejä tapahtumapohjaisen tehtävän käyttötarkoituksista:
- Lisää tili
- Päivitä henkilö
- Aktivoi tili
- Luo tapaus
- Deaktivoi laite
Kaikki Connector Managementiin ja tapahtumapohjaiseen provisiointitehtävään liittyvät määritykset tehdään Matrix42 Core-, Pro- tai IGA-ratkaisun Connectors-näkymässä.
1. Avaa Matrix42 Core-, Pro- tai IGA-ratkaisun configuration view (hammasratas-kuvake).
2. Avaa connectors view
3. Valitse liitin, joka käyttää tapahtumatehtävää
4. Valitse “new task” oikean liittimen alta

5. Täytä tehtävän asetukset
- Task name – anna tehtävälle nimi, se näkyy connectors view -näkymässä.
- On hyvä käytäntö nimetä tehtävä niin, että nimi kuvaa sen tarkoitusta, esimerkiksi [Template name]:[Activity] IGA Service request: Add account
- Task usage -kenttä ilmaisee, käytetäänkö tehtävää tietojen lukemiseen vai kirjoittamiseen. Sitä voi muuttaa jälkikäteen, mutta se ei ole suositeltavaa, jos tapahtumatehtävä on käytössä. Se rikkoo työnkulkuja.
- Mappings type riippuu siitä, minkä tyyppistä tietoa hakemistosta luetaan; identiteettimappausten valinnat näytetään tämän asetuksen perusteella.
- Generic (one template) – käytetään, kun hakemistosta luetaan yleistä tietoa. Tämä voi olla minkä tahansa tyyppistä dataa.

Varoitus task usage- tai mappings type -asetuksen muuttamisesta, kun tapahtumatehtävä on käytössä:

6. Täytä tehtävän parametrit
- Query – API-päätepiste, jota tämä tehtävä kutsuu. Tämän voi jättää tyhjäksi ja antaa sen sijaan Workflow orchestration -solmussa. Voit antaa koko päätepisteen osoitteen, esimerkiksi: https://apiurl.com/endpointtocall, tai vain url:n loppuosan. Jos annat vain url:n loppuosan, esimerkiksi endpointtocall, lopullinen url muodostetaan yhdistämällä kaikki seuraavat: liittimen host url + tehtävän query + orkestrointisolmun url.
- Query headers – mukautetut otsikot, jotka lisätään lopulliseen REST-rajapintakyselyyn. Katso kohde-/lähdejärjestelmän API-dokumentaatiosta, mitä otsikoita se vaatii.
- Date Attribute formatter – käytetään päivämäärien muotoiluun, kun date-tyyppinen attribuutti provisioidaan kohdejärjestelmään. Voit valita muodon listalta tai lisätä oman mukautetun muodon. Oikeanpuoleinen kenttä näyttää esimerkin muotoillusta päivämäärästä.
- DateTime Attribute formatter – käytetään päivämäärä- ja kellonaikatietojen muotoiluun, kun datetime-tyyppinen attribuutti provisioidaan kohdejärjestelmään. Voit valita muodon listalta tai lisätä oman mukautetun muodon. Oikeanpuoleinen kenttä näyttää esimerkin muotoillusta datetime-arvosta.

7. Määritä generic-mappaukset
- Target template - Select a template to define attribute mappings
- Target folder - Select a folder from a list of folders. The list is narrowed down to match compatibility with selected Template.
- Attribute mappings (Huomio! Useimmissa tapauksissa näitä ei tarvitse asettaa. Tapahtumatehtävässä käytettävä data määritetään Workflow Orchestration -solmussa).
- Efecte template attribute – mihin Efecte-hakemiston attribuuttiin mappaus kohdistuu.
- Directory attribute – mikä hakemiston attribuutti mapataan Efecteen
- Add new attribute – Ylimääräisiä attribuutteja voi lisätä valitsemalla New attribute -painikkeen.

8. Tallenna tehtävä
Tallenna provisiointitehtävä “save”-painikkeella
Jos pakollisia tietoja puuttuu, tehtävää ei voi tallentaa, ja tallennuspainike näyttää, mitkä tiedot puuttuvat.

9. Määritä Workflow käyttämään tätä tapahtumatehtävää Orchestration-solmun kautta
Seuraava vaihe on määrittää työnkulku käyttämään tätä tapahtumatehtävää.
Platformin työnkulkumoottorista on mahdollista suorittaa provisiointitoimintoja asiakkaan hakemistopalveluihin. Tämä tarkoittaa, että mitä tahansa saatavilla olevaa orkestrointisolmun toimintoa voidaan ajaa missä tahansa työnkulun vaiheessa.
Workflow-viittaukset näkyvät liittimen yleiskatsaussivulla (voit päivittää workflow-viittaukset “Show Workflow references” -painikkeella):

Määritä Workflow Orchestration -solmun toiminnot
Generic REST call
Lisää Orchestration-solmu työnkulkuusi ja määritä seuraavat asiat.
Name – aseta kuvaava nimi
Description – aseta kuvaava kuvaus
Orchestrate – valitse Provisioning Engine
Data Source – valitse Generic REST API
Activity – valitse Generic REST call
Target – valitse tapahtumatehtäväsi (samaa tehtävää voi käyttää useissa orkestrointisolmuissa)
Action – valitse toiminto sen mukaan, mitä REST-rajapintaa kutsut (tarkista oikea toiminto API-dokumentaatiosta). Tuetut toiminnot ovat: POST, PUT, PATCH, DELETE ja GET
REST URL – API-päätepiste, jota kutsut. Tämä voi olla koko url tai url:n loppuosa. Jos käytät loppuosaa, kutsuttava lopullinen url muodostetaan yhdistämällä kaikki seuraavat: liittimen host url + tehtävän query + orkestrointisolmun url. Voit käyttää template-attribuuttimuuttujia samaan tapaan kuin email-solmussa, dollari-syntaksilla, esimerkiksi: $attribute_code$ ja $reference:attribute_code$.
Huomio! Jos url:ssasi on välilyöntejä tai $-merkkejä, muista url-koodata ne. Eli $ on %24 ja välilyönti on %20
Rest Body – API-kutsun json-runko. Voi olla tyhjä, jos kutsumasi API ei tarvitse runkoa. Katso rungon tiedot API-dokumentaatiosta. Voit käyttää template-attribuuttimuuttujia samaan tapaan kuin email-solmussa, dollari-syntaksilla, esimerkiksi: $attribute_code$ ja $reference:attribute_code$.
Esimerkiksi tässä rungossa on kaksi muuttujaa: $firstname$ ja $lastname$
{"name": {
"givenName": "$firstname$",
"familyName": “$lastname$”}}

Jos sinun on luotava monimutkainen json-runko API-kutsua varten, voit ensin muodostaa koko json-rakenteen johonkin datacardin attribuuttiin. Sen jälkeen rungossa tarvitsee olla vain kyseisen attribuutin koodi, esimerkiksi näin: $generated_json_body_attributecode$

Miten luoda JSON-runko koodissa
How to generate JSON in workflow
Use json library to read value from JSON
This example is for example for OnPremisesExtensionAttributes, but this same approach can be used for all kinds of JSON messages for Microsoft Graph API and REST API's.
To read 1 specific value from JSON which looks like this:
{ "extensionAttribute1": "test data1", "extensionAttribute2": null, "extensionAttribute3": null, "extensionAttribute4": "EXT", "extensionAttribute5": null, "extensionAttribute6": null, "extensionAttribute7": null, "extensionAttribute8": null, "extensionAttribute9": "HR functions", "extensionAttribute10": "100", "extensionAttribute11": null, "extensionAttribute12": null, "extensionAttribute13": null, "extensionAttribute14": "test5", "extensionAttribute15": "M365_E5" }
You can do it easily with following code on workflow script.
Example (example uses two esm attributes: onPremisesExtensionAttributes and extensionAttribute14code):
import json
if onPremisesExtensionAttributes:
_data = this.get("onPremisesExtensionAttributes")
_obj = json.loads(_data)
_value = _obj["extensionAttribute14"]
this.set("extensionAttribute14code",_value)
Remember to always test, that code selects correct data from JSON for your use-case, and if not, do needed adjustments to it.
Rest Response Attribute – API-kutsun tulosjoukon json kirjoitetaan tähän attribuuttiin. Kaikki API:t eivät palauta vastaus-jsonia. Katso tarkemmat tiedot API-dokumentaatiosta. Huomio! Tämä ei sisällä varsinaista http-koodia, esim. 200, 401, 500 jne., vaan ainoastaan tulosjoukon viestin, jos API sellaisen palautti.
How to read value from JSON in workflow
Use json library to read value from JSON
This example is for example for OnPremisesExtensionAttributes, but this same approach can be used for all kinds of JSON messages for Microsoft Graph API and REST API's.
To read 1 specific value from JSON which looks like this:
{ "extensionAttribute1": "test data1", "extensionAttribute2": null, "extensionAttribute3": null, "extensionAttribute4": "EXT", "extensionAttribute5": null, "extensionAttribute6": null, "extensionAttribute7": null, "extensionAttribute8": null, "extensionAttribute9": "HR functions", "extensionAttribute10": "100", "extensionAttribute11": null, "extensionAttribute12": null, "extensionAttribute13": null, "extensionAttribute14": "test5", "extensionAttribute15": "M365_E5" }
You can do it easily with following code on workflow script.
Example (example uses two esm attributes: onPremisesExtensionAttributes and extensionAttribute14code):
import json
if onPremisesExtensionAttributes:
_data = this.get("onPremisesExtensionAttributes")
_obj = json.loads(_data)
_value = _obj["extensionAttribute14"]
this.set("extensionAttribute14code",_value)
Remember to always test, that code selects correct data from JSON for your use-case, and if not, do needed adjustments to it.
Provisioning exception – jos REST-rajapintakutsussa on ongelma, virhe kirjoitetaan tähän attribuuttiin.

Poikkeusten käsittely:
- Provisioning exception on valinnainen ominaisuus tässä työnkulkusolmussa. Pääkäyttäjät voivat ottaa tämän ominaisuuden käyttöön, jolloin poikkeukset kirjoitetaan sinne, jos provisiointitoimien aikana ilmenee poikkeuksia.
- Solmun tulos on tilassa “Completed”, jos REST-rajapinnan http-vastauskoodi on 200 tai suurempi ja alle 400.
- Tiedot onnistuneista/epäonnistuneista REST-rajapintakutsuista löytyvät lokeista.
Tällä Generic REST API -liittimellä luodut liittimet
Microsoft Azure DevOps: https://docs.efecte.com/configure-connectors/ms-ado-connector
Google: https://docs.efecte.com/configure-connectors/google-connector
Raynet: https://docs.efecte.com/configure-connectors/raynet-connector
Matrix42 Enterprise and Matrix42 Software Asset Management (SAM): https://docs.efecte.com/configure-connectors/m42enterprise-sam-connector
Vianmääritys
Tässä luvussa kuvataan vianmääritysvaihtoehdot,
- Jos failure template on käytössä, tarkista virhetiedot oikealta datacardilta
- Tarkista ajastetun tehtävän historia connector managementista
- Tarkista Matrix42 Native Connectors -lokit, jotka löytyvät Connectors-välilehden Logs-osiosta
- Tarkista FAQ-dokumentit
Rajoitukset
Tapahtumapohjaisten tehtävien rajoitukset
- Liittyy attribuuttimappauksiin
- Sähköposteja ei tueta
- Liitteitä ei tueta
Ajastettujen tehtävien rajoitukset
- Vain GET-http-metodia tuetaan (POST, PATCH, DELETE jne. eivät ole tuettuja)
- Dynaamisia url-parametreja ei tueta
- Liittyy attribuuttimappauksiin
- Date-tyyppiset attribuutit (nämä on mapattava string-tyyppiseen attribuuttiin)
- DateTime-tyyppiset attribuutit (nämä on mapattava string-tyyppiseen attribuuttiin)
- Sähköposteja ei tueta
- Liitteitä ei tueta
Table of Contents

