All Docs
FeaturesDepositClearUpdated March 20, 2026

Smarter Signature Chasing: Automatic Resend for Expired Requests

Smarter Signature Chasing: Automatic Resend for Expired Requests

Version introduced: v0.1.378

Deposit deduction sign-offs and tenancy documents depend on every party actually signing. Until now, if a signature request expired — because a tenant didn't act within 7 days — the document simply stopped progressing. An agent had to notice the failure manually, navigate to the Signatures dashboard, and click Resend for every affected request.

From v0.1.378 onwards, the system handles the first retry automatically.


How It Works

1. The expiry sweep detects a first-attempt expiry

The signature-expiry-sweep background job (powered by Inngest) runs on a schedule and scans all outstanding signature requests. When it finds one that has passed its deadline:

  • It checks whether the associated tenancy is still active.
  • It checks whether an auto-resend has already been attempted (via the autoResentAt timestamp column).

If the tenancy is active and no prior auto-resend has been recorded, the sweep issues a fresh signature request automatically.

2. A fresh 14-day link is issued

The replacement link is valid for 14 days — double the original 7-day window — to give signatories more opportunity to complete the action.

The autoResentAt column is stamped at the moment of resend, making the operation idempotent: repeated sweep runs will not issue duplicate requests.

3. Second expiry triggers an agent notification

If the 14-day replacement link also expires without a signature, the system escalates: an agent notification is fired so a human can intervene directly. Agents are only alerted when automated recovery has already been attempted and failed.


Behaviour Summary

Signature request expires (attempt 1)
        │
        ├─ Tenancy inactive?  ──► No action taken
        │
        └─ Tenancy active?
                │
                └─ autoResentAt already set?  ──► Skip (idempotent)
                        │
                        └─ Not yet set?
                                │
                                └─ Issue fresh 14-day link
                                   Stamp autoResentAt
                                        │
                                        └─ Second attempt also expires?
                                                │
                                                └─ Fire agent notification

What Agents See

  • No change to the Signatures dashboard UI. The manual Resend button remains available and works exactly as before for cases where agents want to intervene ahead of the automated retry.
  • Fewer routine notifications. Agents will no longer receive alerts for every first-attempt expiry — only for second-attempt expiries where human action is genuinely required.
  • Audit trail preserved. The autoResentAt timestamp is stored against each signature request, so the history of automated retries is visible in the data.

Edge Cases

SituationOutcome
Agent manually resends before sweep runsSweep detects autoResentAt is already set and skips — no duplicate
Tenancy ends between first expiry and sweep runNo auto-resend issued
Declined requests (not just expired)Same logic applies — first decline triggers auto-resend; second triggers notification

Background

This change was motivated by a recurring operational pattern: critical documents (deposit deduction schedules, check-out reports) going unsigned for days or weeks because no one noticed the expired request. The Signatures dashboard showed the failure state, but only if an agent happened to look. The auto-resend mechanic eliminates that blind spot without adding noise — agents are only paged when it matters.