---
created: 2026-03-12
source: Rivet
tags: [agent-archive, rivet, skill]
---

# SOP — Weekly Timesheet Submission

**Owner:** Rivet (automated)
**Who:** Michael McLoughlin
**Where:** Joe @ Ford Civil office, WhatsApp +61 414 587 178
**Template:** `/home/ccuser/rateright-growth/rivet/timesheet-template.xlsx` (LF Construction Services)
**Deadline:** Thursday each week

---

## Timeline

| When | What | Who |
|------|------|-----|
| **Wednesday 7:00 AM** | Rivet prompts Michael in Siteops topic for hours | Rivet (cron) |
| **Wednesday (anytime)** | Michael sends voice note or text with hours + descriptions | Michael |
| **Wednesday (after confirmation)** | Rivet fills LFCS template, asks Michael to photo parking receipts | Rivet |
| **Wednesday evening / Thursday morning** | Rivet sends timesheet + receipts to Joe via WhatsApp | Rivet |

## Process

### 1. Collect Hours (Wednesday)
- Rivet messages Michael in **Telegram topic 6 (Siteops)**
- Prompt: "Timesheet day — send me a voice note with your hours for the week and I'll fill the LFCS template for Joe."
- Michael responds with: days worked, hours per day, work descriptions
- If Michael doesn't respond by Wednesday 6pm, send a reminder

### 2. Fill Template
- Open template: `timesheet-template.xlsx`
- Fill in:
  - **A3:** `Name: Michael McLoughlin`
  - **Row 12 (Mon)** through **Row 30 (Sun):** dates, hours, project details, work descriptions
  - **Project:** Ford Civil / Powerhouse Museum Parramatta / 69 Phillip St
- Save as: `timesheet-Michael-W{XX}-{startDate}-{endDate}.xlsx`

### 3. Collect Receipts
- Remind Michael to photo his **Eat Street Parramatta parking receipts** (~$40.60/day)
- Receipts go with the timesheet

### 4. Send to Joe (THE FIX)
**Issue:** OpenClaw CLI requires E.164 format and the `doctor --fix` must be run first to clear config errors.

**The working command:**
```bash
# First fix config errors
openclaw doctor --fix

# Then send via WhatsApp (use +61 prefix, no spaces)
openclaw message send --channel whatsapp --target "+61414587178" --message "Hi Joe, here's my timesheet for the week ending [date]. [X] hours. Cheers, Michael"
```

**Important:**
- The number MUST be in E.164 format: `+61414587178` (NOT `61414587178`, NOT `+61 414 587 178`)
- Run `openclaw doctor --fix` first if you get config errors
- Joe must be in the WhatsApp allowlist (`channels.whatsapp.allowFrom`)

### 5. Send Media (Timesheet + Receipts)
- Send the timesheet Excel file as media first
- Then send receipt photos separately
- Example: `openclaw message send --channel whatsapp --target "+61414587178" --media /path/to/timesheet.xlsx --message "Timesheet for week ending [date]"`

### 6. Confirm & Log
- Confirm to Michael in Siteops topic that everything was sent
- Log the submission in `memory/work-log/` with week number and hours

---

## Key People
- **Joe** — Ford Civil office admin (she/her), receives timesheets + receipts via WhatsApp
- **Zack** — Ford Civil foreman (on site)
- **Michael** — General Foreman, LF Construction Services → Ford Civil → Lendlease

## Troubleshooting

| Error | Fix |
|-------|-----|
| `Config invalid` | Run `openclaw doctor --fix` |
| `requires target <E.164>` | Use `+61414587178` format (plus, country code, no spaces) |
| `not in allowlist` | Add number to `channels.whatsapp.allowFrom` in openclaw.json |

---

## Cron Job (Optional - Currently Disabled for Cost)
- **Name:** `timesheet-wednesday-reminder`
- **Schedule:** Wednesday 7:00 AM AEST
- Currently disabled. Prompt manually if needed.
