PayLessTax Email Campaign

v2.0.0

PayLessTax email automation system - 4x daily, 250 emails each

0· 387· 1 versions· 2 current· 2 all-time· Updated 1mo ago· MIT-0
byCarl Luis Olivier@wespeakallday

Email Campaign Skill

Overview

High-volume email campaign system for PayLessTax. Delivers 1,000 emails daily in 4 batches.

Purpose

  • Send 250 emails per batch, 4 batches daily (6am, 12pm, 3pm, 6pm)
  • Track bounces and unsubscribes
  • Scrape inbox for new contacts
  • Manage Google Workspace Gmail via service account

Input Variables

VariableDescriptionExample
GOOGLE_SERVICE_ACCOUNTJSON credentials{ "type": "service_account", ... }
USER_EMAILSending user emailclolivier@wespeakallday.com
ALIAS_EMAILFrom addressinfo@paylesstax.co.za
MAILING_LIST_PATHExcel CSV of contacts/workdir/mailing-list.xlsx
BATCH_SIZEEmails per batch250 (do NOT exceed Gmail limits)

Signature Template

Best regards,

The PayLessTax Team
www.paylesstax.co.za | info@paylesstax.co.za

Should you wish to no longer receive these emails, reply with UNSUBSCRIBE

Template Variables (Email Body)

VariableUsage
{{RECIPIENT_NAME}}Parsed from email or "Valued Client"
{{TAX_TIP}}Rotating tax tip of the day
{{PERSONALIZED_OFFER}}Dynamic offer based on last interaction
{{UNSUBSCRIBE_LINK}}For compliance

Triggers

Scheduled via OpenClaw scheduler:

  • 06:00 (Morning batch + inbox scraping)
  • 12:00 (Midday batch)
  • 15:00 (Afternoon batch)
  • 18:00 (Evening batch + maintenance)

APIs & Dependencies

  • Google Gmail API (service account with domain-wide delegation)
  • Pandas (for Excel/CSV contact lists)
  • google-auth,google-auth-oauthlib,google-auth-httplib2,google-api-python-client

Rate Limits

  • Gmail API: 250 messages/user/second (safe limit: 250/batch with delays)
  • Daily quota: Managed across 4 batches

Output

{
  "batch_id": "2026-03-03-06-00",
  "sent_count": 250,
  "failed": 3,
  "bounces": ["bad@example.com"],
  "unsubscribes": ["user@example.com"]
}

Files

  • index.py - Main email sending logic
  • templates/email-body.html - HTML email template
  • .env.example - Environment variables

Compliance Notes

  • Always include physical address
  • Honor unsubscribe within 10 days
  • Include company registration number

Version tags

latestvk9729rgc5c0vzafc2yjg5n9r6h829v9e