How to Add Hyperlink Form Fields to Documents

BoldSign supports including a hyperlink when sending the document for a signing request. When signers click the hyperlink, they will be directed to the specified webpage or file. This is useful for providing additional information or resources related to the document being signed.

Specify the fieldType as Hyperlink, and provide the hyperlinkText (Text to Display) along with the Hyperlink URL within the value property.

Please note that it is mandatory that you need to add any other form fields, other than dateSigned and label for a signing request while setting the hyperlink form field.

curl -X 'POST' \
  'https://api.boldsign.com/v1/document/send' \
  -H 'accept: application/json' \
  -H 'X-API-KEY: {your API key}' \
  -H 'Content-Type: multipart/form-data' \
  -F 'Title="Sample Document"' \
  -F 'Signers={
  "name": "hanky",
  "emailAddress": "[email protected]",
  "signerType": "Signer",
  "signerRole": "Signer",
  "formFields": [
      {
        "id": "HyperLink",
        "name": "HyperLink",
        "fieldType": "HyperLink",
        "pageNumber": 1,
        "bounds": {
            "x": 50,
            "y": 600,
            "width": 150,
            "height": 50
        },
        "hyperlinkText": "hyperlinkText",
        "value": "https://www.google.com"
     },
     {
        "id": "HyperLink_2",
        "name": "HyperLink Mail",
        "fieldType": "HyperLink",
        "pageNumber": 2,
        "bounds": {
            "x": 50,
            "y": 600,
            "width": 150,
            "height": 50
        },
        "hyperlinkText": "hyperlinkMailText",
        "value": "mailto:{emailAddress}"
     },
     {
        "id": "HyperLink_3",
        "name": "HyperLink Phone",
        "fieldType": "HyperLink",
        "pageNumber": 3,
        "bounds": {
            "x": 50,
            "y": 600,
            "width": 150,
            "height": 50
        },
        "hyperlinkText": "hyperlinkPhoneText",
        "value": "tel:+{phone number with country code}"
     },
     {
      "id": "Attachment",
      "name": "Attachment",
      "fieldType": "Attachment",
      "pageNumber": 1,
      "bounds": {
        "x": 100,
        "y": 100,
        "width": 125,
        "height": 25
      },
      "attachmentInfo": {
        "title": "Attachment title",
        "description": "Please attach the proof",
        "acceptedFileTypes": ["PDF", "DOCUMENT", "IMAGE"]
      }
    }
  ],
  "locale": "EN"
}' \
  -F 'Files=@{your file}' \
var apiClient = new ApiClient("https://api.boldsign.com", "{Your API key}");
var documentClient = new DocumentClient(apiClient);

var documentFilePath = new DocumentFilePath
{
    ContentType = "application/pdf",
    FilePath = "{Your File path}"
};

var filesToUpload = new List<IDocumentFile>
{
    documentFilePath,
};

var hyperlinkField = new FormField(
    id: "Hyperlink",
    isRequired: true,
    type: FieldType.Hyperlink,
    pageNumber: 1,
    hyperlinkText: "Click here",
    value: "https://www.google.com",
    bounds: new Rectangle(x: 400, y: 200, width: 125, height: 25));

var hyperlinkMailField = new FormField(
    id: "Hyperlink_2",
    isRequired: true,
    type: FieldType.Hyperlink,
    pageNumber: 2,
    hyperlinkText: "Click here",
    value: "mailto:{emailAddress}",
    bounds: new Rectangle(x: 400, y: 200, width: 125, height: 25));

var hyperlinkPhoneField = new FormField(
    id: "Hyperlink_3",
    isRequired: true,
    type: FieldType.Hyperlink,
    pageNumber: 3,
    hyperlinkText: "Click here",
    value: "tel:+{phone number with country code}",
    bounds: new Rectangle(x: 400, y: 200, width: 125, height: 25));

var attachmentField = new FormField(
    id: "Attachment",
    isRequired: true,
    type: FieldType.Attachment,
    pageNumber: 1,
    attachmentInfo: new AttachmentInfo(title: "Attachment title", description: "Please attach the proof", acceptedFileTypes: ["PDF", "DOCUMENT", "IMAGE"]),
    bounds: new Rectangle(x: 400, y: 100, width: 125, height: 25));

