INTEGRATIONS
Your ATS stays. Krudo plugs in.
No rip-and-replace, no new tool for the team to learn. Candidates are picked up where they already arrive, and results are written back where your team already works.
+ 40 OTHERS VIA API & WEBHOOKS - AND ANY PAGE VIA THE EXTENSION
THE STACK
Plugs into the ATS you already have.
Krudo doesn't replace your hiring stack - it sits on top of it. Candidates are picked up where they already arrive, and results are written back where your team already works.
One-click OAuth
connected in 30 seconds, for the whole team
Results written back
scores and bands appear as fields in your ATS
No ATS? No problem
the extension works on any page where a candidate exists
SETUP
Connected in three steps, none of them technical.
Connect with OAuth
One click, done once for the whole team. Read-only on the applications, candidates, attachments and job posts an assessment needs, and one write: the result, back on the application. Revocable at any time from your ATS.
Step 01once, for the team
Candidates flow in
Every new application is picked up automatically and assessed on arrival. No CSV, no forwarding, no copy-paste - the pipeline you have is the pipeline Krudo reads.
Step 02on arrival
Results flow back
Score, band and key finding appear as fields on the application in your ATS. Your team filters, sorts and builds automations on them like any other field.
Step 03as ordinary fields
WRITTEN BACK
The result lives inside your ATS, as ordinary fields.
Your team doesn't open Krudo to benefit from it. The score is a sortable column, the band is a filter, and the full report is one link away - inside the tool they already live in.

API & WEBHOOKS
Not on the list? API and webhooks cover the rest.
A REST API to submit applications and read results, webhooks to push results wherever you need them - and the extension works on any page, ATS or not.
POST/v1/applications
submit an application
GET/v1/applications/:id/result
read score, band, findings
POST/v1/webhooks
push results wherever you need
import { Krudo } from "@krudo/node";const krudo = new Krudo({ apiKey: "YOUR_API_KEY" });await krudo.applications.assess("app_8f3k2", { sources: ["cv", "profile", "email"], webhook: "https://your-ats.example/krudo",});Screen the next one before you meet them.
Install the extension, open any candidate, and see what Krudo finds. Thirty seconds, no card.