29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
---
|
|
name: Sync Gmail Inbox
|
|
description: Download all emails from the user's Gmail account and save them as files.
|
|
version: 1
|
|
author: pastilhas
|
|
tags:
|
|
- email
|
|
- gmail
|
|
- sync
|
|
tools:
|
|
- gmail
|
|
inputs: []
|
|
---
|
|
|
|
# Sync Gmail Inbox
|
|
|
|
Download all emails from the user's Gmail account and save each one as an `.eml` file in `$OFFICER_USER_ROOT/Gmail/emails/`.
|
|
|
|
## Steps
|
|
|
|
1. Create the `$OFFICER_USER_ROOT/Gmail/emails` directory if it doesn't already exist.
|
|
2. Call `gmail` with `action=get_profile` to confirm the account is connected and note the total message count.
|
|
3. Determine the current year and month.
|
|
4. Loop **month by month**, starting from the current month and going backwards:
|
|
- Call `gmail` with `action=sync_inbox`, `output_dir=$OFFICER_USER_ROOT/Gmail/emails`, and `query=after:YYYY/MM/01 before:YYYY/MM+1/01` (adjust the dates for each month).
|
|
- Report the result for that month (e.g. "February 2026: saved 47 emails").
|
|
- If **3 consecutive months** return 0 saved emails and 0 already existing, stop — you've likely reached the beginning of the account.
|
|
5. When finished, count the total `.eml` files in `$OFFICER_USER_ROOT/Gmail/emails` and report the final total.
|