The XML feed enables employers to automate job posting from their Applicant Tracking System (ATS) to Handshake.
This article answers common questions about setting up and managing an XML job feed, including how jobs are posted and synced, how XML differs from a direct ATS integration, what information is transmitted, and which configurations are supported.
For the complete setup process, refer to A Guide to Handshake XML Job Feed.
FAQs
ATS and XML
What is an XML job feed?
An XML job feed is an automated job feed that imports job listings from an Applicant Tracking System into Handshake.
Your ATS, feed provider, or technical team creates an XML file containing the jobs you want to post and provides a URL that points to the file. Handshake processes the file once per day to import new jobs and close jobs that are no longer included in the feed.
Only jobs included in the XML file are imported into Handshake.
How does an XML job feed differ from an ATS integration?
The main difference between an XML job feed and an ATS integration is the scope of the connection.
An XML job feed automates job posting. It imports jobs from an ATS through an XML URL, posts them to Handshake, and closes them when they are removed from the feed.
An ATS integration supports additional recruiting workflows. Depending on the integration, this may include:
- Syncing applicant or candidate data
- Selecting the schools where jobs are posted
- Tracking applicant sources
- Marking students as hired
- Connecting recruiting activity to reporting
An XML job feed can be generated from any ATS that meets Handshake’s XML requirements. An ATS integration requires an available direct integration.
How does Handshake protect the security and privacy of an XML job feed?
XML job feeds must use a publicly accessible URL, which is an industry-standard method for sharing public job listings with job platforms.
Only the public job information included in the XML feed, such as public job posting details, flows from your Applicant Tracking System into Handshake. No other ATS data is transmitted through the XML feed.
Can an employer use both an XML job feed and an ATS integration at the same time?
No. Employers must choose one method.
An XML job feed automates job posting. An ATS integration supports a broader set of recruiting workflows.
Is an ATS required to use the XML feed?
Yes. The XML feed pulls directly from the employer's ATS.
Does the XML feed work with all ATS platforms?
Employers can use any ATS that can generate an XML feed that meets Handshake’s XML job feed requirements.
A formal Handshake ATS integration is not required.
Where do candidates apply? Does the XML job feed direct them to the ATS?
The XML feed typically includes an apply_url that directs applicants to the employer’s ATS or career site.
If an application URL is not provided, candidates can apply directly through Handshake. However, this configuration is uncommon for jobs posted through an XML feed.
Job feed requirements
What fields are required for the XML job feed?
For required XML fields, accepted values, salary structure, and location formatting, refer to XML Job Feed Requirements.
Integration settings
Where do I enter the XML URL?
Add the XML job feed URL from the Job Feed page in Handshake.
- Navigate to Company Settings.
- Click the Job Feed tab in the left navigation menu.
- Paste the XML job feed URL into the Job feed link field.
- Click Validate.
Feed filters
Will all jobs from the XML feed be posted to Handshake automatically, or can I limit postings to only early career/entry-level roles?
Only jobs included in the XML feed are posted to Handshake. To limit postings to specific job types, such as early-career or entry-level roles, apply filters within the XML feed before it is sent to Handshake.
Employers or their feed providers should ensure that the feed contains only the jobs they intend to post.
Posting to schools
Does the XML feed post jobs to all schools / the full network?
No. Jobs are only posted to schools where the employer is auto-approved.
Note: A job may still need to meet school-specific criteria. For example, some schools do not allow unpaid or temporary positions, and some jobs may require additional approval.
Who can post jobs through the XML feed?
Only users with the Owner or Admin role can post jobs through the XML feed.
Timing & job syncing
How does the job posting process work? Is manual approval needed like it is for some ATS integrations?
Jobs in the XML feed are imported directly into Handshake and posted automatically. No manual action is needed. When a job is removed from the feed, it is closed in Handshake and moved to the Closed tab.
How long does it take for jobs to appear in Handshake?
Jobs may take up to 24 hours to appear, depending on volume. If your jobs do not appear, navigate to the XML setup page and review the activity log for errors.
How often does Handshake process the XML feed?
Handshake retrieves and processes the XML file once per day.
Can jobs be posted at scale?
Yes. The system processes job feeds asynchronously to support high-volume submissions.
Job updates and changes
What happens if I edit a job’s title, description, or other information after it has been posted to Handshake?
After a job has been posted in Handshake through XML feed ingestion, changes made to the XML feed are not automatically applied to the existing Handshake posting.
For example, if the job description, location, or other information is changed in the XML feed after the job has been posted, the changes are not reflected in Handshake.
Use one of the following options to update the job:
- Open the job in Handshake and edit it directly.
- Remove the job from the XML feed and repost it with a new
source_reference.
Does the XML feed automatically expire jobs that are closed in the ATS like our ATS integrations do?
Yes. If a job is marked as closed in the ATS and no longer appears in the XML feed, it is automatically archived in Handshake during the next daily sync.
Source tracking and XML
Can Handshake append a source to application URLs from the XML feed? Is the appended source customizable?
Handshake can append the source value Handshake through an internal setting enabled by Handshake Support.
Employers can use either of the following options:
- Add the source code to application URLs before submitting the XML feed.
- Contact Handshake Support and request that the
Handshakesource setting be enabled.
Note: Source names should match the values expected by the employer’s ATS to avoid tracking errors1. Can an employer use both XML and ATS integration at the same time?
Technical details
Where does the XML feed retrieve data from?
The XML feed retrieves job information through the provided XML URL.
Is XML the only supported format? Does Handshake support other formats, such as FTP?
Yes. XML is the only supported job feed format at this time.
Handshake does not support FTP or other file-transfer formats for job feed ingestion.
Can employers post one job to multiple locations?
Yes. A single job can include up to 50 locations.
Is there a job limit for each feed?
Yes. Each XML feed can contain up to 5,000 jobs.
What happens if one job in the feed has an error?
Valid jobs in the feed are still posted.
Errors for invalid jobs are recorded in the activity log for the employer to review and correct.
Can multiple XML files be submitted?
No. Only one XML file per feed is supported.
Each time the file is processed, new postings are created in Handshake. If a posting is removed from the file, it is archived.
Who hosts the XML file?
Employers must host their own XML file. Handshake does not provide XML file-hosting services.
The XML file must be available through a publicly accessible HTTP or HTTPS URL.
Who receives notifications for jobs posted through the XML feed?
The Owner of the employer account receives job-related notifications.
Different hiring-team members cannot currently be assigned to individual jobs through the XML feed.
How can I get IP addresses for allowlisting?
If your system requires IP allowlisting, contact Handshake Support to request the required information.
Unsupported configurations
Can I use a SOAP URL for my feed?
No. SOAP endpoints are not supported. Use a standard HTTP or HTTPS URL that points to an XML file.
Can I export CSV data to an SFTP server instead of providing an XML feed?
No. Scheduled CSV exports to an SFTP server are not supported as a replacement for an XML file.
Can I provide an authenticated or password-protected XML feed?
No. Authenticated or password-protected XML feeds are not supported. The XML file must be accessible through a public URL without authentication
Troubleshooting common errors
Why did my XML job feed fail?
XML job feeds often fail because of one or more of the following issues:
-
Invalid XML tags
- Spaces or unexpected characters in XML tags.
Example: <job title> instead of <job title>
- Spaces or unexpected characters in XML tags.
-
Incorrect or unexpected field values
- For example, employment_type accepts only Full-Time or Part-Time
-
Missing required fields
- For example, missing title or source_reference, or missing values within tags
-
Incomplete internship or temporary job data
- If duration is set to Temporary, start_date and end_date are required