var formFieldCollections = new List<FormField>()
{
    hyperlinkField,
    hyperlinkMailField,
    hyperlinkPhoneField,
    attachmentField
};

var signer = new DocumentSigner(
    signerName: "David",
    signerEmail: "[email protected]",
    formFields: formFieldCollections,
    locale: Locales.EN);

var documentSigners = new List<DocumentSigner>()
{
    signer
};

var sendForSign = new SendForSign()
{
    Signers = documentSigners,
    Title = "Sample Document",
    Files = filesToUpload
};
var documentCreated = documentClient.SendDocument(sendForSign);
import boldsign

configuration = boldsign.Configuration(host = "https://api.boldsign.com", api_key = "YOUR_API_KEY")

with boldsign.ApiClient(configuration) as api_client:

    document_api = boldsign.DocumentApi(api_client)

    send_for_sign = boldsign.SendForSign(
        title = "Document SDK API",
        document_title = "SDK Document Test case",
        description = "Testing document from SDK integration test case", 
        files = ["YOUR_FILE_PATH"],
        signers = [
            boldsign.DocumentSigner(
                name = "Hanky",
                emailAddress = "[email protected]",
                signerOrder = 1,
                signerType = "Signer",
                formFields = [
                    boldsign.FormField(
                        name = "Sign",
                        fieldType = "Signature",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150)
                    ),
                    boldsign.FormField(
                        name = "HyperLink",
                        fieldType = "Hyperlink",
                        font = "Helvetica",
                        pageNumber = 1,
                        isRequired = True,
                        bounds = boldsign.Rectangle(x = 50, y = 50, width = 100, height = 150),
                        hyperlinkText = "hyperlinkText",
                        value = "https://www.google.com"
                    )
                ],
                privateMessage = "This is private message for signer"
            )
        ]
    )

    document_created = document_api.send_document(send_for_sign)
<?php require_once "vendor/autoload.php";

use BoldSign\Configuration;
use BoldSign\Api\DocumentApi;
use BoldSign\Model\{FormField, Rectangle, DocumentSigner, SendForSign, DocumentInfo, FileInfo};

$config = new Configuration();
$config->setHost("https://api.boldsign.com");
$config->setApiKey('YOUR_API_KEY');

$document_api = new DocumentApi($config);

$signature_field = new FormField();
$signature_field->setName('Sign');
$signature_field->setFieldType('Signature');
$signature_field->setFont('Helvetica');
$signature_field->setPageNumber(1);
$signature_field->setIsRequired(true);
$signature_field_bounds = new Rectangle([50, 50, 100, 150]);
$signature_field->setBounds($signature_field_bounds);

$hyper_link_field = new FormField();
$hyper_link_field->setName('HyperLink');
$hyper_link_field->setFieldType('Hyperlink');
$hyper_link_field->setFont('Helvetica');
$hyper_link_field->setPageNumber(1);
$hyper_link_field->setIsRequired(true);
$bounds = new Rectangle([50, 50, 100, 150]);
$hyper_link_field->setBounds($bounds);
$hyper_link_field->setHyperlinkText('hyperlinkText');
$hyper_link_field->setValue('https://www.google.com');

$hyper_link_mail_field = new FormField();
$hyper_link_mail_field->setName('HyperLink Mail');
$hyper_link_mail_field->setFieldType('Hyperlink');
$hyper_link_mail_field->setFont('Helvetica');
$hyper_link_mail_field->setPageNumber(2);
$hyper_link_mail_field->setIsRequired(true);
$bounds_2 = new Rectangle([50, 50, 100, 150]);
$hyper_link_mail_field->setBounds($bounds_2);
$hyper_link_mail_field->setHyperlinkText('hyperlinkMailText');
$hyper_link_mail_field->setValue('mailto:{emailAddress}');

