Reads the calls booked in the next day, researches the companies you are meeting, and emails you a brief.
Uses
Claude
GmailGoogle Meet
Serper
Company news brief before your calls
briefRecipient to blank.Set briefRecipient to blank.ignoredDomains to blank.Set ignoredDomains to blank.hoursAhead to 24.Set hoursAhead to 24.maxMeetings to 20.Set maxMeetings to 20.headlinesPerCompany to 5.Set headlinesPerCompany to 5.skipDomains to an empty list.Set skipDomains to an empty list.rawDomain in ignoredDomains in lowercase split by ,:For each rawDomain in ignoredDomains in lowercase split by ,:rawDomain and save it as cleanedDomain.Trim rawDomain and save it as cleanedDomain.cleanedDomain isn't emptyIf cleanedDomain isn't emptyYes
cleanedDomain to the end of skipDomains and save it as skipDomains.Add cleanedDomain to the end of skipDomains and save it as skipDomains.No
No steps
windowStart.Get the current date and time and save it as windowStart.windowStart by hoursAhead hours and save it as windowEnd.Move windowStart by hoursAhead hours and save it as windowEnd.schedule.List upcoming meetings. Save it as schedule.meetings to schedule.meetings.Set meetings to schedule.meetings.meetingCount to 0.Set meetingCount to 0.calendarUnreadableIf a step below fails, save the error as calendarUnreadableTry
meetings and save it as meetingCount.Count the items in meetings and save it as meetingCount.On error
meetingCount to 0.Change meetingCount to 0.meetingCount is 0If meetingCount is 0Yes
No
No steps
briefedDomains to an empty list.Set briefedDomains to an empty list.briefedNames to an empty list.Set briefedNames to an empty list.sections to an empty list.Set sections to an empty list.meeting in meetings:For each meeting in meetings:meetingTitle to Untitled meeting.Set meetingTitle to Untitled meeting.untitledMeetingIf a step below fails, save the error as untitledMeetingTry
meeting.title and save it as meetingTitle.Trim meeting.title and save it as meetingTitle.On error
meetingTitle to Untitled meeting.Change meetingTitle to Untitled meeting.meetingTitle is emptyIf meetingTitle is emptyYes
meetingTitle to Untitled meeting.Change meetingTitle to Untitled meeting.No
No steps
meetingStart to blank.Set meetingStart to blank.undatedMeetingIf a step below fails, save the error as undatedMeetingTry
meeting.start and save it as meetingStart.Trim meeting.start and save it as meetingStart.On error
meetingStart to blank.Change meetingStart to blank.guestDomain to blank.Set guestDomain to blank.attendee in meeting.attendees:For each attendee in meeting.attendees:guestAddress to blank.Set guestAddress to blank.unreadableAttendeeIf a step below fails, save the error as unreadableAttendeeTry
attendee lowercase and save it as guestAddress.Make attendee lowercase and save it as guestAddress.On error
guestAddress to blank.Change guestAddress to blank.guestAddress doesn't contain @If guestAddress doesn't contain @Yes
No
No steps
guestAddress split by @ and save it as attendeeDomain.Get the last item of guestAddress split by @ and save it as attendeeDomain.attendeeDomain ends with resource.calendar.google.comIf attendeeDomain ends with resource.calendar.google.comYes
No
No steps
skipDomains contains attendeeDomainIf skipDomains contains attendeeDomainYes
No
No steps
guestDomain to attendeeDomain.Change guestDomain to attendeeDomain.guestDomain is emptyIf guestDomain is emptyYes
No
No steps
briefedDomains contains guestDomainIf briefedDomains contains guestDomainYes
No
No steps
guestDomain to the end of briefedDomains and save it as briefedDomains.Add guestDomain to the end of briefedDomains and save it as briefedDomains.companyName to blank.Set companyName to blank.nameLookupFailedIf a step below fails, save the error as nameLookupFailedTry
guestDomain'. Save it as nameGuess.
Maximum response length: 24nameGuess.response_text and save it as companyName.Trim nameGuess.response_text and save it as companyName.On error
companyName to blank.Change companyName to blank.companyName is emptyIf companyName is emptyYes
No
No steps
companyName in lowercase is unknownIf companyName in lowercase is unknownYes
No
No steps
articles to an empty list.Set articles to an empty list.newsSearchFailedIf a step below fails, save the error as newsSearchFailedTry
companyName. Save it as searchResult.Search Google News for companyName. Save it as searchResult.articles to searchResult.articles.Change articles to searchResult.articles.On error
articles to an empty list.Change articles to an empty list.headlineLines to an empty list.Set headlineLines to an empty list.article in articles:For each article in articles:headline to blank.Set headline to blank.headlineLink to blank.Set headlineLink to blank.incompleteArticleIf a step below fails, save the error as incompleteArticleTry
article.title and save it as headline.Trim article.title and save it as headline.article.link and save it as headlineLink.Trim article.link and save it as headlineLink.On error
headline to blank.Change headline to blank.headline is emptyIf headline is emptyYes
No
No steps
headlineLink is emptyIf headlineLink is emptyYes
No
No steps
published to blank.Set published to blank.undatedArticleIf a step below fails, save the error as undatedArticleTry
article.date and save it as published.Trim article.date and save it as published.On error
published to blank.Change published to blank.line to - headline.Set line to - headline.published isn't emptyIf published isn't emptyYes
line to line (published).Change line to line (published).No
No steps
line to lineChange line to line
headlineLink.line to the end of headlineLines and save it as headlineLines.Add line to the end of headlineLines and save it as headlineLines.sectionBody to blank.Set sectionBody to blank.headlineLines is emptyIf headlineLines is emptyYes
sectionBody to No news from the last month mentions companyName.Change sectionBody to No news from the last month mentions companyName.No
headlineLines with a new line and save it as headlineText.Join headlineLines with a new line and save it as headlineText.briefFailedIf a step below fails, save the error as briefFailedTry
companyName
Meeting: meetingTitle
Headlines:
headlineText'. Save it as written.
Maximum response length: 400written.response_text and save it as sectionBody.Trim written.response_text and save it as sectionBody.On error
sectionBody to blank.Change sectionBody to blank.sectionBody is emptyIf sectionBody is emptyYes
sectionBody to headlineText.Change sectionBody to headlineText.No
sectionBody to sectionBodyChange sectionBody to sectionBody
Headlines:
headlineText.sectionHeader to companyName - meetingTitle.Set sectionHeader to companyName - meetingTitle.meetingStart isn't emptyIf meetingStart isn't emptyYes
sectionHeader to sectionHeaderChange sectionHeader to sectionHeader
Starts: meetingStart.No
No steps
sectionHeader to sectionHeaderChange sectionHeader to sectionHeader
Domain: guestDomain.sectionHeaderAdd sectionHeader
sectionBody to the end of sections and save it as sections.companyName to the end of briefedNames and save it as briefedNames.Add companyName to the end of briefedNames and save it as briefedNames.sections is emptyIf sections is emptyYes
No
No steps
briefedNames joined by , to 120 characters and save it as briefSubject.Shorten Call brief: briefedNames joined by , to 120 characters and save it as briefSubject.briefBody to Here is what has been in the news about the companies you are speaking to today.Set briefBody to Here is what has been in the news about the companies you are speaking to today.
sections joined by
----------
.briefRecipient.Send an email to briefRecipient.
Subject: briefSubjectbriefBody