I have been part of SAP Cloud HCM Integration team since I joined SAP in 2014. After working on couple of integrations between SAP Successfactors and third party vendors, I started working on Integration Center. I have been part of Integration Center development team since the project started and have seen Integration Center grow from a proof of concept to a Go-To tool for lot of customers and partners for most integration needs of Successfactors. The blog talks about Attachment Import feature of Integration Center and provides a step-by-step guide to solve some of the use cases involving Attachments in Successfactors.
Integration Center
The Integration Center enables HR business analysts to build, run, schedule and monitor simple integrations. Integration Center helps building integrations quickly and easily through a guided workflow.
Importing Attachments to SuccessFactors
Introduction
With b1708 release, Integration Center started supporting import of attachments as a Beta feature. There are certain entities in SuccessFactors which hold attachment data. You can use integration center inbound feature to import attachments to such entities.
Pre-requisites
- Integration Center is enabled in the SuccessFactors instance
- Basic knowledge of how to use Integration Center
Use case 1 (Uploading profile pictures of the users)
There are a set of users created in SuccessFactors system. An admin has photos which need to be uploaded in the system as profile pictures of the users.
Steps
Preparing a CSV file containing master data
Prepare a CSV file which contains data to be imported. For uploading photos of the users, the file should contain user id of the users and name of the file to be uploaded as profile picture for the user. In the CSV file, the first row is treated as header. Following is a snapshot of sample data:
Uploading files to SFTP server
The CSV file prepared in Step1 should be uploaded in a folder on SFTP server. Also the corresponding image files should uploaded in the same SFTP folder. For the above sample data, along with the CSV file, cgrant_photo.png, markhoff.jpg and john.png should be uploaded on the SFTP server.
Creating integration with Integration Center
- Login to SuccessFactors application and Navigate to Integration Center
- Create a new CSV inbound integration with starting entity ==> Photo
- Navigate to Configure Fields tab and upload the sample CSV file prepared in Step1
- Define mapping between source fields and target fields
- photoType <-- Default value (1)
- photo type 1 refers to master copy of user profile photo
- userId <-- Column 1 (UserId)
- photo <-- Column 2 (Photo)
- This field is of type Edm.Binary. This is the field which holds the file content. While defining mapping, this field should be mapped to name of the image file to be uploaded.
- photoName <-- Column 2 (Photo)
- This field holds name of the photo file.
- Navigate to Source Settings tab and specify SFTP details.
- Enter server address and credentials and folder location of the SFTP server where the CSV file and photos are uploaded in Step2
- Enter name of the CSV file (without file extension) in the File Name Prefix field
- Chose file extension as csv
- Specify Processing Folder where the files should be moved post-processing
- Save the integration and click on Run Now to test the integration
Verify the integration
Once the integration has run you can go to user profiles and verify that the photos are uploaded
Use Case 2 (Uploading resume and other documents to Job Application)
The admin needs to upload a set of Job Applications in the SuccessFactors system. The job applications have corresponding resumes and cover letters which should also be uploaded in the system.
The steps to implement this use case are similar to the steps explained for previous use case. A CSVfile containing job application data along with file names of resume and cover letters need to be prepared. The CSV file, cover letters and resumes should be uploaded on an SFTP server.
For this use case we need to select Job Application as starting entity and define mappings for cover letter and resume.
Additional details
- Deep Write
- The inbound integration with Integration Center also supports deep writes. So, you can create an integration with Job Application as main entity and define mapping for cover letter, resume and other associations. Because of this feature, single integration can upload Job Applications, upload resumes and cover letters and associate them with corresponding Job Application records.
- Defining Mapping
- Since we are starting with Job Application as main entity, to define mappings for Cover letter and Resume, expand the node with Cover Letter ( or Resume ) and define mapping for fields under it.
- Cover Letter > fileContent <-- CSV column holding name of the cover letter
- Cover Letter > fileName <-- CSV column holding name of the cover letter
- Cover Letter > module <-- Default value (RECRUITING )
- Resume > fileContent <-- CSV column holding name of the resume
- Resume > fileName <-- CSV column holding name of the resume
- Resume > module <-- Default value (RECRUITING ) ( Note: Please refer to API documentation for Attachment to find out valid module values.)
Once the mapping is defined, specify the Source Settings, save and test the integration. On running the integration we should be able to see the job application created in the system along with Cover letter and Resume.
Attachments being one of the most important entity in SuccessFactors data model, this Integration Center feature can help simplify lot of Integration use cases around Attachments. The blog provides steps to solve some of those use cases. You can follow similar steps and solve many such integration use cases
🙂
Known Limitations
As of now, this solution doesn't work for importing attachments to custom MDF objects.
References
Integration Center Guide
Attachment API Documentation
Photo API Documentation
Job Application API Documentation