Reads new Gmail email for feature requests and logs the ones it finds in Notion as tasks, with a summary of who asked and why.
Uses
Claude
GmailNotion
Turn emailed feature requests into Notion tasks
email.When an email arrives. Save it as email.featureRequestsDatabaseId to blank.Set featureRequestsDatabaseId to blank.titleProperty to Name.Set titleProperty to Name.productDescription to blank.Set productDescription to blank.includeEmailText to true.Set includeEmailText to true.subjectKeywords to an empty list.Set subjectKeywords to an empty list.ignoreKeywords to [out of office, automatic reply, auto-reply, autoreply, undeliverable, delivery status notification, mail delivery failed].Set ignoreKeywords to [out of office, automatic reply, auto-reply, autoreply, undeliverable, delivery status notification, mail delivery failed].gmailAccountIndex to 0.Set gmailAccountIndex to 0.message, database, title_property, product, subject_keywords, ignore_keywords, and account_index and save it as intake.Run Python code on message, database, title_property, product, subject_keywords, ignore_keywords, and account_index and save it as intake.intake.setup_problem isn't emptyIf intake.setup_problem isn't emptyYes
intake.setup_problem.Stop and report a problem: intake.setup_problem.No
No steps
intake.proceed is noIf intake.proceed is noYes
intake.reason.Finish the run: intake.reason.No
No steps
requestsReply to blank.Set requestsReply to blank.requestsErrorIf a step below fails, save the error as requestsErrorTry
requestsResponse.
Maximum response length: 1000requestsResponse.response_text and save it as requestsReply.Trim requestsResponse.response_text and save it as requestsReply.On error
intake.ai_failure_prefix plus requestsError.message.Stop and report a problem: intake.ai_failure_prefix plus requestsError.message.requestsReply is emptyIf requestsReply is emptyYes
intake.ai_failure_prefixnothing - its reply was empty.Stop and report a problem: intake.ai_failure_prefixnothing - its reply was empty.No
No steps
requestsReply starts with NONEIf requestsReply starts with NONEYes
intake.no_request_reason.Finish the run: intake.no_request_reason.No
No steps
summaryText to blank.Set summaryText to blank.summaryProblem to blank.Set summaryProblem to blank.summaryErrorIf a step below fails, save the error as summaryErrorTry
summaryResponse.
Maximum response length: 500summaryResponse.response_text and save it as summaryText.Trim summaryResponse.response_text and save it as summaryText.On error
summaryProblem to summaryError.message.Change summaryProblem to summaryError.message.requests_reply, summary, summary_problem, intake, and include_email_text and save it as page.Run Python code on requests_reply, summary, summary_problem, intake, and include_email_text and save it as page.page.has_requests is noIf page.has_requests is noYes
page.skip_reason.Finish the run: page.skip_reason.No
No steps
notionErrorIf a step below fails, save the error as notionErrorTry
page.title in intake.database_id.Create the page page.title in intake.database_id.On error
page.failure_prefix plus notionError.message.Stop and report a problem: page.failure_prefix plus notionError.message.summaryProblem isn't emptyIf summaryProblem isn't emptyYes
page.summary_warning.Show in the output: page.summary_warning.No
No steps
page.done_message.Show in the output: page.done_message.