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>
View LIVE DEMO

Attributes

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.

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 Object

Custom button will be displayed on the top right corner of the form builder.

title String required

Custom button title.

url String required

Custom button URL. Only absolute URLs are supported.

only-defined-fields Boolean

Allow to add fields only defined in the `:fields` prop.

Default: false

with-send-button Boolean

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.

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.

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.

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

with-upload-button Boolean

Show the "Upload" button.

Default: true

with-add-page-button Boolean

Show the "Add Blank Page" button.

Default: false

with-sign-yourself-button Boolean

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; }

Callbacks

@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

Live Example