Reads your tracker each week and posts everything still open to Slack, with a short note on what stands out.
Uses
Claude
Google Sheets
Slack
Weekly open items digest to Slack
spreadsheetUrl to blank.Set spreadsheetUrl to blank.slackChannelId to blank.Set slackChannelId to blank.trackerTab to Tasks.Set trackerTab to Tasks.maxRows to 300.Set maxRows to 300.doneValue to done.Set doneValue to done.spreadsheetUrl. Save it as sheet.Read the rows of spreadsheetUrl. Save it as sheet.openItems to an empty list.Set openItems to an empty list.row in sheet.rows:For each row in sheet.rows:rowErrorIf a step below fails, save the error as rowErrorTry
row.Status lowercase and save it as status.Make row.Status lowercase and save it as status.status is not doneValueIf status is not doneValueYes
row.Task (owner: row.Owner, status: row.Status) to the end of openItems and save it as openItems.Add - row.Task (owner: row.Owner, status: row.Status) to the end of openItems and save it as openItems.No
No steps
On error
rowError as text.Show in the output: Skipped a tracker row: rowError as text.openItems is emptyIf openItems is emptyYes
slackChannelId.Send a message to slackChannelId.*Weekly open items*
Nothing open - every tracked item is done.No
openItems with a new line and save it as itemList.Join openItems with a new line and save it as itemList.summaryErrorIf a step below fails, save the error as summaryErrorTry
itemList'. Save it as written.
Maximum response length: 400written.response_text and save it as summary.Trim written.response_text and save it as summary.slackChannelId.Send a message to slackChannelId.*Weekly open items* (the length of openItems as text)
summary
itemListOn error
slackChannelId.Send a message to slackChannelId.*Weekly open items* (the length of openItems as text)
_Summary unavailable this week._
itemList