DEV Community

Alex Kane
Alex Kane

Posted on

n8n for Freelancers: 5 Automations That Eliminate Admin Work (Free JSON Included)

If you're a freelancer, you're probably spending 20-30% of your time on things that have nothing to do with your actual work.

Chasing invoices. Sending "just following up" emails. Manually onboarding new clients. Copy-pasting project updates. Scheduling follow-ups in your head.

n8n eliminates all of that. It's a free, open-source automation tool that connects your apps and runs logic you define — without needing a developer or a $99/month SaaS subscription.

Here are 5 workflows I set up that collectively saved me around 8 hours a week. All JSON included.


1. Automated Invoice + Late Payment Reminder

The problem: You finish a project, send an invoice manually, then have to remember to follow up if the client hasn't paid in 2 weeks.

The workflow:

  1. Schedule Trigger → runs on the 1st of each month
  2. Set Node → builds invoice data (client name, project, amount, due date)
  3. Code Node → generates a professional invoice HTML
  4. Gmail → sends the invoice to the client
  5. Wait → waits 14 days
  6. Google Sheets → checks if invoice is marked paid
  7. Gmail → sends a polite reminder if not paid
{
  "nodes": [
    {
      "type": "n8n-nodes-base.scheduleTrigger",
      "parameters": {
        "rule": { "interval": [{ "triggerAtDayOfMonth": 1 }] }
      }
    },
    {
      "type": "n8n-nodes-base.set",
      "parameters": {
        "values": {
          "string": [
            { "name": "clientEmail", "value": "client@example.com" },
            { "name": "amount", "value": "2500" },
            { "name": "dueDate", "value": "={{ $now.plus(14, 'days').toFormat('MMMM d, yyyy') }}" }
          ]
        }
      }
    },
    {
      "type": "n8n-nodes-base.gmail",
      "parameters": {
        "operation": "send",
        "toList": "={{ $json.clientEmail }}",
        "subject": "Invoice Due {{ $json.dueDate }}",
        "message": "={{ $json.invoiceHtml }}"
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

This is exactly what the Invoice Generator template in FlowKit handles — full HTML template, Google Sheets tracker, and reminder logic wired up.


2. New Client Onboarding Sequence

The problem: Every new client starts the same way — welcome email, contract link, shared folder. You do it manually every single time.

The workflow:

  1. Webhook → receives new client form submission (Typeform, Tally, or custom form)
  2. Google Sheets → adds client to your master list
  3. Gmail → sends personalized welcome email with next steps
  4. Google Drive → creates a project folder named Client_ProjectName
  5. Slack → posts "New client onboarded: [Name]" to your #clients channel
  6. Wait → waits 7 days, then sends a check-in email
{
  "nodes": [
    {
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "new-client",
        "responseMode": "responseNode"
      }
    },
    {
      "type": "n8n-nodes-base.gmail",
      "parameters": {
        "operation": "send",
        "toList": "={{ $json.body.email }}",
        "subject": "Welcome to the project, {{ $json.body.firstName }}!",
        "message": "Hi {{ $json.body.firstName }},\n\nExcited to work with you! Here are your next steps..."
      }
    },
    {
      "type": "n8n-nodes-base.googleDrive",
      "parameters": {
        "operation": "createFolder",
        "name": "={{ $json.body.firstName + '_' + $json.body.projectName }}"
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

The Lead Capture to CRM template in FlowKit handles the webhook → Sheets → email pipeline with lead scoring built in.


3. Weekly Hours + Revenue Summary

The problem: You have no idea which clients are eating your time without paying enough for it.

The workflow:

  1. Schedule Trigger → every Monday at 8 AM
  2. Google Sheets → reads time tracking entries from the past 7 days
  3. Code Node → calculates hours per client, effective hourly rate, total revenue
  4. Gmail → emails you a formatted weekly summary
{
  "nodes": [
    {
      "type": "n8n-nodes-base.scheduleTrigger",
      "parameters": {
        "rule": {
          "interval": [{ "field": "cronExpression", "expression": "0 8 * * 1" }]
        }
      }
    },
    {
      "type": "n8n-nodes-base.code",
      "parameters": {
        "jsCode": "const rows = $input.all()[0].json.values.slice(1);\nconst summary = {};\nrows.forEach(row => {\n  const client = row[0];\n  const hours = parseFloat(row[1]) || 0;\n  const rate = parseFloat(row[2]) || 0;\n  if (!summary[client]) summary[client] = { hours: 0, revenue: 0 };\n  summary[client].hours += hours;\n  summary[client].revenue += hours * rate;\n});\nreturn [{ json: { summary } }];"
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

4. Instant Inquiry Response + Lead Qualification

The problem: Someone emails asking about your services. You're in the middle of a project. They wait 4 hours. By then they've hired someone else.

The workflow:

  1. Gmail Trigger → fires on every new email to your business address
  2. IF Node → filters for inquiry keywords ("price", "quote", "availability", "hire")
  3. OpenAI → classifies the lead (high/medium/low) based on email content
  4. Gmail → sends a personalized auto-reply within 2 minutes
  5. Google Sheets → logs the lead with classification
  6. Slack → pings you immediately for high-value leads
{
  "nodes": [
    {
      "type": "n8n-nodes-base.gmailTrigger",
      "parameters": {
        "filters": { "labelIds": ["INBOX"] }
      }
    },
    {
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "parameters": {
        "prompt": "Classify this email as 'high', 'medium', or 'low' value freelance lead. Return only the word.\n\nEmail: {{ $json.snippet }}"
      }
    },
    {
      "type": "n8n-nodes-base.gmail",
      "parameters": {
        "operation": "reply",
        "messageId": "={{ $json.id }}",
        "message": "Hi there,\n\nThanks for reaching out! I'd love to learn more about your project. I'll be in touch within 24 hours with full details.\n\n— Alex"
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

This is the Email Auto-Responder and AI Customer Support Bot templates in FlowKit combined.


5. One Blog Post → 5 Pieces of Content

The problem: You know content marketing builds your freelance pipeline. But writing one LinkedIn post after writing the blog post takes 3 hours. So you don't do it.

The workflow:

  1. Schedule Trigger → reads your blog's RSS feed daily
  2. HTTP Request → fetches the latest post content
  3. IF Node → checks if this post has been processed (dedup via Google Sheets)
  4. OpenAI → rewrites content into: Twitter thread, LinkedIn post, email teaser
  5. Google Sheets → queues the output for your review before posting
{
  "nodes": [
    {
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "https://yourblog.com/rss.xml",
        "responseFormat": "string"
      }
    },
    {
      "type": "@n8n/n8n-nodes-langchain.openAi",
      "parameters": {
        "prompt": "From this blog post, create:\n1. Twitter thread (8 tweets)\n2. LinkedIn post (250 words, professional)\n3. Email teaser (3 short paragraphs)\n\nReturn as JSON with keys: twitter_thread (array), linkedin (string), email (string)\n\nBlog: {{ $json.content }}"
      }
    },
    {
      "type": "n8n-nodes-base.googleSheets",
      "parameters": {
        "operation": "append",
        "sheetName": "Content Queue"
      }
    }
  ]
}
Enter fullscreen mode Exit fullscreen mode

The Content Repurposer template in FlowKit has this pre-built with support for WordPress, Ghost, Substack, and direct URL input.


The ROI Math

Workflow Time saved per week
Invoice + reminder 45 min
Client onboarding 1 hour
Weekly hours report 30 min
Inquiry auto-response 2 hours
Content repurposing 3 hours
Total ~7.5 hours/week

At $50/hr, that's $375/week in recovered time — or just time you get back.


How to Get Started

Install n8n in 30 seconds:

npx n8n
Enter fullscreen mode Exit fullscreen mode

Or use n8n Cloud (free trial available).

Then grab the ready-to-import workflow templates at stripeai.gumroad.com — each includes the full JSON, a setup guide, and credential configuration steps. No debugging from scratch.

Start with the invoice reminder. Clients start paying on time, and you never have to send an awkward follow-up again.


FlowKit offers ready-made n8n automation templates for freelancers and small businesses — browse the store.

Top comments (0)