May 3, 2026 · Automation Guide

Automate Retainer Agreements: Send Recurring Contracts via API

Agencies, law firms, and consultants spend hours every month on retainer paperwork. Here's how to automate the entire flow — generate, send, sign, archive — with one API call on a cron job.

Michael Beckett
Michael Beckett

Founder, Signbee

TL;DR

Put retainer agreements on autopilot. Write a retainer template, run a cron job on the 1st of each month, and the API sends the agreement for e-signature. Clients sign on their phone, you get a SHA-256 certified PDF in your archive. Zero manual work after setup.

Who needs automated retainers?

IndustryRetainer typeTypical frequency
Marketing agenciesMonthly service retainerMonthly
Law firmsLegal retainer / engagementQuarterly / Annual
IT consultantsManaged services agreementMonthly
Design studiosCreative retainerMonthly
Bookkeepers / CPAsAccounting services retainerAnnual

Retainer agreement template

Markdown — customize and send
# Monthly Retainer Agreement

**Provider:** ${agency.name}
**Client:** ${client.name}
**Period:** ${monthName} ${year}
**Retainer Fee:** ${client.monthlyFee}

## Scope of Services
During the retainer period, Provider will deliver:
${client.services.map(s => "- " + s).join("\n")}

## Hours and Availability
This retainer includes up to ${client.hours} hours
of service per month. Unused hours do not roll over.
Additional hours billed at ${client.hourlyRate}/hour.

## Payment Terms
Retainer fee is due within 14 days of signing.
Late payments subject to 1.5% monthly interest.

## Term and Renewal
This agreement covers ${monthName} ${year}.
A new agreement will be sent for the following period.

## Confidentiality
Both parties agree to maintain confidentiality
of proprietary information shared during the
engagement. See our standard
[NDA terms](/blog/automate-nda-signing-api) for details.

By signing, both parties agree to the terms above.

Automate with a cron job

JavaScript — send retainers on the 1st of each month
// Run via cron: 0 9 1 * * (1st of month, 9 AM)
async function sendMonthlyRetainers() {
  const clients = await db.client.findMany({
    where: { status: "ACTIVE", retainerActive: true },
  });

  for (const client of clients) {
    const retainer = generateRetainer(client);

    await fetch("https://signb.ee/api/v1/send", {
      method: "POST",
      headers: {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + process.env.SIGNBEE_API_KEY,
      },
      body: JSON.stringify({
        markdown: retainer,
        recipient_name: client.contactName,
        recipient_email: client.contactEmail,
      }),
    });

    console.log(`Retainer sent to ${client.name}`);
  }
}

Frequently Asked Questions

Can retainer agreements be signed electronically?

Yes — fully valid under ESIGN, eIDAS, and ECA. E-signed retainers have better evidence than paper because of the audit trail.

How much does automating retainers cost?

With Signbee: $0.50 per retainer. An agency with 20 clients sending monthly retainers pays $10/month. Compare that to the $25/doc enterprise alternatives.

Automate retainers — $0.50/agreement, SHA-256 certified.

Last updated: May 3, 2026 · Michael Beckett is the founder of Signbee and B2bee Ltd.

Related resources