Every Monday, emails you the Reddit posts that mention your product, checked by AI so namesakes are filtered out, with links.

UsesGmailGoogle SheetsOpenAIReddit

Get a weekly email of Reddit posts about your product

Every Monday you get one email with the week's Reddit posts about your product: subreddit, title, a link to the thread and one line on why it matters. The subreddits you name are checked every morning, and only posts whose title contains your product's name are passed to the AI, which is given your one-line description and decides whether each is really about you, so namesakes like a band or an everyday word are left out.

Each confirmed mention is added to your Google Sheet as it is found, and a post already on the sheet is never reported again. If a subreddit cannot be read, or a post cannot be checked, the run is marked as failed and names it, and Monday's email says so too, including in the subject. If the sheet cannot be read, nothing is checked until it can. A week with no mentions still sends the email, saying so.

You need Reddit, OpenAI, Google Sheets and Gmail connected; your product's name, a one-line description of it, the subreddits to watch and the address for the email; and a Google Sheet tab headed Date reported, Post ID, Subreddit, Title, Link and Why it matters.

ScheduleRun every day at 08:00.Run every day at 08:00.
ValuesSet productName to blank.Set productName to blank.
ValuesSet productDescription to blank.Set productDescription to blank.
ValuesSet subreddits to blank.Set subreddits to blank.
ValuesSet digestRecipient to blank.Set digestRecipient to blank.
ValuesSet mentionLogUrl to blank.Set mentionLogUrl to blank.
ValuesSet mentionLogTab to Reddit mentions.Set mentionLogTab to Reddit mentions.
ValuesSet postsPerSubreddit to 100.Set postsPerSubreddit to 100.
Dates & TimesGet today's date and save it as runDate.Get today's date and save it as runDate.
ValuesSet logRows to an empty list.Set logRows to an empty list.
Decisions & LoopsIf a step below fails, save the error as logErrorIf a step below fails, save the error as logError
Try
Google SheetsGoogle SheetsRead the rows of mentionLogUrl. Save it as mentionLog.Read the rows of mentionLogUrl. Save it as mentionLog.
ListsCompare [Date reported, Post ID, Subreddit, Title, Link, Why it matters] with mentionLog.headers and save it as logColumns.Compare [Date reported, Post ID, Subreddit, Title, Link, Why it matters] with mentionLog.headers and save it as logColumns.
Decisions & LoopsIf logColumns.only_in_first isn't emptyIf logColumns.only_in_first isn't empty
Yes
Decisions & LoopsStop and report a problem: The first row of the '@mentionLogTab' tab in your mention log must read: Date reported, Post ID, Subreddit, Title, Link, Why it matters (one heading per column, in that order, spelled exactly like that). Fix the headings, then run it again. Nothing was checked, so no mention has been missed.Stop and report a problem: The first row of the '@mentionLogTab' tab in your mention log must read: Date reported, Post ID, Subreddit, Title, Link, Why it matters (one heading per column, in that order, spelled exactly like that). Fix the headings, then run it again. Nothing was checked, so no mention has been missed.
No
No steps
ValuesChange logRows to mentionLog.rows.Change logRows to mentionLog.rows.
On error
Decisions & LoopsStop and report a problem: Could not read the '@mentionLogTab' tab of your mention log, so nothing was checked: the log is what stops a post being reported twice. Check the sheet link in 'mentionLogUrl', the tab name in 'mentionLogTab', and that the connected Google account can open the sheet. Reason: logError.message.Stop and report a problem: Could not read the '@mentionLogTab' tab of your mention log, so nothing was checked: the log is what stops a post being reported twice. Check the sheet link in 'mentionLogUrl', the tab name in 'mentionLogTab', and that the connected Google account can open the sheet. Reason: logError.message.
ListsGet Post ID from every item in logRows and save it as reportedIds.Get Post ID from every item in logRows and save it as reportedIds.
ValuesSet productBrief to The product: productNameSet productBrief to The product: productName What it is: productDescription.
ValuesSet mentions to an empty list.Set mentions to an empty list.
ValuesSet problems to an empty list.Set problems to an empty list.
ValuesSet unreadSubreddits to an empty list.Set unreadSubreddits to an empty list.
ValuesSet readCount to 0.Set readCount to 0.
TextSplit subreddits by , and save it as subredditList.Split subreddits by , and save it as subredditList.
Decisions & LoopsFor each subredditEntry in subredditList:For each subredditEntry in subredditList:
TextTrim subredditEntry and save it as subreddit.Trim subredditEntry and save it as subreddit.
Decisions & LoopsIf subreddit isn't emptyIf subreddit isn't empty
Yes
Decisions & LoopsIf a step below fails, save the error as subredditErrorIf a step below fails, save the error as subredditError
Try
RedditRedditList posts in r/subreddit. Save it as listing.List posts in r/subreddit. Save it as listing.
ValuesAdd 1 to readCount.Add 1 to readCount.
Decisions & LoopsFor each post in listing.posts:For each post in listing.posts:
Decisions & Loops If a step below fails, save the error as postError If a step below fails, save the error as postError
Try
TextTrim post.title and save it as title.Trim post.title and save it as title.
TextTrim post.id and save it as postId.Trim post.id and save it as postId.
TextTrim post.permalink and save it as permalink.Trim post.permalink and save it as permalink.
Decisions & LoopsIf title contains productName (ignoring case) and reportedIds doesn't contain…If title contains productName (ignoring case) and reportedIds doesn't contain…
Yes
Decisions & LoopsIf permalink contains /comments/If permalink contains /comments/
Yes
ValuesSet link to https://www.reddit.com@permalink.Set link to https://www.reddit.com@permalink.
ValuesSet postBrief to Post title: titleSet postBrief to Post title: title Posted in: r/subreddit.
AI AgentRun an AI agent: Is this Reddit post about the product below, or does its title only share the name? prod… and save it as relevance.Run an AI agent: Is this Reddit post about the product below, or does its title only share the name? prod… and save it as relevance.
TextTrim relevance.output.reason and save it as reason.Trim relevance.output.reason and save it as reason.
Decisions & LoopsIf reason is emptyIf reason is empty
Yes
ValuesChange reason to The AI gave no reason..Change reason to The AI gave no reason..
No
No steps
Decisions & LoopsIf relevance.output.verdict in lowercase is yesIf relevance.output.verdict in lowercase is yes
Yes
ValuesSet mentionLine to r/subreddit - titleSet mentionLine to r/subreddit - title link Why it matters: reason.
Google SheetsGoogle SheetsAdd a row to mentionLogTab in mentionLogUrl.Add a row to mentionLogTab in mentionLogUrl.
ListsAdd postId to the end of reportedIds and save it as reportedIds.Add postId to the end of reportedIds and save it as reportedIds.
ListsAdd mentionLine to the end of mentions and save it as mentions.Add mentionLine to the end of mentions and save it as mentions.
No
ValuesShow in the output: Not a real mention, skipped: title (reason).Show in the output: Not a real mention, skipped: title (reason).
No
ValuesShow in the output: Skipped a matching post with no usable link: title.Show in the output: Skipped a matching post with no usable link: title.
No
No steps
On error
ListsAdd Could not check or log @post.title in r/subreddit: postError.message to the end of problems and save it as problems.Add Could not check or log @post.title in r/subreddit: postError.message to the end of problems and save it as problems.
On error
ListsAdd r/subreddit to the end of unreadSubreddits and save it as unreadSubreddits.Add r/subreddit to the end of unreadSubreddits and save it as unreadSubreddits.
ListsAdd Could not read r/subreddit: subredditError.message to the end of problems and save it as problems.Add Could not read r/subreddit: subredditError.message to the end of problems and save it as problems.
No
No steps
ListsCount the items in mentions and save it as mentionCount.Count the items in mentions and save it as mentionCount.
TextJoin problems with a new line and save it as problemList.Join problems with a new line and save it as problemList.
ValuesSet problemNote to blank.Set problemNote to blank.
Decisions & LoopsIf problems isn't emptyIf problems isn't empty
Yes
TextBuild the text Not everything could be checked on this run: @problemList The next daily check tries again, but posts that have dropped out of a subreddit's newest @postsPerSu... and save it as problemNote.Build the text Not everything could be checked on this run: @problemList The next daily check tries again, but posts that have dropped out of a subreddit's newest @postsPerSu... and save it as problemNote.
No
No steps
ValuesSet emailNote to They will be in Monday's email..Set emailNote to They will be in Monday's email..
Decisions & LoopsIf the weekday name of runDate is MondayIf the weekday name of runDate is Monday
Yes
Dates & TimesGet the date 6 days before runDate and save it as weekStart.Get the date 6 days before runDate and save it as weekStart.
ListsKeep each item in logRows where item["Date reported"] is greater than or equal to weekStart and item["Date… and save it as earlierThisWeek.Keep each item in logRows where item["Date reported"] is greater than or equal to weekStart and item["Date… and save it as earlierThisWeek.
ValuesSet weekLines to an empty list.Set weekLines to an empty list.
Decisions & LoopsFor each loggedMention in earlierThisWeek:For each loggedMention in earlierThisWeek:
Lists Add r/loggedMention.Subreddit - loggedMention.Title Add r/loggedMention.Subreddit - loggedMention.Title loggedMention.Link Why it matters: loggedMention["Why it matters"] to the end of weekLines and save it as weekLines.
ListsCombine weekLines and mentions into one list and save it as weekLines.Combine weekLines and mentions into one list and save it as weekLines.
ListsCount the items in weekLines and save it as weekCount.Count the items in weekLines and save it as weekCount.
ValuesSet digestSummary to No new mentions were found this week..Set digestSummary to No new mentions were found this week..
Decisions & LoopsIf weekCount is greater than 0If weekCount is greater than 0
Yes
TextJoin weekLines with a blank line and save it as digestSummary.Join weekLines with a blank line and save it as digestSummary.
No
No steps
ValuesSet subjectNote to blank.Set subjectNote to blank.
Decisions & LoopsIf unreadSubreddits isn't emptyIf unreadSubreddits isn't empty
Yes
TextJoin unreadSubreddits with , and save it as unreadNames.Join unreadSubreddits with , and save it as unreadNames.
TextBuild the text - could not read @unreadNames and save it as subjectNote.Build the text - could not read @unreadNames and save it as subjectNote.
No
No steps
Dates & TimesMake runDate readable as “Monday, November 2” and save it as weekLabel.Make runDate readable as “Monday, November 2” and save it as weekLabel.
GmailGmailSend an email to digestRecipient.Send an email to digestRecipient. Subject: productName on Reddit - weekCount new mention(s), week to weekLabel@subjectNoteReddit posts about productName found in the week to weekLabel. digestSummary@problemNote Subreddits watched: subreddits Every mention above is also in your mention log, which keeps it out of later emails.
TextBuild the text This week's email went to @digestRecipient. and save it as emailNote.Build the text This week's email went to @digestRecipient. and save it as emailNote.
No
No steps
Decisions & LoopsIf readCount is 0If readCount is 0
Yes
Decisions & LoopsStop and report a problem: None of the subreddits you watch could be read, so no posts were checked. Check the names in 'subreddits' (without r/), and that each one is public.Stop and report a problem: None of the subreddits you watch could be read, so no posts were checked. Check the names in 'subreddits' (without r/), and that each one is public. problemList.
No
No steps
Decisions & LoopsIf problems isn't emptyIf problems isn't empty
Yes
Decisions & LoopsStop and report a problem: Logged mentionCount new mention(s), but not everything could be checked:Stop and report a problem: Logged mentionCount new mention(s), but not everything could be checked: problemList emailNote.
No
No steps
Decisions & LoopsFinish the run: Checked readCount subreddit(s) and logged mentionCount new mention(s). emailNote.Finish the run: Checked readCount subreddit(s) and logged mentionCount new mention(s). emailNote.