365Talents is integrated into the Customer IS ecosystem. This document describes the interconnection capabilities of 365Talents with these different systems.
General principles
Importing data from a Client IS tool into 365Talents enables automatic unilateral synchronization of the data. The source of the data is the Client IS, and 365Talents contains an up-to-date replica. For example, if job offers are already managed on an internal career site, a connector will automatically synchronise the two systems, enabling employees invited to 365Talents to receive personalised professional development opportunities from this career site.
While the essential Client prerequisite is to maintain an available and reliable source of quality data, all the initial configuration, monitoring and quality control of these data flows are the responsibility of 365Talents.
Synchronization works in bulk mode, i.e. in "cancel and replace" mode. The objective of each connector is to recover all the data on the source system so that it can be compared with the data contained in 365Talents. It is therefore necessary, for each type of data, to have a single source of truth enabling this comparison to be applied reliably.
| Presence of the data in the source system | Presence of the data in 365Talents | Action carried out on 365Talents |
|---|---|---|
| Yes | No | Création |
| Yes | Yes | Update |
| No | Yes | Deletion |
Operation of the synchronization system in "cancel and replace" mode
All actions are applied automatically, at a mutually agreed frequency, for example "every hour" or "every Monday morning at 8.30am".
365Talents also has quality control functions. Before any action is taken, 365Talents calculates all the update actions to be applied. It is possible to raise an alert and not apply the changes beyond a certain volume defined as an absolute number or percentage. So when the volume of data to be created, modified or deleted exceeds this limit, the process is stopped and no action is taken. For example, it is possible to prohibit the user update process if more than 25% of accounts are to be deleted.
365Talents has ETL (Extract-Transform-Load) capability, which enables incoming data to be modified and transformed in order to apply standardisations or modifications. Possible actions include: data format modification, file conversion, search and replace in data, filtering of received data to select a subset, etc.
SFTP
365Talents supports secure file transfer via the SFTP protocol.
365Talents offers an SFTP server on its own infrastructure as standard. Thus, the Customer deposits the file on 365Talents' infrastructure (outgoing connection from the Customer IS only).
The information concerning the 365Talents SFTP server is as follows:
- FQDN : files.365talents.com
- Public IP : 52.143.159.38
- Port : 22
- IP filtering of incoming connections: No
- Folder : /files
- Server Public Key: Available here
Accepted cipher suites:
- Symetric encryption after negotiation:
Ciphers
aes256-ctr,
aes192-ctr,
aes128-ctr,
chacha20-poly1305@openssh.com,
aes256-gcm@openssh.com,
aes128-gcm@openssh.com - Algorithms for Key Exchanges:
KexAlgorithms
curve25519-sha256,
curve25519-sha256@libssh.org,
ecdh-sha2-nistp521,
ecdh-sha2-nistp384,
ecdh-sha2-nistp256,
diffie-hellman-group18-sha512,
diffie-hellman-group16-sha512,
diffie-hellman-group14-sha256,
diffie-hellman-group-exchange-sha256 - Message Authentication:
MACs
hmac-sha2-512,
hmac-sha2-512-etm@openssh.com,
hmac-sha2-256,
hmac-sha2-256-etm@openssh.com,
umac-128@openssh.com,
umac-128-etm@openssh.com - Public Key types accepted:
PubkeyAcceptedKeyTypes
ssh-ed25519,
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
ecdsa-sha2-nistp521,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp384,
ecdsa-sha2-nistp256,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ssh-rsa-cert-v01@openssh.com,
ssh-rsa,
rsa-sha2-256,
rsa-sha2-512 - Host Key Signature Algorithms
HostKeyAlgorithms
ssh-ed25519-cert-v01@openssh.com,
ecdsa-sha2-nistp256-cert-v01@openssh.com,
ecdsa-sha2-nistp384-cert-v01@openssh.com,
ecdsa-sha2-nistp521-cert-v01@openssh.com,
sk-ssh-ed25519-cert-v01@openssh.com,
sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,
rsa-sha2-512-cert-v01@openssh.com,
rsa-sha2-256-cert-v01@openssh.com,
ssh-ed25519,
ecdsa-sha2-nistp256,
ecdsa-sha2-nistp384,
ecdsa-sha2-nistp521,
sk-ssh-ed25519@openssh.com,
sk-ecdsa-sha2-nistp256@openssh.com,
rsa-sha2-512,
rsa-sha2-256
ssh-rsa
Notes:
- Only the secure SFTP protocol is supported. The non-secure FTP protocol is not supported.
- Only public/private key authentication is supported. Password login is not supported.
- Within SFTP, each client has a dedicated space (separate from other clients) to which it has read/write access, enabling it to create sub-folders if necessary and to delete data if required.
- We recommend using a file name with a prefix that describes its content (e.g. users_) and a file timestamp. For example: users_YYYY_MM_DD_HH_mm_ss.csv
- Column names must be fixed
- CSV separators supported: comma (recommended), semicolon, tab
- File encodings supported: UTF8 (recommended), ISO-8859-1, ASCII
- Supported escape characters: inverted comma (recommended), backslash.
- Within a CSV file, special characters (such as separators if they are part of the data itself) must be escaped.
- The CSV file must contain all the fields indicated earlier in this section (see section "Functioning and content (fields) of the feed").
Initialization procedure :
- Customer generates a dedicated public/private key pair and sends to its the public key;
- 365Talents creates a user account and whitelists the Customer's public key;
- An initial connection test is then carried out.
Production procedure:
- The Customer deposits the file in the configured folder at any time, using the configured name.
- 365Talents consults the contents of the configured folder, lists the files whose name contains or begins with the configured name and downloads the last file available.
- 365Talents then synchronizes the data
Collaborator flow
Workflow function and content (fields)
The purpose of this flow is to synchronize the list of employees with access to 365Talents from the Customer's source system, typically a company directory or HR Information System (HRIS).\
A single data source is supported for this flow.
| Presence of the data in the source system | Presence of the data in 365Talents | Action carried out on 365Talents |
|---|---|---|
| Yes | No | Creation and email invitation of the user |
| Yes | Yes | Update of the user's properties |
| No | Yes | Deletion of the user and all his data |
How the employee flow works in "cancel and replace" mode
The fields required or supported are as follows (Template):
| Field name | Mandatory | Unique | Description |
|---|---|---|---|
client_id
| Yes | Yes | Unique identifier for the user in the Customer IS. Sometimes referred to as a "personnel number". This field must never be modified for a given user. Type : Free Maximum size: 45 characters Example: J2450 |
| Yes | Yes | The employee's professional email address. This field can be modified for a given user. Type : Email address Maximum size: 255 characters Example: pierre.jeannot@client.com | |
| last_name | Yes | No | Employee's surname. Type: Text Maximum size: 45 characters Example: Jeannot |
| first_name | Yes | No | First name of employee. Type: Text Maximum size: 45 characters Example: Pierre |
| job_name | Yes | No | Employee's job name. A job belongs to a job domain. Type: Text Maximum size: 255 characters Example: Senior IT Consultant |
| family_name | Yes | No | Name of the employee's job family. Type: Text Maximum size: 255 characters Example: IT |
| domain_name | No | No | Name of the employee's business area. A job area belongs to a job family. Type: Text Maximum length: 255 characters Example: Operations |
| contract | Yes | No | Type of employee contract. Type: Text Maximum size: 255 characters Example: Permanent |
| city | Yes | No | Employee's place of work Type: Text Maximum size: 255 characters Example: Bordeaux |
| country | Yes | No | Employee's country of work Type: Text Maximum size: 255 characters Example: France |
| manager_email | No | No | Type : Email address Maximum size: 255 characters Example: olivier.richard@client.com |
| rights_profile_code | No | No | Enables access to be configured according to an agreed nomenclature Type: Text, predefined nomenclature Maximum size: 45 characters Example: USER |
| language_AT_CREATION_ONLY | No | No | Default language of the user. Useful to determine the language in which the invitation email will be sent. Type: Text Maximum size: 2 characters Allowed values: 'fr','en','es','de','nl','sv','da','fi','ja','pl','ro','cs','it','pt' |
| additional_property_xxx | No | No | 365Talents supports a set of custom fields assigned to users. Type: Predefined nomenclature Maximum size: 255 characters |
All fields supported by the contributor flow
HTTP/HTTPS (CSV)
Required information :
- Protocol (required): HTTP or HTTPS
- URL (required) to request
- HTTP Basic Authentication (optional) : Username and password, if the resource is protected
Initialization procedure :
- The Customer provides 365Talents with the required elements.
Production procedure :
- 365Talents connects to the target URL ;
- 365Talents downloads the resource;
- 365Talents then synchronizes the data.
SFTP (CSV)
Please see above for SFTP general information.
The following types of SFTP flow for the employee flow have been tested and validated as functional in a production environment:
- Meta4
- ADERH
- Talentia
Lucca (API)
Information required:
- Hostname (required), for example xxx.ilucca-test.net
- API key (mandatory)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the Lucca API;
- 365Talents queries all Lucca users;
- 365Talents then synchronizes the data.
LDAP (API)
Information required:
- Connection data :
- Protocol (required), LDAP or LDAPS
- Domain (required)
- Port (required)
- DN (required)
- Password (required)
- Search query(s) (mandatory), to target the users to be queried. At least one of the two criteria must be provided
- DN (1 ou plusieurs) : name, filter
- Groups (1 ou plusieurs) : name, filter
- Time limit (optional) for queries
- Level of competition (optional) allowed for queries, to speed up the process
Initialization procedure :
- The customer provides 365Talents with the required configuration elements.
- An initial connection test is carried out.
Production mode:
- 365Talents connects to the customer's LDAP directory;
- For each DN configured, as well as for each Group configured, 365Talents requests all users present;
- 365Talents then synchronizes the data.
Opportunity Flows
Function and content (fields) of the feed
The purpose of this feed is to synchronize the list of opportunities (job offers, open positions, etc.) that can be suggested to employees registered on 365Talents from the customer's source system, typically an ATS (Applicant Tracking System) or an internal job board.
For this flow, a single data source is supported.
| Presence of the data in the source system | Presence of the data in 365Talents | Action carried out on 365Talents |
|---|---|---|
| Yes | No | Creation of the opportunity |
| Yes | Yes | Update of the opportunity's properties |
| No | Yes | Archival of the opportunity |
How the opportunity flow works in "cancel and replace" mode
The fields required or supported are as follows (Template):
| Field name | Required | Unique | Description |
|---|---|---|---|
| client_id | Yes | Yes | Unique identifier for the opportunity in the Customer IS. This field must never be modified for a given opportunity. Type : Free Maximum size : 100 characters Example : JOB_14 |
| type_code | Yes | No | Code for the type of opportunity, according to an agreed nomenclature. Type: Pre-defined nomenclature Maximum size: 255 characters Example: JOB_OFFER |
| name | Yes | No | Job title Type : Text Maximum size : 255 caractères Example : Senior Project Manager |
| description | Yes | No | Complete job description Type : Text Maximum size : 65.000 characters Example : As part of the development of our Nuclear activities in the Ile-De-France region, we are looking for a Senior Project Manager to strengthen our team. [...] |
| url | Yes | No | URL to which the employee will be redirected in order to apply for the job. Typically contains the URL of the offer on the Client's source system. Type: URL Maximum size: 1000 characters Example: https://int.client.com/apply/EMPLOI_14 |
| location | Yes | No | Place of practice relating to the offer Type : Text Maximum size: 255 characters Example: Bordeaux |
| country | Yes | No | Country of exercise relating to the offer Type : Text Maximum size: 255 characters Example: France |
| owner_email | No | No | Contact of the HR Referent of the job offer, so that the person receives a summary of the responses and can consult the offers. Type: Email Maximum size: 255 characters Example: john.smith@365talents.com |
| language | No | No | Language code in which the opportunity is written in. Type: Text Maximum size: 2 characters Allowed values: 'fr','en','es','de','nl','sv','da','fi','ja','pl','ro','cs','it','pt' |
| major_skills | No | No | List of the opportunity's core competencies Type: Text Data format : Data format : Skill_A(level_skill_A);Skill_B(level_skill_B) |
| minor_skills | No | No | Opportunity secondary skills list Type: Text Data format : Skill_A(level_skill_A);Skill_B(level_skill_B) |
| additional_property_xxx | No | No | 365Talents supports a set of custom fields assigned to opportunities. Type: Predefined nomenclature Maximum size: 255 characters |
All the fields supported by the opportunity flow
HTTP/HTTPS (CSV)
Refer to the section of the same title in the Collaborators feed, on this same page.
SFTP (CSV)
Please see above for SFTP general information.
Les types suivants de flux SFTP ont été testés et validés comme fonctionnels en environnement de production :
- Altays
- Technomedia
- SAP eRecruiting
RSS
Information required:
- URL (required) to request
- HTTP Basic Authentification (optional) : User name and password, if the resource is protected
The following types of RSS feeds have been tested and validated as functional in a production environment:
- RSS feed of job offers from TalentSoft
- With the following fields for each offer:
- Identifier
- TalentSoft URL
- Location
- Title
- Description, containing a summarised version of the offer, with the following TalentSoft fields, concatenated automatically and in this order:
- Job
- Contract
- Job description
- Profile
- Place of assignment
- See screenshot 1 and screenshot 2 to see the fields retrieved from a TalentSoft offer.
Initialization procedure :
- The Customer provides 365Talents with the required elements.
Production procedure :
- 365Talents connects to the target URL ;
- 365Talents downloads the resource;
- 365Talents then synchronizes the data..
Careerbuilder (API)
Information required:
- Hostname (required), for example xxx.luceosolutions.com
- Username (required)
- Password (required)
- Partner ID (required)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the Careerbuilder API;
- 365Talents queries all the job postings on Careerbuilder, then requests the position details (position detail) for each item;
- 365Talents then synchronizes the datas.
DigitalRecruiters (API)
Information required:
- OAuth URL (required)
- OAuth Client ID (required)
- OAuth Client Secret (required)
- API URL (required)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the DigitalRecruiters API;
- 365Talents requests all the job ads on DigitalRecruiters;
- 365Talents then synchronizes the data.
KioskEmploi / Gestmax (API)
Information required:
- API Base URL (required), for example https://example.fr/rest/v2
- User name (required)
- Password (required)
- Front(s) Office (required) : 2 possibilities to select or not : retrieve internal job offers (yes/no), recover public offers (yes/no)
- List of Useful Fields (optional) : list of fields to be retrieved from the API. By default : vacancy_id, vacancy_ref, vacancy_title, vacancy_date, vacancy_activation_date, customer_description, customer_id, customer_company, cust_sector, cust_presentation, cust_logo, cust_doc, cust_mobilite, cust_noe, application_link, vacancy_detail_url, vac_function, vac_region, vac_town, vac_noe, vac_mobilite, vac_experience, vac_contract, vac_video_ur, vac_presentation, vac_tasks, vac_profil, vac_offer, vacancy_language
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the KioskEmploi / Gestmax API;
- For each front office selected, 365Talents requests all the vacancies on KioskEmploi / Gestmax. Details are retrieved for each vacancy. If a vacancy is published on two front offices, it is only selected once so as not to create duplicates;
- 365Talents then synchronises the data..
SmartRecruiters (API)
Required information:
- OAuth Client ID (required)
- OAuth Client Secret (required)
- Company Identifier (required)
- Type of offers to be picked up (required) : Postings or Jobs. If Jobs, the OAuth scope needs to include jobs_read,users_read.
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the SmartRecruiters API;
- 365Talents requests all the postings or jobs on SmartRecruiters :
- It is not possible to retrieve both postings and jobs, only 1 type is supported at a time. Depending on choice :
- For postings: the details are retrieved;
- For jobs: the details are retrieved, as well as the job creator's detailed information (including email address) so that the referrer of each opportunity can be identified.
- 365Talents then synchronizes the data.
TalentSoft (API)
Required information:
- API Base URL (required),
- OAuth Client ID (required)
- OAuth Client Secret (required)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
- If the TalentSoft API is protected by IP whitelisting, 365Talents sends the Customer the IP of its servers so that the Customer can authorise the connection.
Production procedure :
- 365Talents connects to the TalentSoft API;
- 365Talents requests all the offer summaries in TalentSoft. The details of each item are retrieved (getOffer);
- 365Talents then synchronises the data.
Oracle Taléo (SOAP API)
Required information:
- API Base URL (required),
- User name (required)
- Password (required)
- Filter queries (required, in XML format or in the form of criteria listing specific fields)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements, including the XML queries and filter criteria required to select all the offers to be queried.
Production procedure :
- 365Talents connects to the Oracle Taléo API;
- 365Talents queries the set of Requisitions using the FindService SOAP service and the findPartialEntities method present on Oracle Taléo ;
- 365Talents then synchronises the data.
Training flows
The purpose of this flow is to synchronise the list of training courses (face-to-face, eLearning, blended learning, etc.) that can be suggested to employees registered on 365Talents from the Customer's source system, typically an LMS (Learning Management System) or a public training catalogue.
A single data source is supported for this flow.
| Presence of the data in the source system | Presence of the data in 365Talents | Action carried out on 365Talents |
|---|---|---|
| Yes | No | Creation and email invitation of the user |
| Yes | Yes | Update of the user's properties |
| No | Yes | Deletion of the user and all his data |
How the course flow works in "cancel and replace" mode
The fields required or supported are as follows (Template):
| Field name | Required | Unique | Description |
|---|---|---|---|
| client_id | Yes | Yes | Unique identifier for the course in the Customer IS. This field must never be modified for a given course. Type : Free Maximum size: 100 characters Example: LEARNING_14 |
| type_code | Yes | No | Code for the type of training, according to an agreed nomenclature Type: Pre-defined nomenclature Maximum size: 255 characters Example: ELEARNING |
| name | Yes | No | Training title Type: Text Maximum size: 255 characters Example: Discovering SCRUM project management |
| description | Yes | No | Full description of the course Type: Text Maximum size: 65,000 characters Example: In this course, you will discover [...] |
| url | Yes | No | URL to which the employee will be redirected in order to register for the course. Typically contains the training URL on the Customer's source system. Type: URL Maximum size: 1000 characters Example: https://int.client.com/train/LEARNING_14 |
| location | No | No | Place of training. Type: Text Maximum size: 255 characters Example: Bordeaux |
| country | No | No | Country in which the training takes place Type: Text Maximum size: 255 characters Example: France |
| owner_email | No | No | Contact of the HR person in charge of the training, so that the person can receive a summary of the answers and consult the offers. Type: Email Maximum size: 255 characters Example: john.smith@365talents.com |
| major_skills | No | No | List of the opportunity's core competencies Type: Text Data format : Data format : Skill_A(level_skill_A);Skill_B(level_skill_B) |
| minor_skills | No | No | Opportunity secondary skills list Type: Text Data format : Skill_A(level_skill_A);Skill_B(level_skill_B) |
| additional_property_xxx | No | No | 365Talents supports a set of custom fields assigned to courses. Type: Predefined nomenclature Maximum size: 255 characters |
All the fields supported by the training flow
HTTP (CSV)
Refer to the section with the same title in the Collaborators feed, on this same page.
SFTP (CSV)
Please see above for SFTP general information.
The following types of SFTP flows have been tested and validated as functional in a production environment:
- Syfadis Futurskill
RSS (XML)
Please refer to the section of the Opportunities feed with the same title, on this same page.
360Learning (API)
Required information:
- Hostname (required)
- Company (required)
- API Key (required)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the 360Learning API;
- 365Talents requests all active program sessions on 360Learning. For each element, details are retrieved via the linked program template. All associated skills are also retrieved;
- 365Talents then synchronizes the data..
LinkedIn Learning (API)
Required information:
- OAuth Client ID (required)
- OAuth Client Secret (required)
Initialization procedure :
- The Customer provides 365Talents with the required configuration elements.
Production procedure :
- 365Talents connects to the LinkedIn Learning API;
- 365Talents requests all the learning paths available on LinkedIn Learning for which the Customer has access via his lycence;
- 365Talents then synchronizes the data