This component allows you to seamlessly integrate an entire document creation and signing form anywhere on your website or application. It supports JS+HTML, Vue, Angular and React.
<template>
<DocusealBuilder
v-if="token"
:token="token"
/>
</template>
<script>
import { DocusealBuilder } from '@docuseal/vue'
export default {
name: 'App',
components: { DocusealBuilder },
data () {
return { token: '' }
},
mounted () {
fetch('/api/docuseal/builder_token', {
method: 'POST'
}).then(async (resp) => {
const data = await resp.json()
this.token = data.token
})
}
}
</script>
token String required
JSON Web Token (JWT HS256) with a payload signed using the API key.
Ensure that the JWT token is generated on the backend to prevent unauthorized access to your documents.
user_email String required
Email of the owner of the API signing key - admin user email.
integration_email String
Email of the user to create a template for.
Example: signer@example.com
template_id Number
ID of the template to open in the form builder. Optional when `document_urls` are specified.
external_id String
Your application-specific unique string key to identify this template within your app.
folder_name String
The folder name in which the template should be created.
document_urls Array
An Array of URLs with PDF files to open in the form builder. Optional when `template_id` is specified.
Example: ['https://www.irs.gov/pub/irs-pdf/fw9.pdf']
name String
New template name when creating a template with document_urls specified.
Example: Integration W-9 Test Form
extract_fields Boolean
Pass `false` to disable automatic PDF form fields extraction. PDF fields are automatically added by default.
host String
DocuSeal host domain name. Only use this attribute if you are using the on-premises DocuSeal installation or docuseal.eu Cloud.
Example: yourdomain.com
Custom button will be displayed on the top right corner of the form builder.
Custom button title.
Custom button URL. Only absolute URLs are supported.
only-defined-fields Boolean
Allow to add fields only defined in the `:fields` prop.
Default: false
Show the "Recipients" button.
Default: true
roles Array
Submitter role names to be used by default in the form.
field-types Array
Field type names to be used in the form builder. All field types are used by default.
Possible values: heading, text, signature, initials, date, datenow, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba, strikethrough
date-formats Array
A list of formats to be used for the date field. Formats may include date ('YYYY', 'MM', 'DD'), time ('HH', 'hh', 'mm', 'ss', 'A') and timezone ('z') parts. The first format in the list is used as the default.
Example: ["MM/DD/YYYY", "YYYY-MM-DD HH:mm:ss z"]
draw-field-type String
Field type to be used by default with the field drawing tool.
Default: text
Example: signature
fields Array
An array of default custom field properties with `name` to be added to the document.
Child parameters
name String required
Field name.
type String
Field type.
Possible values: heading, text, signature, initials, date, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba, strikethrough
role String
Submitter role name for the field.
default_value String
Default value of the field.
title String
Field title displayed to the user instead of the name, shown on the signing form. Supports Markdown.
description String
Field description displayed on the signing form. Supports Markdown.
width Number
Field width in pixels.
height Number
Field height in pixels.
format String
Field format. Depends on the field type.
options Array
Field options. Required for the select field type.
validation Object
Field validation rules.
pattern String
Field pattern.
Example: ^[0-9]{5}$
message String
Validation error message.
submitters Array
An array of default submitters with `role` name to be added to the document.
Child parameters
email String
Submitter email.
role String required
Submitter role name.
name String
Submitter name.
phone String
Submitter phone number, formatted according to the E.164 standard.
required-fields Array
An array of default required custom field properties with `name` that should be added to the document.
Child parameters
name String required
Field name.
type String
Field type.
Possible values: heading, text, signature, initials, date, number, image, checkbox, multiple, file, radio, select, cells, stamp, payment, phone, verification, kba, strikethrough
role String
Submitter role name for the field.
default_value String
Default value of the field.
title String
Field title displayed to the user instead of the name, shown on the signing form. Supports Markdown.
description String
Field description displayed on the signing form. Supports Markdown.
width Number
Field width in pixels.
height Number
Field height in pixels.
format String
Field format. Depends on the field type.
options Array
Field options. Required for the select field type.
validation Object
Field validation rules.
pattern String
Field pattern.
Example: ^[0-9]{5}$
message String
Validation error message.
email-message Object
Email subject and body for the signature request.
subject String required
Email subject for the signature request.
body String required
Email body for the signature request.
with-title Boolean
Set `false` to remove document title from the builder.
Default: true
Show the "Upload" button.
Default: true
Show the "Add Blank Page" button.
Default: false
Show the "Sign Yourself" button.
Default: true
with-documents-list Boolean
Set `false` to not show the documents list on the left. Documents list is displayed by default.
Default: true
with-dynamic-documents Boolean
Set `true` to allow converting DOCX files to editable dynamic documents.
Default: false
with-fields-list Boolean
Set `false` to not show the fields list on the right. Fields list is displayed by default.
Default: true
with-fields-detection Boolean
Display a button to automatically detect and add fields to the document with AI.
Default: false
with-custom-fields-tab Boolean
Set `true` to display a separate "Custom" fields tab in the fields list. Custom fields can be configured using the `:fields` or `:required-fields` prop.
Default: false
with-field-placeholder Boolean
Set `true` to display field name placeholders instead of the field type icons.
Default: false
with-signature-id Boolean
Set to `true` to enable Signature ID by default for newly added fields. If set to `false`, the Signature ID toggle will be displayed under field settings, with the Signature ID turned off by default.
autosave Boolean
Set `false` to disable form changes autosaving.
Default: true
preview Boolean
Show template in preview mode without ability to edit it.
Default: false
input-mode Boolean
Open template in data input mode to prefill fields with default values.
Default: false
language String
UI language, 'en', 'es', 'de', 'fr', 'pt', 'nl', 'he', 'ar' languages are available.
Default: en
i18n Object
Object that contains i18n keys to replace the default UI text with custom values. See template_builder/i18n.js for available i18n keys.
Default: {}
background-color String
The form builder background color. Only HEX color codes are supported.
Example: #ffffff
custom-css String
Custom CSS styles to be applied to the form builder.
Example: #sign_yourself_button { background-color: #FFA500; }
@load Function
Function to be called on loading the form builder template data.
Example: onBuilderLoad
@upload Function
Function to be called on uploading a document to the template.
Example: onBuilderUpload
@send Function
Function to be called on sending documents for signature to recipients.
Example: onBuilderSend
@change Function
Function to be called when changes are made to the template form.
Example: onBuilderChange
@save Function
Function to be called on saving changes of the template form.
Example: onBuilderSave