Skip to content

gmail.dryRun — preview rendered email without sending #49

@AojdevStudio

Description

@AojdevStudio

Summary

Implement gmail.dryRun operation that renders a template with variables and returns the fully rendered email (subject, body, recipients) without actually sending it. Essential for outreach campaign QA.

Context

  • Repository: ~/Projects/local-mcps/gdrive
  • GitHub: AojdevStudio/gdrive
  • Plan Doc: docs/plans/2026-03-10-email-outreach-features.md (Task 3)
  • Relevant Files: src/modules/gmail/dryRun.ts (new), src/sdk/spec.ts, src/sdk/runtime.ts
  • Related Issues: Depends on gmail.sendFromTemplate (renderTemplate utility)

Current Behavior

N/A — new feature. No way to preview a rendered email before sending.

Expected Behavior

gmail.dryRun accepts the same template + variables input as sendFromTemplate but returns the rendered output (subject, body, to, cc, bcc) as a structured preview object without calling the Gmail send API.

Acceptance Criteria (max 3)

  • AC-1: dryRun returns a structured preview object with rendered subject, body, and all recipient fields
  • AC-2: dryRun does NOT call the Gmail API send endpoint (verified in tests via mock assertion)
  • AC-3: dryRun reuses the shared renderTemplate() utility from sendFromTemplate

Scope

In scope: dryRun operation, SDK spec + runtime registration, unit tests
Out of scope: Batch dry run (handled by sendBatch's dryRun flag), UI/visual preview rendering

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions