Skip to main content

Automate Fields with Text Tags

Embed text tags for instant field placement.

Updated over 2 months ago

What are text tags?

Text tags let you design once—in Word, Google Docs, or your PDF—and skip manual field placement later. By adding simple “anchor” keywords to your document, SignNow detects those tags on upload and converts them into the right fields for each recipient (signature, date, text input, etc.). That means faster prep, consistent layouts, and fewer mistakes.

This is especially useful when:

  • Your documents are generated by a CRM/ERP or Make/Zapier flow.

  • You send the same form in bulk and want identical field positions every time.

  • Legal/ops teams prefer working in Word/Docs and don’t want to rebuild templates after every edit.

  • You version documents frequently (new clauses, branding) and need fields to “snap” into place automatically.

Text tags can be simple and complex. Simple text tags are added directly to a document in SignNow and automatically turn into fields when the document is uploaded—no coding required. Complex text tags, on the other hand, are added via the API and allow for more advanced configurations, dynamic field placement, and integration with automated workflows. In short, simple tags are for quick, manual setup, while complex tags are for programmatic, customizable use.

Text tags ordering

The format of tags is positional, so their properties must be correctly ordered.

The order of simple text tags is the following (the properties in bold are required):

{Type of the field}{Required}{Role}{Label}{Prefilled text}{Text horizontal alignment}{Text vertical alignment}{Lock signing date}{Height multiplier}{Dropdown}{Width}{Height}{Validator ID value}{Radio name}{Radio value}{Checked}{Link}{Hyperlink hint}

Simple Text tag example

A required signature field for the role 'CEO': width '100', and height '15'

{{t:s;r:y;o:"CEO";w:100;h:15;}}

The tag can have multiple lines with page breaks before or after a colon or semicolon.

Make sure to use double quotes (") inside the tag syntax.

Property

Key

Values

When to use

Field type

t

s - signature
i - initials
t - text
d - dropdown
c - checkbox
f - attachment
r - radio button
h - hyperlink
cc - text field for cc email
e - instant invite. See Invite text tags

Example: t:s;

Always

Required

r

y - required
n - optional

Example: r:y;

Always

Role

o

String with a role name. Allowed symbols: letters, digits, and ',..

Example: o:"CEO";

Always

Label

l

String with a field label. Allowed symbols: letters, digits, and ',./\$.

Example: l:"Signature";

Only with text, dropdown, and file fields

Prefilled text

p

String with a prefilled text. Allowed symbols: letters, digits, and ',./\.

Example: l:"John Doe";Signature";`

Only with text fields

Text horizontal alignment

al

l - left
c - center
r - right

Example: al:c;

Only with text fields

Text vertical alignment

vl

t - top
m - middle
b - bottom

Example: vl:b;

Only with text fields

Lock signing date

lsd

Whether to set the current date of signing by default.
y - set the default date
n - no restrictions on the date

Example: lsd:y;

Only with text fields

Height multiplier

i

If height = 20 and i = 3, the SignNow field is 60 points high.

Example: i:3;

Only with text fields

Dropdown

dd

Dropdown options separated by commas. Allowed symbols: letters, digits, and ',..

Example: dd:"Option1, Option2, Option3";

Only with dropdown fields

Width

w

Field width in pixels.

Example: w:12;

Any field type. If not indicated, the field is of the tag width.

Height

h

Field height in pixels.

Example: h:12;

Any field type. If not indicated, the field is of the tag height.

Validator ID

v

Use to validate filled data against certain formats. For possible values, see Data validators.

Example: v:"13435fa6c2a17f83177fcbb5c4a9376ce85befeb";

Only with text fields

Name of the radio button group

rn

String with a name for a group of radio buttons. Allowed symbols: letters, digits, and ',.-.

Example: rn:"Select your department";

Only with radio buttons

Radio button value

rv

String with the value of a radio button. To create a group of radio buttons, create a tag for each radio button with the same group name and different values. For more information, see Radio buttons.

Allowed symbols: letters, digits, and ',.-$.

Example: rv:"HR";

Only with radio buttons

Checked

checked

1 - checked
Any other number - unchecked

Example: checked: 1;

With radio buttons and checkboxes

Link

lk

Hyperlink.

Example: lk:"https://signnow.com";

To use a hyperlink text tag, a corresponding organization setting must be enabled. To update the settings, contact SignNow support.

Only with hyperlinks

Hyperlink hint

ht

String with a hyperlink hint that appears in the field. Allowed symbols: letters, digits, and ,.$.

Example: lk:"https://yourlink.com";

Only with hyperlinks

CC email

cc

Add a CC recipient of the document.

Example: {{t:cc;e:"j.doe@email.com";}}

Only with cc fields

Radio buttons are created using the following tags:

  • rn - a name of the group of radio buttons. Several radio buttons related to one question comprise a radio button group. To add a radio button group, add several text tags with the same rn.

  • rv - a radio button value. Create a separate text tag for each value.

  • checked - determines whether the button is checked by default. Possible values: 0 - unchecked, 1 - checked.

Example:

{{t:r;r:y;o:"Customer";rn:"Do you consent to the terms and conditions?";rv:"Yes";}} {{t:r;r:y;o:"Customer";rn:"Do you consent to the terms and conditions?";rv:"No";}}

Use invite text tags to send an invite to sign immediately after uploading a document. This way, you won't need to send a separate POST /document/invite request.

To use an invite tag:

  1. Add one or more simple text tags to your document to create fields.

  2. Add a tag with the following structure: {{t:e;o:"Role1";e:"signer@mail.com";}} to your document.

Invite tag for a document with two signatures

{{t:s;r:y;o:"Manager";}} {{t:s;r:y;o:"Client";}}

{{t:e;o:"Manager";e:"<signer1@mail.com>";order:1;}} {{t:e;o:"Client";e:"<signer2@mail.com>";order:2;}}

order parameter indicates signing order and is optional.

Did this answer your question?