Monthly Report Generation for Nifty Project
Generate a monthly Nifty time-tracking report into Google Sheets on schedule.
On the first day of every month at 09:00, computes the previous month, creates a new Google Sheet tab for it, and fetches the tracked-time report from Nifty. It loops over each tracked task to retrieve details and compute its duration in hours, writes a row per task, adds a total-hours row, and emails a notification with a link to the spreadsheet.
- Monthly schedule trigger
- Date arithmetic to derive the previous-month reporting period
- AI-assisted extraction of month name, year, and period boundaries
- Per-task tracked-time retrieval from Nifty
- Duration math converting minutes to hours
- Google Sheets report generation with a total-hours row
- Email notification with a link to the report
- Nifty connection with the project ID configured
- Google Sheets connection with the target spreadsheet
- OpenAI API key
- Google Mail connection
Project managers who need an automated monthly time-tracking report for a Nifty project.
- Trigger: schedule - the first day of every month at 09:00.
- Get the current date and subtract one month to derive the reporting period.
- Extract the month name, year, and first and last day of the month with OpenAI.
- Create a Google Sheet tab for the reporting month with the report headers.
- Fetch the tracked-time report for that period from Nifty.
- Loop over each tracked task: retrieve task details, compute its duration, convert it to hours, and insert a row into the sheet.
- Add a total-hours summary row.
- Send an email notification with a link to the report.
MoreDocument OpsTemplates
Retrieves an offices.csv object from AWS S3, reads it into rows, and loops over each row keeping only four selected columns. The reduced rows are collected into a list, written to a new CSV file, and uploaded back to S3 as offices_reduced.csv. The workflow runs on demand.
Deletes a specific sheet from a Google Sheets spreadsheet and logs the result. A minimal, on-demand example workflow.
Lists all sheets in a Google Sheets spreadsheet and logs them. A minimal, on-demand example workflow.
Reads a local cities.csv file, parses it, and loops over each row. Rows with both a City and a State value are logged and inserted into the PostgreSQL CITY table; rows missing either value are logged as warnings. After the loop, it queries the row count of the CITY table and logs the total.