Searches the last day's news for your brand and people, archives what it finds and posts a round-up to Slack.

UsesClaudeGoogle SheetsSerperSlack

Get a daily round-up of your press coverage in Slack

ScheduleRun every day.Run every day.
ValuesSet searchTerms to blank.Set searchTerms to blank.
ValuesSet slackChannelId to blank.Set slackChannelId to blank.
ValuesSet archiveUrl to blank.Set archiveUrl to blank.
ValuesSet archiveTab to Coverage.Set archiveTab to Coverage.
ValuesSet resultsPerTerm to 10.Set resultsPerTerm to 10.
TextSplit searchTerms by a new line and save it as terms.Split searchTerms by a new line and save it as terms.
ValuesSet found to an empty list.Set found to an empty list.
Decisions & LoopsFor each term in terms:For each term in terms:
Decisions & LoopsIf a step below fails, save the error as searchErrorIf a step below fails, save the error as searchError
Try
TextTrim term and save it as cleanTerm.Trim term and save it as cleanTerm.
Decisions & LoopsIf cleanTerm isn't emptyIf cleanTerm isn't empty
Yes
SerperSerperSearch Google News for cleanTerm. Save it as results.Search Google News for cleanTerm. Save it as results.
Decisions & LoopsFor each article in results.articles:For each article in results.articles:
Decisions & Loops If a step below fails, save the error as articleError If a step below fails, save the error as articleError
Try
TextTrim article.title and save it as headline.Trim article.title and save it as headline.
TextTrim article.link and save it as url.Trim article.link and save it as url.
Decisions & LoopsIf headline isn't empty and url isn't emptyIf headline isn't empty and url isn't empty
Yes
ValuesSet line to - headline (article.source) url.Set line to - headline (article.source) url.
ListsAdd line to the end of found and save it as found.Add line to the end of found and save it as found.
Google SheetsGoogle SheetsAdd a row to archiveTab in archiveUrl.Add a row to archiveTab in archiveUrl.
No
No steps
On error
ValuesShow in the output: Skipped an article for cleanTerm: articleError as text.Show in the output: Skipped an article for cleanTerm: articleError as text.
No
No steps
On error
ValuesShow in the output: Could not search for a term: searchError as text.Show in the output: Could not search for a term: searchError as text.
Decisions & LoopsIf found is emptyIf found is empty
Yes
SlackSlackSend a message to slackChannelId.Send a message to slackChannelId.*Coverage round-up* Nothing new in the last day.
No
TextJoin found with a new line and save it as coverage.Join found with a new line and save it as coverage.
Decisions & LoopsIf a step below fails, save the error as summaryErrorIf a step below fails, save the error as summaryError
Try
ClaudeClaudeAsk Claude: 'Below is today's press coverage. Write two or three sentences for a team channel: what the story is, whether the tone is positive, negative or neutral, and anything that looks like it needs a response today. Use only what is in the list - do not characterise an article beyond its headline, and do not speculate about why something was written.Ask Claude: 'Below is today's press coverage. Write two or three sentences for a team channel: what the story is, whether the tone is positive, negative or neutral, and anything that looks like it needs a response today. Use only what is in the list - do not characterise an article beyond its headline, and do not speculate about why something was written. coverage'. Save it as written. Maximum response length: 400
TextTrim written.response_text and save it as summary.Trim written.response_text and save it as summary.
SlackSlackSend a message to slackChannelId.Send a message to slackChannelId.*Coverage round-up* (the length of found as text) summary coverage
On error
SlackSlackSend a message to slackChannelId.Send a message to slackChannelId.*Coverage round-up* (the length of found as text) _Summary unavailable today._ coverage