Skip to content

Your First Contract

This tutorial walks through the full contract lifecycle from creation to activation. You'll use a template to start, add parties, route through approval, send for e-signature, and see the contract become Active. Takes about 8 minutes.

Prerequisites: sample data loaded (see the Contract Templates section in the sidebar should show 5 templates). No other setup required.

1. Open the Contracts page

Click Contracts in the sidebar.

Contracts list

You see the seeded list: NDAs, MSAs, SOWs, Service Agreements, leases - each with its status badge. Click New Contract at the top.

2. Fill in the creation modal

The modal asks for:

  • Title - e.g. "NDA - Horizon Analytics"
  • Type - NDA
  • Number - auto-suggested (e.g. CT-2026-0101)
  • Template - pick Standard Mutual NDA
  • Value / Currency - leave blank for an NDA
  • Start / End date - typical NDA is 1 year; pick today and today+365
  • Auto-renew - optional

Click Create. The contract lands in the editor in Draft status.

3. Review Details

The Details tab is pre-filled from the template:

Details tab

Set optional fields:

  • Renewal Notice (days, comma-separated): 30 for a single 30-day warning, or 60,30,14 for escalating reminders
  • Summary - short description
  • Internal Notes - private comments

Click Save (when in Draft, changes save automatically on each field blur).

4. Add parties

Click the Parties tab.

Parties tab

Two parties are already there (from the template, if you used one with default parties). If empty, click Add Party for each:

Party 1 - Your side:

  • Kind: company
  • Display name: (your business name)
  • Role: Provider
  • Signing order: 0
  • Requires signature: on

Party 2 - Counterparty:

  • Kind: external
  • Display name: Horizon Analytics LLC
  • External email: signatory@horizon.test
  • Role: Client
  • Signing order: 1
  • Requires signature: on

Save each party.

5. Customise content (optional)

Click Open Designer at the top-right to open the visual editor:

Contract designer

The template already provides the NDA boilerplate. Drag fields (Title / Number, Start Date, etc.) from the left panel if you want them repositioned. Add or remove clauses via the Edit HTML mode.

When done, click Save and then Back to return to the editor.

6. Submit for approval

Back on the Details tab, click Submit for Approval in the top bar.

  • Status moves to Submitted for Approval
  • The editor locks (you'll see a padlock-like state on input fields)
  • An email fires to the workspace owner

If you're both submitter and approver (solo business), you'll see both Approve and Reject buttons next to Revert to Draft.

7. Approve

Click Approve.

  • Status moves to Approved
  • Approval is recorded in the History tab

The contract is now ready to send.

8. Send for signature

Click Send for Signature.

FoxCLM:

  • Generates a unique share token
  • Moves the contract to Out for Signature
  • Fires the share_contract workflow action (if configured)
  • Emails each party with requires_signature: on a link:
    https://your-viewer-host/sign/<token>?party=<party_id>

Click the Signatures tab to see generated signing links (copy the URL for party 1 / party 2 if you want to test locally).

9. The public signing page

Open your signing link in an incognito window (or share it with the counterparty):

Public signer page

The page shows:

  • Contract title and number
  • Status (Out for Signature) and signed count ("0 of 2 signed")
  • Contract body below

Scroll down to the Sign Contract form:

Signature pad

  • Signer picks their party (auto-selected from the URL)
  • Enters full legal name
  • Picks Type (name as styled text) or Draw (canvas pad)
  • Ticks the legal acknowledgement checkbox
  • Clicks Sign and submit

The page reloads: "Signed! 1 of 2 signed". Repeat for the counterparty's link.

10. The contract activates

When both parties have signed:

  • FoxCLM sets signed_at on the contract
  • A workflow transition Out for Signature -> Active with condition signed_at is_not_null fires
  • Status badge turns green (Active)

Back in the admin UI, the Signatures tab now shows both signatures with signer name, type, timestamp, and IP address.

The History tab records the whole arc:

History tab

Every status change, every action, every signer.

11. What happens next

If the template had a default obligation schedule:

If auto-renew is on and the end date passes: FoxCLM extends the end date by renewal_term_days and transitions to Renewed.

Otherwise, you manage renewal manually by clicking Amend (to create a linked amendment) or waiting for Expiring Soon to trigger renewal warnings.

Tips

  • Always add a signing order even if it's nominal (0, 1). It controls how parties appear on the signing page.
  • Pick Typed signatures when parties are technically unsophisticated - drawing on a desktop is awkward and people miss the draw control.
  • Use the template's default obligations whenever you can. Manually adding the same five obligations to every new contract is wasted work.
  • Watch the History tab. It's your audit trail for disputes, compliance audits, or just "who approved this, when?".

What's next

FoxCLM Documentation