Skip to main content
Prerequisites: A published template with placeholder tokens configured in the template editor, and the SDK installed.
Placeholders inject dynamic, user-specific values into template content without changing the published text. Provide values through your integration whenever a clickwrap flow is triggered.

Available placeholders

fullName
String
Full Name — End user’s full name. Max 100 chars. Letters, digits, spaces, basic punctuation.
email
String
Email — End user’s email address. Max 254 chars. Standard email format.
company
String
Company — Organization name. Max 100 chars. Letters, digits, spaces, basic punctuation.
jobTitle
String
Job Title — End user’s role. Max 80 chars. Letters, digits, spaces, basic punctuation.
date
LocalDate
Date — Auto-generated server-side by ClickTerm in yyyy-MM-dd format. Any client-provided value is ignored.
phoneNumber
String
Phone — Contact number. Max 30 chars. Digits, spaces, basic punctuation.
registrationNumber
String
Registration No. — Company registration identifier. Max 50 chars. Letters, digits, spaces, basic punctuation.
vatNumber
String
VAT Number — VAT identifier. Max 50 chars. Letters, digits, spaces, basic punctuation.
address
String
Address — Physical address. Max 500 chars. Letters, digits, spaces, punctuation, newlines.
custom1 – custom5
String
Custom 1–5 — Five user-defined placeholder fields. Max 255 chars each. Letters, digits, spaces, basic punctuation.
The date placeholder is generated server-side by ClickTerm. Any client-provided value is ignored.
If a placeholder value is not supplied, it appears as a dash (-) in the rendered agreement.

Usage

const templatePlaceholders = {
  fullName: "Alice Example",
  email: "[email protected]",
  company: "Acme Corp",
  jobTitle: "Senior Counsel",
  phoneNumber: "+12025550123",
  registrationNumber: "HRB 123456",
  vatNumber: "GB123456789",
  address: "221B Baker St\nLondon NW1",
  custom1: "Region: EMEA",
  custom2: "Plan: Enterprise",
  custom3: "PO: 12345-XYZ",
  custom4: "Support Rep: Eve",
  custom5: "Campaign: Spring24",
};

ClicktermDialog.show({
  endUserId: "user-123",
  clickwrapTemplateId: "YOUR_TEMPLATE_ID",
  templatePlaceholders,
  language: "en"
}).then((result) => {
  console.log("Clickwrap result:", result);
}).catch((error) => {
  console.error("Clickwrap error:", error);
});
When using the SDK, placeholder values are encoded automatically. If calling the REST API directly (without an SDK), values must be URL-encoded.

How it works

  1. You configure placeholder tokens in the template editor (drag and drop from the sidebar)
  2. When calling ClicktermDialog.show(), pass values via the templatePlaceholders parameter
  3. ClickTerm substitutes those values into the template before rendering
  4. The same values appear in the Clickwrap Event, Certificate of Acceptance, and end user record
Template editor showing placeholder tokens being inserted into the agreement
Rendered clickwrap modal showing placeholders replaced with live data

Product Guide: Placeholders

How to configure placeholder tokens in the dashboard editor.

Displaying a clickwrap

Full guide on showing the clickwrap dialog.