Employee On–boarding Agreement with a BoldSign Bulk Link
What is a Bulk Link?
- It can be shared by email, chat, or embedded in any web page — no recipient list is required up front.
- Every signer who opens the link gets their own copy of the document and signs independently.
- It is ideal when you do not know the exact recipients in advance — for example a job offer that is extended to one candidate at a time.
- It is perfect for embedding inside your own portal or notification email because the signing page lives on the BoldSign domain.
SendDocument call fixes the
recipient list at send time. A bulk link decouples document preparation from who will sign, so the same
signed–off offer template can be reused for every new hire without a new API request per candidate.
Scope of this Sample
- Reusable signing URL — one bulk link is pre–created from an on–boarding agreement document and reused for each candidate.
- Embedded signing experience — the bulk link is rendered inside a full–screen
<iframe>so the signer never navigates away from the employer portal. - PostMessage completion handshake — the BoldSign signing page posts an
onDocumentSignedaction (with the completed document id) back to the parent window when the employee finishes signing, so the host application can redirect to a thank–you page. - Brand–consistent email — the demo simulates an on–boarding email with a single call–to–action button that launches the embedded signing flow.
- Completion tracking & download — the resulting document ID is surfaced on the completion page so it can be looked up in the test email inbox, and a Download signed document button streams the completed PDF back to the user.
Where it is Useful — Use Cases
HR On–boarding
Collect an eSignature from each new hire on offer letters, policy acknowledgements, NDA, and role expectation documents before their start date.
Contractor Offer Letters
Share one bulk link with shortlisted contractors so each accepted candidate can sign their own copy of the agreement without a per–person send.
Policy Acknowledgements
Roll out an updated company policy to the whole organisation — each employee opens the same link and signs their individual acknowledgement.
Self–service Portals
Embed a signing URL inside an internal portal or applicant tracking system so candidates sign without an email round–trip, fully inside the workflow they already use.
Event / Training Registrations
Distribute a sign–off link to attendees who must accept terms and conditions before attending a workshop or training session.
Membership / Subscription Agreements
Allow prospective members to self–serve sign the membership agreement at their own pace using a single shared bulk link.
End–to–end Workflow
- Prepare the document once. An HR administrator uploads the on–boarding agreement into BoldSign and creates a bulk link from it. The link is tied to a single document ID.
- Send the on–boarding email. The candidate receives a branded email that includes a single CTA button — accept and sign the on–boarding document.
- Launch the embedded signing page. Clicking the button navigates to the host application’s
/signdocumentpage, which loads the BoldSign bulk link inside a full–screen<iframe>. - Employee reviews & signs. BoldSign renders the secure signing experience inside the iframe — the employee reviews the role, salary, policies, and rules, then applies their signature.
- BoldSign notifies the host app. When signing completes, BoldSign posts an
onDocumentSignedmessage (carrying the completed document id) to the parent window. - Redirect to the thank–you page. The host reads the document id from the message payload and redirects to
/signcompleted?documentId=..., which surfaces the document id and links to the test email inbox for verification. - Download the signed copy. The user clicks Download signed document; the completion page’s
DownloadDocumenthandler calls the BoldSign SDK to download the completed document and streams it back to the browser as a single PDF.
How the Workflow is Implemented
Step 1 The On–boarding Email — Index.cshtml
The landing page is styled as an HR email from a fictional company (Treva) to a candidate (Richard). The body contains a single form whose submit button POSTs to the SignDocument page handler, simulating the candidate clicking the link in the email.
<form method="post" asp-page-handler="SignDocument" asp-page="/OnBoardingAgreement/SignDocument">
<button class="card-link" type="submit">accept and sign the on–boarding document</button>
</form>
Step 2 Embedded Signing — SignDocument.cshtml
This page renders the BoldSign bulk link inside a borderless, full–screen <iframe> so the signing experience is indistinguishable from the host portal. A window.message event listener waits for BoldSign to post an onDocumentSigned action back into the parent window, extracts the completed document id from the payload, and redirects to the completion page.
var documentId = "70d38add-523c-4c0a-a812-12c330dbdfdb";
window.addEventListener("message", function (event) {
const payload = event && event.data ? event.data : {};
switch (payload.action) {
case "onDocumentSigned":
const docId = payload.documentId || "@documentId";
if (docId && docId !== "undefined") {
window.location.href =
'/on-board-agreement/signcompleted/?documentId=' + encodeURIComponent(docId);
}
break;
case "onDocumentSigningFailed":
console.log("Signing failed");
break;
}
});
<iframe src="https://app.boldsign.com/document/sign-bulk-links/?documentId=@documentId">
</iframe>
documentId in this demo points to a pre–prepared document on the
BoldSign test account, so you can run the sample end–to–end without performing any API setup.
Replace it with your own bulk–link document ID to use it in production.
Step 3 Completion Page — SignCompleted.cshtml
Once the onDocumentSigned message is received, the parent page redirects here. The page reads the documentId from the query string, confirms the signature, surfaces the document id so it can be located in the test email inbox for verification, and offers a Download signed document button. Clicking the button calls the page’s DownloadDocument handler, which uses the BoldSign SDK to download the signed copy and stream it back to the browser as a single, openable PDF.
Step 4 PostMessage Handshake — Response.cshtml
BoldSign internally loads the response page inside the iframe which re–posts the completion signal up to the parent window so the host application can react:
<script type="text/javascript">
parent.postMessage("SignCompleted");
</script>