Purpose
This document provides an implementation overview for Flat‑File (SFTP) Applicant Integrations with Radancy.
It covers a one‑way data synchronization in which applicant and application data is delivered from a customer’s Applicant Tracking System (ATS) to Radancy using XML or JSON files over SFTP. This integration approach is commonly used when API‑based integrations are not feasible.
This guide is intended for technical customer contacts and implementation stakeholders who are responsible for coordinating ATS data delivery in partnership with Radancy.
The terms Applicant and Candidate are used interchangeably across ATS and Radancy systems unless otherwise noted.
Integration Scope
Flat‑file applicant integrations support inbound applicant data only, delivered from the ATS into Radancy’s Applicant Importer and consumed by the following products:
- CRM
- Employee Referrals
- Insights & Analytics
This integration model supports scheduled batch processing, not real‑time updates.
SFTP Integration & Security
Flat‑file integrations rely on secure file transfer (SFTP).
Preferred approach:
- Radancy creates and manages the SFTP location used by the customer or ATS to deliver files
- Credentials are provided during implementation
Alternate approach (supported):
- The customer or a third party manages the SFTP location
- Credentials must be provided to Radancy
Additional security options may be implemented depending on ATS capabilities, including:
- PGP/GPG file encryption
- SSH key authentication
Radancy conducts feasibility review for any additional security requirements during implementation planning.
Environments & Testing
When standing up a flat‑file applicant integration, Radancy normally expects two environments across the integration lifecycle:
Staging / Non‑Production
- Used for configuration, testing, and validation
- Contains test or non‑live applicant data
- Required to validate mappings prior to production
Production
- Used for live applicant data after validation is complete
The data structure in staging should mirror production to ensure mappings function as expected.
If a staging environment is not available, Radancy can work with live candidate data; however, UAT may be limited under those conditions. Radancy requires both applicant data and job data in the Radancy sandbox for proper UAT.
Radancy Applicant Model
Applicant data delivered via flat‑file is mapped to the Radancy Applicant Model for use across the Radancy platform.
The model includes:
- Candidate profile attributes
- Application‑level data
- Job context associated with each application
- Application status and status history (when available)
Fields are categorized as:
- Required – Needed for integration stability
- Recommended – Needed for features such as matching, search, and reporting
- Optional – Supported when available
Radancy understands that data available in an ATS may not include every attribute in the model and works with customers during implementation to determine final mappings.
| Field Name | Description | Required | Editable |
| emailAddress | String. Email address of candidate | Required | No |
| importCreationDate | DateTime | Optional | |
| importUpdateDate | DateTime | Optional | |
| atsProfileupdateDate | DateTime | Required | |
| applicantId | String. The unique id of candidate from ATS | Required | No |
| startDate | Nullable DateTime. Applicant’s start date (Hired state) | Required | |
| firstName | String | Recommended | |
| lastName | String | Recommended | |
| Address | Concrete object type | ||
| country | String (Full name or ISO 2-Digit Alpha Country Code. If ISO 3-Digit Alpha Country Code, not able to import to CRM) | Recommended | |
| state | String (Full name) | Recommended | |
| stateCode | String (2-Digit state code. State or StateCode, provide either of them) | Recommended | |
| city | String | Recommended | |
| address | String | Optional | |
| address2 | String | Optional | |
| zipcode | String | Recommended | |
| Phone Number(s) | Array Type | ||
| Type | Integer. Enum stands for phone type (1: HomePhone, 2: MobilePhone, 3: OfficePhone) | Recommended | |
| Value | String. Phone number | Recommended | |
| Education(s) | Array Type | ||
| schoolName | String | Recommended | |
| major | String | Recommended | |
| degreeObtained | String | Recommended | |
| startMonth | Nullable integer | Optional | |
| startYear | Nullable integer | Optional | |
| endMonth | Nullable integer | Optional | |
| endYear | Nullable integer | Recommended | |
| IsCurrent | Boolean. Is currently working or studying here? | Recommended | |
| Work Experience(s) | Array Type | ||
| companyName | String | Recommended | |
| title | String | Recommended | |
| workDescription | String | Recommended | |
| startMonth | Nullable integer | Recommended | |
| startYear | Nullable integer | Recommended | |
| endMonth | Nullable integer | Recommended | |
| endYear | Nullable integer | Recommended | |
| IsCurrent | Boolean. Is currently working or studying here? | Recommended | |
| Tags | Array Type | ||
| tag | String. Candidate tag set in ATS profile. Include Tag ID attribute if available. | Optional | |
| Application(s) | Array Type | ||
| applicationId | String. Job application id from ATS | Required | No |
| reqId | String. Job requisition id | Required | |
| title | String. Job title | Required | |
| applicantId | String. The unique id of candidate from ATS | Required | |
| importCreationDate | DateTime | Optional | |
| importUpdateDate | DateTime | Optional | |
| atsUpdateDate | DateTime. Job application update time from ATS | Required | |
| status | Application Object type. Saves the current status of this application | ||
| mainStatus | String. Main status of current application | Required | |
| subStatus | String. Sub status of current application | Required | |
| updated | DateTime. Job application update time from ATS | Required | |
| Profile | Application Object type. Properties described below in "Profile" cells | ||
| applicationDate | Nullable DateTime | Optional | |
| hireDate | Nullable DateTime | Optional | |
| startDate | Nullable DateTime | Optional | |
| ethnicity | String | Optional | |
| gender | String | Optional | |
| atsSource | String | Optional | |
| jobInformation | Application Object type. Saves job information of this application. | ||
| businessUnit | String | Optional | |
| department | String | Optional | |
| function | String | Optional | |
| positionLevel | String | Optional | |
| jobCategory | String | Optional | |
| jobCity | String | Optional | |
| jobState | String | Optional | |
| jobPostalCode | String | Optional | |
| jobRegion | String | Optional | |
| jobCountry | String | Optional | |
| statusHistory | Application Object type. List of all previous Status types. | ||
| mainStatus | String | Recommended | |
| SubStatus | String | Recommended | |
| updated | DateTime | Recommended |
Formatting Requirements
The following formatting standards apply to flat‑file applicant integrations:
- DateTime
- Format:
YYYY-MM-DDThh:mm:ss - Example:
2021-02-20T04:05:27
- Format:
- Phone Numbers
- Multiple formats are supported
- Validation occurs during UAT
Improper formatting may result in data ingestion issues or delayed processing.
Important Implementation Notes
- Not all ATS platforms supply every field in the applicant model
- Required fields must always be present for integration stability
- Recommended fields significantly improve downstream functionality
- Changes to ATS workflows, statuses, or exports should be communicated to Radancy prior to implementation or updates
Radancy works with customers to align available ATS data to the standard applicant model during implementation.