Skip to content

Renewal reminder 60 days before a contract ends

A webhook announces a new contract (email, name, contract, start_date, amount). The workflow computes the end date at 12 months, sleeps until 60 days before, drafts the renewal email, and sends it only once your account manager approves it. A past date raises a Slack alert.

By
Loop & Roll team · Official
Copied
0 times
Steps
8
Version
1 · 18 October 2026
Requires
Loop & Roll 1.0.0 or later

Workflow graph

Renewal reminder 60 days before a contract ends Hover a node to see its role · Drag to move the graph
Contract signed — Webhook receivedContract signedWebhook receivedContract end date — Compute a dateContract end dateCompute a dateSleep until 60 days before — WaitSleep until 60 days b…WaitpastWrite the renewal email — Compose (AI)Write the renewal em…Compose (AI)ModelApprove the renewal email — ApprovalApprove the renewal…ApprovalapprovedrejectedSend the renewal email — SendSend the renewal em…SendAlert: date already close — NotifyAlert: date already cl…NotifyTell the team it was declined — NotifyTell the team it was d…NotifyOpenAI — OpenAI (GPT)OpenAIgpt-5-mini
Renewal reminder 60 days before a contract ends

How it works

  1. 1

    Contract signed

    trigger.webhook

  2. 2

    Contract end date

    date.compute

  3. 3

    Sleep until 60 days before

    flow.wait

  4. 4

    Write the renewal email

    ai.compose

  5. 5

    Approve the renewal email

    flow.approval

  6. 6

    Send the renewal email

    mail.send

  7. 7

    Alert: date already close

    notify.send

  8. 8

    Tell the team it was declined

    notify.send

What you will fill in after import

Nothing personal travels with a template: connections, mailboxes, tables and recipients are left blank for you to pick in your instance.

Mailboxes to choose
Send the renewal email · mailbox
Connections to choose
OpenAI · connection (llm_provider)
Secrets to fill in
Alert: date already close · webhookUrl Tell the team it was declined · webhookUrl