Templates

Reusable documents with roles and merge fields, and the embedded builder.

A template holds documents and fields for roles (client, company) instead of named signers. Make a request from it by naming a signer for each role; text fields with a merge_key are filled from merge_fields and shown to the signer, who can't change them.

const { :  } = await ...(, {
  : [
    { : "client", : "Ada Lovelace", : "ada@example.com" },
    { : "company", : "Grace Hopper", : "grace@acme.com", : "embedded" },
  ],
  : { : "Analytical Engines Ltd" },
});

A template is ready once it has documents and a signature field for every role. Requests made from it keep their own copy of its fields: editing the template later doesn't change them.

The builder

Edit templates visually in the dashboard (Sign → Templates), or let your own users do it in your app: create a builder session and mount it.

const { :  } = await ...();
({
  : ,
  ,
  : () => {
    if (. === "saved" && .) .("Template ready");
  },
});

In the builder, people upload PDFs, add signer roles, pick a field type and click a page to place it, then move and resize it. A builder session only reaches its own template.