Form Options

These top-level properties control how a form behaves when it's submitted and processed.

Case file title

When a form is submitted, it becomes a case file in Penneo Sign: the document that gets sent out for signing.

By default a case file is titled "Form Name - Primary Signer Name". Override it with caseFileTitleTemplate. The title appears in the signing notification emails, so keep it clear.

The template accepts plain text, merge fields, or a mix.

{ "caseFileTitleTemplate": "{{formName}} - {{primarySigner.name}} ({{primarySigner.email}})" }

Produces: Employee Contract - John Doe ([email protected])

The title accepts the same merge fields as everywhere else — {{formName}}, the signer fields, and form field keys — under the same rules. The final title is truncated to 1024 characters.

{
  "caseFileTitleTemplate": "{{formName}} - {{customerName}} ({{orderNumber}})",
  "sections": [
    {
      "title": "Customer Information",
      "fields": [
        { "type": "TEXT",   "label": "Customer Name", "name": "customerName", "required": true },
        { "type": "NUMBER", "label": "Order Number",  "name": "orderNumber",  "required": true }
      ]
    }
  ]
}

Success and cancel URLs

Redirect respondents after they finish or abandon the signing flow.

PropertyDescription
successUrlWhere to send the respondent after they successfully complete signing.
cancelUrlWhere to send the respondent if they cancel or abandon.
{
  "name": "Customer Onboarding",
  "successUrl": "https://yourapp.com/onboarding/complete",
  "cancelUrl": "https://yourapp.com/onboarding/cancelled",
  "sections": []
}

Chaining forms

Point one form's successUrl at another form's public URL to walk a respondent through several documents in sequence:

Form 1: Employment Contract  → successUrl: .../collect/forms/{form2-id}
Form 2: NDA Agreement        → successUrl: .../collect/forms/{form3-id}
Form 3: Benefits Enrollment  → successUrl: https://yourapp.com/onboarding/complete

Each form produces its own signed PDF and can have its own signers. This is useful when you need separate legal documents, different signers per document, or a step through an external system (such as payment or ID verification) between forms.

Signing methods

Choose which signing methods signers may use. Two lists, each optional; omit both to use your account's default.

PropertyValues
secureSigningMethodsmitid.dk, bankid_se, bankid_no, itsme.be, ftn.fi, eid.belgium.be, passport-reader.eident.dk, ausweisapp.bund.de, qes.personal.mitid.dk, qes.erhverv.mitid.dk
insecureSigningMethodstext, draw, image

secureSigningMethods are identity-verified (eID) methods. insecureSigningMethods are Simple Electronic Signatures: a typed, drawn, or uploaded signature with no identity check. Use them when you want to lower the signing barrier for internal or non-binding documents.

{
  "name": "Internal Survey",
  "insecureSigningMethods": ["text", "draw"],
  "sections": []
}

The primary signer, predefined signers, and signer slots can each specify their own secureSigningMethods / insecureSigningMethods to override the form-level defaults for that signer.

Email attachments

PropertyTypeDefaultDescription
disableEmailAttachmentsbooleantrueWhen true, the signed PDF is not attached to the completion email. Set false to attach it.
{ "name": "Contract Form", "disableEmailAttachments": false, "sections": [] }

Reminders

Set a reminder default on the form so every request created from it inherits the config without repeating it. A request can override the default or turn it off — see Reminders.

On the form, reminder is the config directly:

{
  "name": "Onboarding",
  "reminder": {
    "intervalHours": [24, 72],
    "maxReminders": 3
  },
  "sections": []
}

intervalHours and maxReminders are required; sendImmediately, emailSubject, and emailBody are optional. See the schedule for what each field means and how reminders fire.

Language

language sets the form's language. Supported values:

DA DanishDE GermanEN EnglishFI Finnish
FR FrenchNL DutchNO NorwegianSV Swedish

Defaults to DA. It controls:

  • Notification emails sent to respondents and signers.
  • The signing page's default language (respondents can change it themselves).

The same form, localized, differs only by language and the translated labels:

{
  "name": "Kontaktformular",
  "language": "DA",
  "sections": [
    {
      "title": "Dine oplysninger",
      "fields": [
        { "type": "TEXT",  "label": "Fulde navn",    "required": true, "mapTo": "primarySigner.name" },
        { "type": "EMAIL", "label": "E-mailadresse",  "required": true, "mapTo": "primarySigner.email" }
      ]
    }
  ]
}