FlowKit

n8n template · Compliance & Audit Pack

Follow up on incomplete files automatically with n8n

Follow-ups are the most profitable and most neglected part of collecting files. This workflow takes over: every weekday morning it reads incomplete files from Supabase, has AI write a personalized reminder, sends it, stamps the date, then posts a recap to Slack.

Pipelinerelances-automatiques-dossiers.json · 8 nodes
  1. Chaque matin à 9htriggerSchedule (cron)
  2. Dossiers incompletsSupabase
  3. BoucleLoop (batches)
  4. Rédiger la relanceLLM chain
  5. Envoyer l'email de relanceSend email
  6. Marquer comme relancéSupabase
  7. Résumé des relances sur SlackSlack

Attached AI sub-nodes

  • Modèle OpenAIOpenAI model

The problem it solves

Between 30 and 50% of started files never finish without a reminder — and manual follow-up is precisely the task that gets dropped when the week fills up. Result: audits dragging on for months over three remaining questions.

Naive automation (the same generic email on a loop) irritates more than it converts. Here every message is written by the model from the file's context — name, age, previous reminders — with a courteous tone that ages well.

How the workflow works, node by node

Node names are in French, exactly as they appear in the imported workflow — the logic is language-agnostic.

  1. 01

    Chaque matin à 9h

    Schedule (cron)

    Cron 0 9 * * 1-5: weekdays only — a reminder received on Sunday works against you.

  2. 02

    Dossiers incomplets

    Supabase

    Selects rows from the dossiers table with incomplete status: the exact scope of today's run.

  3. 03

    Boucle

    Loop (batches)

    Processes files one by one: each iteration writes, sends and logs one reminder, then loops until the list is exhausted.

  4. 04

    Rédiger la relance

    LLM chain

    Composes the email from the file (name, ID, last reminder date): courteous, brief, with a clear recap of what remains to be done.

  5. 05

    Modèle OpenAI

    OpenAI model

    ai_languageModel sub-node: mass personalization is exactly where the LLM beats the fill-in-the-blanks template.

  6. 06

    Envoyer l'email de relance

    Send email

    Sends through your SMTP, from your own domain — deliverability and a professional image.

  7. 07

    Marquer comme relancé

    Supabase

    Updates last_reminder_at on the file: full traceability and a guard against double reminders, before handing back to the loop.

  8. 08

    Résumé des relances sur Slack

    Slack

    'Done' branch: once all files are processed, one message recaps the run — supervision without opening n8n.

What you need to run it

  • n8n ≥ 1.60 with the LangChain nodes
  • A Supabase project with the dossiers table (SQL provided in the pack guide)
  • An OpenAI API key
  • A configured SMTP (SPF/DKIM recommended) and a Slack bot for the recap

Customization ideas

  • Space reminders out by filtering on last_reminder_at (e.g. no reminder within 3 days of the previous one)
  • Escalate the tone on the third reminder by passing the counter to the prompt
  • Switch the channel to SMS or WhatsApp for audiences unresponsive to email

FAQ

Frequently asked questions

How do I import this template into n8n?

Import relances-automatiques-dossiers.json via 'Import from File', attach Supabase, OpenAI, SMTP and Slack, replace the audit@votre-domaine.fr sender address, then activate: the first run goes out the next weekday morning at 9 am.

How do I avoid reminding a completed file?

The workflow only targets files with incomplete status: as soon as your process (or the pack's bot) flips the status to complete, the file drops out of scope automatically.

Are the generated emails really different from one another?

Yes: each reminder is written from the specific file's data, not from a fill-in template. No two recipients ever receive the same text, while staying within the frame set by the prompt.