Sending Contracts & Managing Recipients

Once a contract has its PDF and field placement, it's ready to send. ClientCove supports both single-shot sends and template-based bulk sends with per-recipient visibility and expiry.

How Sending Works

When you send a contract, ClientCove:

  1. Generates a per-recipient submission record (for templates) or marks the contract itself as sent (for one-shots)
  2. Stamps the sent_date field with the current timestamp
  3. Sends each recipient an email with:
    • The contract title
    • Your optional message
    • A "View Contract" link unique to them
  4. Records each recipient in the wp_clientcove_contract_recipients table with status Pending
  5. The contract status taxonomy term flips to Sent

Recipients can view, sign, decline, or let the contract expire from the link in their email.

Sending a One-Shot Contract

For contracts not flagged as templates:

  1. Open the contract from the Contracts list
  2. Confirm the assigned signers in the Signers field
  3. Confirm field placement is complete
  4. Click Send for Signature
  5. Recipients are notified

This path is best for contracts you'll only ever send once. There's no recipient-by-recipient configuration — every assigned signer gets the email.

Send from Template

For contracts flagged with Save as Template, the workflow goes through the Send from Template modal — designed for sending the same contract to multiple clients (each with their own signers).

Opening the modal

  1. Go to ContractsTemplates (top-right toolbar)
  2. Find the template
  3. Click the Send action on the row
  4. The Send Contract Template modal opens

The modal shows the template name in a header card, then collects:

  • One or more recipients (each with a Client + Signers + Visibility)
  • An optional message
  • An optional expiry deadline
  • An auto-send toggle

Adding Recipients

The first recipient block is shown by default. To add more:

  • Click Add Another Recipient
  • A new block appears with the same fields
  • Click the X in any non-first block to remove it

For each recipient block:

Client (required)

Select from the dropdown of all portal clients. Selecting a client triggers a load of that client's user list into the Signers picker.

Signers

After picking a client, the Signers list populates with users from that client. Tick the users who need to sign on behalf of this client.

A loading indicator appears briefly while users load. If a client has no users, the list shows an empty state.

Visibility (per recipient)

  • Shared — building icon — any user from this client can view the resulting submission
  • Private — lock icon — only the assigned signers from this client can view

Each recipient gets its own visibility — useful when one client wants transparency and another needs strict confidentiality.

Per-Recipient Visibility

Sending the same template to two clients with different visibility settings creates two submissions, each respecting its own visibility:

  • Acme Corp — Shared → all Acme users see the submission
  • Globex — Private → only the assigned Globex signers see it

This works without any extra configuration on the template itself.

Optional Message

The Message to Recipients textarea overrides the contract's default message for this send. Plain text, included in the recipient's email above the "View Contract" link.

Leave it blank to use the contract's default message.

Expiry Deadlines

Toggle Set expiry deadline to add a per-send expiration:

  1. Toggle the switch on
  2. Enter a number of days (default 30, range 1–365)
  3. ClientCove calculates the expiry date and stores it on each submission

After the expiry, recipients who haven't signed can no longer access the contract page (status flips to Expired in the recipients table). The original signers list and audit trail remain.

Expiry is per-send, not per-recipient — every recipient in this send gets the same deadline. To give different deadlines, send the template separately to each recipient.

Auto-Send vs Save as Draft

The Send immediately after creating toggle (default ON) controls whether ClientCove emails recipients right away:

  • ON (default) — submissions are created with status Sent, recipients get their notification immediately
  • OFF — submissions are created with status Draft, no emails go out

Use Draft mode when you want to:

  • Review the submissions before they go out
  • Coordinate the send with another event (e.g. send the contract right after a kickoff call)
  • Stage many recipients ahead of an announcement

To send draft submissions later, open each submission and click Send Now.

Recipient Notification Email

The email sent to each recipient includes:

  • Subject: "A new contract is ready for your signature: <contract title>"
  • From: Your portal's configured From address (Settings → Email)
  • Body:
    • Recipient name greeting
    • The optional message (or the contract's default message)
    • A "View Contract" CTA button linking to the recipient's unique contract URL
    • Footer with portal branding

The link is per-recipient — each signer gets a URL that authenticates them as the right user when they click through (auto-login token + standard portal session check).

If your portal uses an email designer template, the notification respects that styling automatically.

Resending

If a recipient hasn't signed and you want to nudge them:

  1. Open the contract from the Contracts list
  2. Look for the Resend action (admin/editor)
  3. Click — ClientCove re-sends the notification email to recipients who haven't signed
  4. The resend_count field increments
  5. The audit trail logs the resend with timestamp + actor

Resends don't reset the expiry deadline — they just re-deliver the same email.

To extend the deadline, void the contract and re-send fresh.

The Recipients Database

For multi-recipient template sends, ClientCove tracks each recipient in a dedicated database table: wp_clientcove_contract_recipients.

Each row stores:

FieldPurpose
contract_idThe parent contract / template
user_idThe recipient's WordPress user ID
submission_idThe submission post created when they sign (null until signed)
statusPending / Viewed / Signed / Declined / Expired
viewed_dateFirst time they opened the contract page
sent_dateWhen their notification was sent
expires_atPer-recipient expiry timestamp

The submissions view in the contracts page reads from this table to show progress per recipient.

Was this page helpful?