send

raven send #

Send outreach emails from a CSV or XLSX file via Gmail or Outlook.

Prerequisites #

raven auth-gmail    # or auth-outlook

Configure in .env:

SENDER_NAME=Your Name
SENDER_EMAIL=you@example.com
GOOGLE_CLIENT_ID=GOOGLE_CLIENT_SECRET=GMAIL_REFRESH_TOKEN=

Usage #

raven send --input drafts/outreach-2026-07-04.csv --dry-run
raven send --input drafts/outreach-2026-07-04.csv --delay 60 --limit 20
raven send --provider outlook --input contacts.xlsx

Required CSV columns #

ColumnDescription
contact_emailRecipient (or email)
subjectEmail subject
bodyPlain-text body

Extra columns (company, job_url, etc.) are ignored by the sender.

Flags #

FlagDefaultDescription
--input PATHcontacts.csvCSV or XLSX
--providergmailgmail or outlook
--dry-runoffPreview without sending
--limit N9999Max emails
--delay N30Seconds between sends
--cc ADDRESSCC all emails

Attachments #

Place files in files/ at repo root — attached to every email.

Logging #

Send progress and summary are logged to data/logs/send-*.log.

Notes #

  • Only use for rows where application_type is email
  • Form applications use form_steps — submit in the ATS browser
  • Always run --dry-run first