$hyper_link_phone_field = new FormField();
$hyper_link_phone_field->setName('HyperLink Phone');
$hyper_link_phone_field->setFieldType('Hyperlink');
$hyper_link_phone_field->setFont('Helvetica');
$hyper_link_phone_field->setPageNumber(3);
$hyper_link_phone_field->setIsRequired(true);
$bounds_3 = new Rectangle([50, 50, 100, 150]);
$hyper_link_phone_field->setBounds($bounds_3);
$hyper_link_phone_field->setHyperlinkText('hyperlinkPhoneText');
$hyper_link_phone_field->setValue('tel:+{phone number with country code}');

$document_signer = new DocumentSigner();
$document_signer->setName('Hanky');
$document_signer->setEmailAddress('[email protected]');
$document_signer->setSignerOrder(1);
$document_signer->setSignerType('Signer');
$document_signer->setFormFields([$signature_field, $hyper_link_field, $hyper_link_mail_field, $hyper_link_phone_field]);
$document_signer->setPrivateMessage('This is private message for signer');

$send_for_sign = new SendForSign();

$documentInfo = new DocumentInfo();
$documentInfo->setTitle('Document SDK API');
$documentInfo->setDescription('Testing document from SDK integration test case');
$send_for_sign->setDocumentInfo([$documentInfo]);

$files = new FileInfo();
$files = 'YOUR_FILE_PATH';
$send_for_sign->setFiles([$files]);

$send_for_sign->setTitle('SDK Document Test case');
$send_for_sign->setSigners([$document_signer]);

$document_created = $document_api->sendDocument($send_for_sign);
ApiClient client = Configuration.getDefaultApiClient();
client.setBasePath("https://api.boldsign.com");
client.setApiKey("YOUR_API_KEY");

DocumentApi documentApi = new DocumentApi(client);

FormField signatureField = new FormField();
signatureField.setName("Sign");
signatureField.setFieldType(FormField.FieldTypeEnum.SIGNATURE);
signatureField.setPageNumber(1);
signatureField.setFont(FormField.FontEnum.HELVETICA);
signatureField.setIsRequired(true);
Rectangle signatureFieldBounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
signatureField.setBounds(signatureFieldBounds);

FormField hyperLinkField = new FormField();
hyperLinkField.setName("HyperLink");
hyperLinkField.setFieldType(FormField.FieldTypeEnum.HYPERLINK);
hyperLinkField.setPageNumber(1);
hyperLinkField.setFont(FormField.FontEnum.HELVETICA);
hyperLinkField.setIsRequired(true);
hyperLinkField.setHyperlinkText("hyperlinkText");
hyperLinkField.setValue("https://www.google.com");
Rectangle bounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
hyperLinkField.setBounds(bounds);

FormField hyperLinkMailField = new FormField();
hyperLinkMailField.setName("HyperLink Mail");
hyperLinkMailField.setFieldType(FormField.FieldTypeEnum.HYPERLINK);
hyperLinkMailField.setPageNumber(2);
hyperLinkMailField.setFont(FormField.FontEnum.HELVETICA);
hyperLinkMailField.setIsRequired(true);
hyperLinkMailField.setHyperlinkText("hyperlinkMailText");
hyperLinkMailField.setValue("mailto:{emailAddress}");
Rectangle bounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
hyperLinkMailField.setBounds(bounds);

FormField hyperLinkPhoneField = new FormField();
hyperLinkPhoneField.setName("HyperLink Phone");
hyperLinkPhoneField.setFieldType(FormField.FieldTypeEnum.HYPERLINK);
hyperLinkPhoneField.setPageNumber(3);
hyperLinkPhoneField.setFont(FormField.FontEnum.HELVETICA);
hyperLinkPhoneField.setIsRequired(true);
hyperLinkPhoneField.setHyperlinkText("hyperlinkPhoneText");
hyperLinkPhoneField.setValue("tel:+{phone number with country code}");
Rectangle bounds = new Rectangle().x(100f).y(100f).width(100f).height(50f);
hyperLinkPhoneField.setBounds(bounds);

DocumentSigner signer = new DocumentSigner();
signer.setName("Hanky");
signer.setEmailAddress("[email protected]");
signer.setSignerOrder(1);
signer.setSignerType(DocumentSigner.SignerTypeEnum.SIGNER);
ArrayList<FormField> formField = new ArrayList<>();
formField.add(hyperLinkField);
formField.add(signatureField);
formField.add(hyperLinkMailField);
formField.add(hyperLinkPhoneField);
signer.setFormFields(formField);
signer.setPrivateMessage("This is private message for signer");

