Skip to main content
A structured document in the context of Box Sign is a document that includes specific tags that can be recognized by the Box Sign API. These tags are used to place the signature properties associated with a specific signer in the document, such as name, date, and signature. This allows your app to handle a dynamically generated document that is ready to be signed, which has a couple of advantages:
  • The document can be dynamically generated, and the signature properties can be added to the document before creating the signature request, effectively bypassing the document preparation step.
  • The document format can be handled outside of Box Sign templates, allowing higher flexibility and integration with external document management systems.

Anatomy of a structured document

Here is an example of a structured document, showing the formatting used to place tags in a Microsoft Word document:
Using tags in a Microsoft Word document
In the sample above [[c|1]] means a checkbox assigned to signer 1, and [[s| 1]] means a signature pad assigned to signer 1. Notice how the signature pad is using font size 48 to reserve space vertically for the signature. The [[t|1|id:tag_full_name|n:enter your complete name]] means a name tag assigned to signer 1, with the label enter your complete name, and using an id of tag_full_name. Check out the list of available tags for a complete description of all the tags. Setting the tags to the same color as the background makes them invisible, but they still exist. The number in the tags refers to the signer number, not the signing order. [[c|1]] is the checkbox for signer 1, [[c|2]] is the checkbox for signer 2, and so on. Tag 0 is reserved for the sender, and always exists. So even if the sender does not need to input any data into the document, the other signers must start with 1.

Create a signature request from a structured document

This is the same as creating a signature request from an unstructured document. At minimum, you need to specify the document, the receiving folder and the email of the signer. Since the structured document already contains the signature properties details and location, you can bypass the document preparation. This is how the flow looks, from the generated document to the signed request:
Signing a structured document
Consider this method:
Resulting in (simplified):
If you go to the signer email inbox, open the email from Box Sign, and select Review Document, you see the document with the signature properties in place:
Document with the properties in place
After completing the process the signed document looks like this:
Signed document

Pre-populate the signature attributes

If you have an external ID in the document tags, you can use it to pre-populate their values. For example, you can use the tag_full_name to pre-populate the name of the signer. See the example:
Resulting in (simplified):
The document now has the name pre-populated:
Document ready for signing with the name pre-populated

Extract information from a signed document

Say you want to extract the name of the signer and the other properties from the signed document. This is useful if you need to tie the information from the signature request back into your systems. Create a method to extract the information from the signed request:
Resulting in (simplified):

Summary

Structured documents are a great way to integrate with external document management systems, creating dynamic documents that are ready for signing. If your document signature requirements have a lot of options, you can pre-populate these from another data source and save the user time, but remember that the user who owns these properties can always change them. After the document is signed you can extract the information from the signature request, which is useful if you need to tie it back into your systems.
Last modified on September 18, 2026