Kora Apply SDK is designed to be dropped into any website as an HTML snippet. For many web editors (Squarespace, Webflow, Framer, etc) this can be achieved using an Embed element or similar. The SDK is mapped one-to-one with jobs using unique identifiers. This means you can drop the SDK into any existing job page without updating the description, linking, etc.
What the start of the application should look like:

The SDK connects to your organization using a public key. You can find your public key my.hirekora.com under “Organization.”
<script src="<https://sdk.hirekora.com/kora-apply.js?v=20250919>"></script>
<div id="apply-container">Loading application…</div>
<script>
console.log("Starting KoraApply embed snippet...");
function initKora() {
console.log("initKora() called...");
const jobID = "**<Replace with Job ID>**";
const publicKey = "**<Replace with Public Key>**"
const container = document.getElementById("apply-container");
if (!container) {
console.error("No #apply-container found in DOM");
return;
}
console.log("Found #apply-container:", container);
if (!window.KoraApplyWidget) {
console.error("window.KoraApplyWidget is missing");
return;
}
if (typeof window.KoraApplyWidget.init !== "function") {
console.error("window.KoraApplyWidget.init is not a function");
return;
}
console.log("⚡ Running KoraApplyWidget.init with jobID + publicKey...");
container.innerHTML = "";
window.KoraApplyWidget.init("apply-container", { jobID, publicKey });
console.log("KoraApplyWidget.init() completed");
}
if (document.readyState === "loading") {
console.log("Document still loading, waiting for DOMContentLoaded...");
window.addEventListener("DOMContentLoaded", () => {
console.log("DOMContentLoaded fired, calling initKora()");
initKora();
});
} else {
console.log("Document already ready, calling initKora() immediately...");
initKora();
}
</script>