Skip to main content
Set is_document_preparation_needed when you create a sign request. This page is the unstructured document walkthrough.
Imagine a document management app, where users can upload a document and ask anyone to sign it. In this case, your app knows what document to sign and who needs to sign, but it has no idea where to put the signature or its properties like name, date, initial, and so on. This contrasts with using templates or structured documents where your app knows what they are, and where the signature properties are. In these cases, and because each document can have a different structure, it is a good idea to always set the is_document_preparation_needed flag to true, so that the sender has a chance to select and place the signature properties in the document before the signer gets the request. There are three steps to this flow: create the signature request, prepare the document, and sign it.
Sign unstructured docs flow
Consider the example:
This results in a signature request with a prepare document URL (simplified):
Notice in the above script that, if a prepare document URL was generated by the signature request, the app opens a browser for it. The requester can then apply the different signature properties, for example:
Preparing the document using drag and drop on the template editor
Once the document is prepared, the requester can send the signature request to the signer. Back in the Box app, you see the status In Progress.
Pending signature request
The signer receives an email from Box with a link to the signature request.
Signing the document
When the process is complete, both a signature log containing metadata and the signed document are stored in the destination folder.
Log and signed document
Last modified on September 18, 2026