Automated EOD Report Generation
Daily End-of-Day reports generated automatically, ClickUp tasks and GoHighLevel sales data fetched, merged, and summarised by AI, then pushed to Slack, Email, and Google Drive every weekday at 6 PM.
The team was manually compiling EOD reports each evening, pulling task data from ClickUp, sales figures from GoHighLevel, writing summaries, and distributing them across Slack, email, and shared drives. It was repetitive, error-prone, and took 30–60 minutes every day.
Client feedback“6 PM. Every day. Report in Slack. It has not missed once.”
The transformation
What the client was dealing with, and what we replaced it with.
- EOD reports compiled manually every evening, taking 30–60 minutes of team time
- Data pulled from two separate platforms (ClickUp + GoHighLevel) with no unified view
- Summaries were inconsistent in quality and format depending on who wrote them
- Reports were sometimes delayed or missed when team was busy
- No automated distribution, manually sent to Slack and email each time
- No structured archive of historical EOD reports for trend analysis
- Scheduled n8n workflow runs automatically at 6 PM every weekday, no manual trigger needed
- ClickUp API fetches all task completions and updates for the day
- GoHighLevel API retrieves current sales pipeline and deal activity
- Data is merged, cleaned, and structured into a consistent format
- Google Gemini generates a narrative summary covering tasks, sales, and action items
- Report is pushed simultaneously to Slack channel, email recipients, and a Google Drive folder
How we built it
- 1
Mapped all data sources and designed the unified report schema
- 2
Built ClickUp API integration to pull daily task activity
- 3
Built GoHighLevel API integration for sales pipeline data
- 4
Implemented data merging and formatting layer in n8n
- 5
Integrated Google Gemini for AI-driven narrative report generation
- 6
Configured Slack bot to post formatted report to the team channel
- 7
Set up email distribution with HTML-formatted report body
- 8
Configured Google Drive upload for automated archiving
- 9
Scheduled the full workflow at 6 PM weekdays with error alerting

