Overview
General considerations for job postings (query parameters, location, etc.)
still apply. See the AI Apply documentation
for details.
Depending on the number of job postings you want to import into AI Apply, adding them one by one can take a long time.
Additionally, you will have to continually keep job postings in AI Apply up to date, archiving and updating them as required.
With job feeds and bulk imports, we will handle this for you! You can import a large number of postings at once and continually send updates to us as you receive them from your providers.
Creating, archiving, and updating job postings are automatically taken care of.
Job feeds
Bulk imports are managed through Job Feeds. Each job feed represents a self-contained list of jobs from a single source, for example, a Recruiting agency.
Before you can send data for a job feed, you need to create it in the Kombo Dashboard.
Choose clear, descriptive names for Job Feeds. Whenever possible, use the data
source name so you can easily track the origin of imported job postings later.
How bulk imports work
Each import you send to us includes a newline-separated list of JSON records as a request body. Each record maps to a job posting in AI Apply.
{ "url": "https://careers.acme.com/job/1", "career_site_label": "ACME Corp" }
{ "url": "https://careers.acme.com/job/2", "career_site_label": "ACME Corp", "job_code": "ENG-123" }
{ "url": "https://careers.acme.com/job/3", "career_site_label": "ACME Corp", "location": { "country": "US", "postal_code": "94115" } }
If any record is invalid or ill-formatted, the import process will be aborted.
You can resume the import at any time after fixing the faulty record by simply re-submitting the request.
The following logic is used to generate career sites, job postings, and job posting statuses from your data:
- Career sites are auto-generated for each unique
career_site_label.
- Job postings are identified by
url, career_site_label, and job_code (same combination means same posting).
- Existing postings are updated; new ones are created and queued for parsing.
- Missing postings are archived automatically (parsed data is preserved for re-import).
Note: Job postings imported through different job feeds are always treated
as distinct!
You can find the endpoint in our API documentation: POST Bulk Import