What Kini does with your customers' Sage HR positions.
Sage HR manages positions, their status and their job descriptions in its recruitment module. Kini brings the published ones across as jobs, one end customer at a time. These are the five parts of that work Kini takes on.
Each end customer's own Sage HR account
Kini connects to every end customer's Sage HR account separately, using that account's own subdomain and an API key from it. API access has to be enabled in the Sage HR account first. Because each account is read on its own, every imported job is assigned to the end customer it came from, and positions from different customers never mix.
Published positions only
Sage HR gives every position one of five statuses: draft, published, internal, completed or cancelled. Kini asks Sage HR for published positions only. Drafts, internal positions and positions marked completed or cancelled stay in Sage HR, so the jobs that reach Kini are exactly the ones the end customer has chosen to publish.
Description blocks kept as job sections
A Sage HR job description is made of titled blocks. Kini keeps each block as its own section of the job and gives it a type: Description becomes the introduction, Requirements the candidate profile, Benefits the benefits, and More Details or any other block a general section. A combined description with the block titles as headings is stored alongside.
Team and employment type in standard values
Sage HR labels a position's team and employment type in plain text, such as Management or Full-time. Kini maps the team to its job category and the employment type to its standard employment types. A label Kini does not know yet goes onto its mapping list instead of being guessed, and the original value stays with the job.
Closed positions are archived in Kini
When a position in Sage HR is completed or cancelled, it drops out of the published positions Kini reads. After the next sync run, Kini archives the job, marking it as no longer available at its source. Nobody has to remove it by hand. If a sync finds no published positions at all, nothing is archived in that run.
Every field. Every entity.Exactly where it belongs.
The Sage HR integration is inbound. Kini reads positions from Sage HR's recruitment API and stores each one as a job, together with its description blocks. The field names below are spelled as Sage HR's API documents them.
Positions
Description blocks
Sage HR returns a position's location as a single text value and its team as a plain label. Kini stores the location as the job's location name and maps the team to its category; Sage HR's position data has no separate street, postcode or country fields.
Operations like GET, POST, PATCH are documented per endpoint in the . The primary source for field definitions. Kini adds mapping and fallback logic on top.
Step 1Connect
Step 2Map
Step 3Test
Step 4Go-live!
End-to-end GDPR consent
Every application that flows through Kini carries a consent flag, mirrored on the target system's side and traceable in audits.
Native-language custom fields
Locations, departments and sources are mapped correctly even when they use German naming conventions or regional variants, whether your customers sit in DACH or operate internationally.
Application flows for a wide range of job boards
Stepstone, Indeed, Jobrapido and regional boards each have their own required fields, screening patterns and encoding rules. Kini's mapping engine is trained for those: out of the box, not as a custom project.
Operated by the Kini team
Kini runs the connection for you, including monitoring and alerts. If a vendor changes an API or a mapping breaks, our team fixes it before it reaches your funnel. Operated from Germany.
Frequently asked questions about the Sage HR integration.
What Kini imports from Sage HR, which positions qualify, how often Kini syncs, and what happens to a job once its position closes.
Published positions from the end customer's Sage HR recruitment module. For each one, Kini takes the position ID, title, location, team, employment type, the position's link and its description blocks. The link becomes the job's posting and application URL, the team its category, and each description block a section of the job description.
Only positions with the status published. Sage HR also has draft, internal, completed and cancelled positions, and Kini leaves all of those in Sage HR. Kini reads the published positions page by page until Sage HR reports no further page, so an account with many open positions comes across in full rather than only its first page.
Three things: API access enabled in their Sage HR account, an API key from that account, and the subdomain the account runs under. Kini keeps the key with that end customer's configuration and uses it to read the account's positions. Every end customer connects with their own key, so no account is read with another customer's access.
On a schedule set for each end customer, and once right away when the end customer is activated in Kini. A partner can also start a sync through Kini's API without waiting for the next scheduled run. Every run goes through all pages of published positions that Sage HR returns and brings the jobs in Kini up to date.
The job is archived. A completed or cancelled position is no longer among the published positions, so the next sync run does not return it, and Kini archives every Sage HR job of that end customer the run left out. One exception applies: a run that finds no published positions at all leaves the existing jobs active.
It keeps them. Kini recognises Sage HR's Description, Requirements and Benefits blocks and types them as introduction, candidate profile and benefits. Any other block, such as More Details, becomes a general section under its original title. Kini also stores the full description as one text, with each block title as a heading.
No. Positions are still created, edited, published and closed in Sage HR, which stays the system of record for them. Kini reads what Sage HR publishes, keeps the matching jobs in Kini in step with it, and makes them available to the partner and its channels without anyone copying positions across by hand.
Trusted by recruiting teamsacross europe.
From enterprise HR platforms to lean recruiting boutiques. Teams use Kini to connect their tools without involving engineering. Here's what they say.
"Kini syncs candidates from Perspective straight into our customers' ATS. That saves us manual transfers and around four hours a week."

"Kini gets enterprise customers on SAP SuccessFactors live much faster. Fewer technical hurdles in sales, around 20% more conversion."
"With Kini, we sync candidates straight into our customers' ATS through 65+ integrations. We don't need an extra full-time hire for it."



