SendForSign sendForSign = new SendForSign();

File file = new File("YOUR_FILE_PATH");  
sendForSign.setFiles(Arrays.asList(file));   

sendForSign.setSigners(Arrays.asList(signer));
sendForSign.setTitle("Document SDK API");

DocumentCreated documentCreated = documentApi.sendDocument(sendForSign);
import { DocumentApi, DocumentSigner, DocumentInfo, FormField, Rectangle, SendForSign } from "boldsign"; 
import * as fs from 'fs';

const documentApi = new DocumentApi("https://api.boldsign.com");
documentApi.setApiKey("YOUR_API_KEY");

const bounds = new Rectangle();
bounds.x = 100;
bounds.y = 50;
bounds.width = 100;
bounds.height = 100;

const signatureFieldBounds = new Rectangle();
signatureFieldBounds.x = 100;
signatureFieldBounds.y = 50;
signatureFieldBounds.width = 100;
signatureFieldBounds.height = 100;

const signatureField = new FormField();
signatureField.name = "Sign";
signatureField.fieldType = FormField.FieldTypeEnum.Signature;
signatureField.font = FormField.FontEnum.Helvetica;
signatureField.pageNumber = 1;
signatureField.isRequired = true;
signatureField.bounds = signatureFieldBounds;

const hyperLinkField = new FormField();
hyperLinkField.name = "HyperLink";
hyperLinkField.fieldType = FormField.FieldTypeEnum.Hyperlink;
hyperLinkField.font = FormField.FontEnum.Helvetica;
hyperLinkField.pageNumber = 1;
hyperLinkField.isRequired = true;
hyperLinkField.hyperlinkText = "hyperlinkText";
hyperLinkField.value = "https://www.google.com";
hyperLinkField.bounds = bounds;

const hyperLinkMailField = new FormField();
hyperLinkMailField.name = "HyperLink Mail";
hyperLinkMailField.fieldType = FormField.FieldTypeEnum.Hyperlink;
hyperLinkMailField.font = FormField.FontEnum.Helvetica;
hyperLinkMailField.pageNumber = 2;
hyperLinkMailField.isRequired = true;
hyperLinkMailField.hyperlinkText = "hyperlinkMailText";
hyperLinkMailField.value = "mailto:{emailAddress}";
hyperLinkMailField.bounds = bounds;

const hyperLinkPhoneField = new FormField();
hyperLinkPhoneField.name = "HyperLink Phone";
hyperLinkPhoneField.fieldType = FormField.FieldTypeEnum.Hyperlink;
hyperLinkPhoneField.font = FormField.FontEnum.Helvetica;
hyperLinkPhoneField.pageNumber = 3;
hyperLinkPhoneField.isRequired = true;
hyperLinkPhoneField.hyperlinkText = "hyperlinkText";
hyperLinkPhoneField.value = "tel:+{phone number with country code}";
hyperLinkPhoneField.bounds = bounds;

const documentSigner = new DocumentSigner();
documentSigner.name = "David";
documentSigner.emailAddress = "[email protected]";
documentSigner.signerOrder = 1;
documentSigner.signerType = DocumentSigner.SignerTypeEnum.Signer;
documentSigner.formFields = [signatureField, hyperLinkField, hyperLinkMailField, hyperLinkPhoneField];
documentSigner.privateMessage = "This is private message for signer";

const files = fs.createReadStream("YOUR_FILE_PATH");

const sendForSign = new SendForSign();

const documentInfo = new DocumentInfo();
documentInfo.title = "SDK Document Test case";
documentInfo.description = "Testing document from SDK integration test case";
sendForSign.documentInfo = [documentInfo];

sendForSign.title = "Document SDK API";
sendForSign.signers = [documentSigner];
sendForSign.files = [files];

const documentCreated = documentApi.sendDocument(sendForSign);

In the above examples, set the values for value, hyperlinkText, Title, Files, name, and emailAddress. After executing the above code, the document will be created with a hyperlink form field, and an email will be sent to the signer for signing.