Writing Templates Guide

A comprehensive guide to crafting professional documents and templates in APISign using Markdown syntax.

Markdown Basics

APISign templates use Markdown, a lightweight formatting syntax that's easy to learn and produces clean, professional documents.

Headings

Use # symbols to create headings. More # symbols mean smaller headings:

# Main Title (H1)
## Section Heading (H2)
### Subsection (H3)
#### Minor Heading (H4)

Text Formatting

**Bold text** for emphasis
*Italic text* for subtle emphasis
***Bold and italic*** for strong emphasis
~~Strikethrough~~ for deleted content

Lists

Unordered lists use -, *, or +:

- First item
- Second item
  - Nested item
  - Another nested item
- Third item

Ordered lists use numbers:

1. First step
2. Second step
3. Third step
[Link text](https://example.com)

Images

Paste or drop an image straight into the editor and it's uploaded and inserted for you. You can also reference an image by URL:

![Company logo](https://example.com/logo.png)

PNG, JPEG, GIF, and WebP are supported, up to 5MB each. Images embedded in an uploaded Word document, or pasted in as data:image/...;base64 markdown, are moved to storage when the template is saved and replaced with a link, so the template stays easy to edit.

Tables

| Item | Quantity | Price |
|------|----------|-------|
| Setup | 1 | {{setup_fee}} |
| Hosting | 12 months | {{hosting_fee}} |

Tables in an imported Word document are converted to this format, with the first row used as the header.

Line Breaks

A single line break is kept as a line break, so consecutive lines stay on separate lines:

**Client:** {{client_name}}
**Email:** {{client_email}}

Leave a blank line between paragraphs.

Horizontal Rules

Use three or more dashes, asterisks, or underscores to create a horizontal line:

---

Template Variables

Wrap a name in double curly braces, such as {{client_name}}, wherever the text changes from one contract to the next or a signer has to fill something in. Who completes each variable and what type of input it gets is covered in Template Variables.

Naming Conventions

Use descriptive, lowercase names with underscores. Field types are guessed from the words in the name, so a good name also saves you setup:

  • {{client_name}} - the client's full name, filled in by you
  • {{contract_date}} - a date you fill in
  • {{client_signature}} - a signature the client draws
  • {{client_initials}} - initials the client draws
  • {{client_sign_date}} - filled in automatically with the time the client signs

Common Variables

VariableDescriptionExample Value
{{client_name}}Client's full nameJohn Smith
{{client_email}}Client's email addressjohn@example.com
{{company_name}}Your company nameAcme Corp
{{contract_date}}Date of the agreementJanuary 15, 2025
{{effective_date}}When the contract takes effectFebruary 1, 2025
{{expiration_date}}When the contract expiresJanuary 31, 2026
{{total_amount}}Total contract value$10,000.00
{{payment_terms}}Payment scheduleNet 30

Document Structure

Contract Header

Start with clear identification:

# Service Agreement

**Agreement Number:** {{agreement_number}}
**Date:** {{contract_date}}

---

Parties Section

Clearly identify all parties involved:

## Parties

This Agreement is entered into between:

**Service Provider:**
{{provider_name}}
{{provider_address}}
{{provider_email}}

**Client:**
{{client_name}}
{{client_address}}
{{client_email}}

Terms and Conditions

Use numbered sections for legal clarity:

## Terms and Conditions

### 1. Services

The Service Provider agrees to provide the following services:

{{service_description}}

### 2. Compensation

The Client agrees to pay {{total_amount}} according to the following schedule:

{{payment_schedule}}

### 3. Term

This Agreement shall commence on {{effective_date}} and continue until {{expiration_date}}.

Signature Block

End with a clear signature section:

---

## Signatures

By signing below, both parties agree to the terms and conditions outlined in this Agreement.

**Service Provider:**

Signature: {{provider_signature}}
Name: {{provider_name}}
Date: {{provider_sign_date}}

**Client:**

Signature: {{client_signature}}
Name: {{client_name}}
Date: {{client_sign_date}}

{{provider_sign_date}} and {{client_sign_date}} are filled in automatically with the time each party signs. Give each party their own signature field; with more than one signer, each must be assigned one.


Fields the Signer Completes

Signatures, initials, signing dates and signer names are recognized from their names, as in the examples above. For anything else the signer should type or pick, such as their job title or a start date, set Completed By to Signer on the Variables tab. The full list of field types is in Template Variables.


Best Practices

Keep It Clear

  • Use plain language when possible
  • Define technical terms
  • Break long paragraphs into shorter ones
  • Use headings to organize content

Be Consistent

  • Use the same formatting throughout
  • Keep variable naming conventions consistent
  • Maintain consistent spacing and structure

Test Your Template

  1. Create a contract from your template with Send as a test ticked
  2. Fill in all variables with sample data
  3. Check the live preview as you go
  4. Send it, sign it from the email that comes to you, and check the signed PDF
  5. Verify signature fields are properly placed
  • Include all necessary legal disclaimers
  • Clearly state governing law and jurisdiction
  • Define dispute resolution procedures
  • Include severability clauses

Example Templates

Simple Service Agreement

# Service Agreement

This Service Agreement ("Agreement") is entered into as of {{contract_date}}.

## Parties

**Provider:** {{provider_name}}
**Client:** {{client_name}}

## Services

Provider agrees to perform the following services:

{{service_description}}

## Compensation

Client agrees to pay Provider {{total_amount}} for the services described above.

## Term

This Agreement begins on {{start_date}} and ends on {{end_date}}.

## Signatures

**Provider:**
{{provider_signature}}
Date: {{provider_sign_date}}

**Client:**
{{client_signature}}
Date: {{client_sign_date}}

Non-Disclosure Agreement (NDA)

# Non-Disclosure Agreement

This Non-Disclosure Agreement is entered into by and between:

**Disclosing Party:** {{disclosing_party}}
**Receiving Party:** {{receiving_party}}

**Effective Date:** {{effective_date}}

## 1. Definition of Confidential Information

"Confidential Information" means any information disclosed by the Disclosing Party that is marked as confidential or that reasonably should be understood to be confidential.

## 2. Obligations

The Receiving Party agrees to:

- Hold all Confidential Information in strict confidence
- Not disclose Confidential Information to any third parties
- Use Confidential Information only for {{permitted_purpose}}

## 3. Term

This Agreement shall remain in effect for {{term_length}} from the Effective Date.

## 4. Signatures

**Disclosing Party:**
{{disclosing_signature}}
Name: {{disclosing_name}}
Date: {{disclosing_sign_date}}

**Receiving Party:**
{{receiving_signature}}
Name: {{receiving_name}}
Date: {{receiving_sign_date}}

In both examples, the dates under the signatures are filled in automatically when each party signs.