Client reporting assistant
Pulls the numbers together and writes the client report in plain words. For: Agencies and consultants.
The problem
Monthly reports take days of copying numbers into slides, and the explanation is rewritten every time.
How it works
Built from: gsheets, gmail, notion, claude.
- gsheets: Where the numbers are collected
- gmail: Sends the report to the client
- notion: Keeps notes, goals and past reports
- claude: Explains what changed and why, in plain words
flowchart LR
C(["Your customer"]) <-->|"asks, pays, gets updates"| APP["Your app<br/>Account manager app: review and approve the report on a phone"]
APP --> L{{"Your logic<br/>the rules that are yours"}}
subgraph EX["Apps that already exist: APIs and MCP servers"]
A0["Google Sheets<br/>Where the numbers are collected"]
A1["Gmail<br/>Sends the report to the client"]
A2["Notion<br/>Keeps notes, goals and past reports"]
A3["Claude (AI)<br/>Explains what changed and why, in plain words"]
end
L --> A0
L --> A1
L --> A2
L --> A3
L --> DB[("What it keeps<br/>Clients and goals, Metrics by period, Reports and approvals")]
L --> OWN["Admin dashboard<br/>Report templates and schedule per client"]
classDef yours fill:#1691D6,stroke:#0a5f95,color:#fff
classDef ext fill:#E6F3FB,stroke:#1691D6,color:#12112E
class APP,L,DB,OWN yours
class A0,A1,A2,A3,A4 extThe logic
- When reporting day arrives: Collect the numbers from each connected sheet
- When numbers collected: Compare with last period and the goal
- When report drafted: Send to the account manager to review
- When approved: Email the client and save a copy in Notion
- When a metric moves sharply: Alert the account manager the same day
flowchart LR
subgraph R0["Rule 1"]
direction TB
W0{{"When: Reporting day arrives"}} --> T0["Then: Collect the numbers from each connected sheet"]
end
subgraph R1["Rule 2"]
direction TB
W1{{"When: Numbers collected"}} --> T1["Then: Compare with last period and the goal"]
end
subgraph R2["Rule 3"]
direction TB
W2{{"When: Report drafted"}} --> T2["Then: Send to the account manager to review"]
end
subgraph R3["Rule 4"]
direction TB
W3{{"When: Approved"}} --> T3["Then: Email the client and save a copy in Notion"]
end
subgraph R4["Rule 5"]
direction TB
W4{{"When: A metric moves sharply"}} --> T4["Then: Alert the account manager the same day"]
end
S(["Start"]) --> R0 --> R1 --> R2 --> R3 --> R4 --> E(["Done and logged"])
classDef when fill:#E6F3FB,stroke:#1691D6,color:#12112E
classDef then fill:#1691D6,stroke:#0a5f95,color:#fff
classDef end1 fill:#12112E,stroke:#12112E,color:#fff
class W0,W1,W2,W3,W4 when
class T0,T1,T2,T3,T4 then
class S,E end1What can be developed
- Mobile app: Account manager app: review and approve the report on a phone
- Website: Client portal with live dashboards and past reports
- Admin dashboard: Report templates and schedule per client
- AI and automation: Writes the summary, highlights and next steps; Flags numbers that look wrong before they reach the client
The money (illustrative example)
The customer pays ₹2999 per agency, per month. API and hosting costs: AI writing ₹600, Email and storage ₹150, Hosting ₹150, together ₹900. Net profit ₹2099.
sankey-beta Customer pays,AI writing,600 Customer pays,Email and storage,150 Customer pays,Hosting,150 Customer pays,Net profit,2099
Watch out for
- A person must approve reports before clients see them.
- Client data stays separate between accounts.