Daily AE pre-meeting briefing in Slack

By General Input

Every weekday at 7am, brief each AE on today's external meetings with the prospect's recent web and intent activity, sent as a Slack DM.

Integrations

  • Google Calendar
  • Factors.ai
  • Slack Bot

Type

Agentic Task

Categories

  • Sales

Build me an AE pre-meeting briefing workflow. Every weekday at 7am in the AE's local timezone, brief them on the external meetings they have that day with the most relevant recent activity from Factors.ai, delivered as a Slack DM.

Trigger: cron, weekdays at 7:00 in the user's timezone.

Steps:

1. Use Google Calendar List Events on the primary calendar to fetch every event that starts today (between 00:00 and 23:59 in the user's timezone). Expand recurring events into single instances.

2. For each event, look at the attendee list. Identify the AE's own company email domain (the domain of the authenticated Google account). Treat any event with at least one external attendee (an attendee whose email domain is not the AE's own domain and not a generic free-mail domain like gmail.com, outlook.com, yahoo.com) as a candidate briefing. Skip events with no external attendees, declined events, and all-day events.

3. For each candidate meeting, pick the primary prospect domain. If multiple external attendees share a domain, use that. If they span domains, pick the first one and note the others in the brief.

4. For each unique prospect domain, call Factors.ai Get Account Journey with the domain and a trailing 14-day window (from = today minus 14 days, to = today). The endpoint is read-only and account-scoped by domain; the response is an array of user-level timelines with event names, timestamps (Unix seconds for events, ISO 8601 for user_last_event_at), and user properties.

5. If Factors returns 404 or an empty timeline for that domain, skip the meeting entirely. Do not send an empty briefing.

6. Summarize the highest-signal activity for that account. Prioritize, in order: pricing page visits, product or feature page visits, demo or contact-us form submissions, named visitors from the account (people with identified names or emails), G2 or review-site signals if surfaced, ad clicks or LinkedIn ad engagement if surfaced, and recency of last visit. Surface at most three activities, each with a short label and the date.

7. Draft one suggested opening line for the AE based on what the account has actually been engaging with (for example: 'They visited your pricing page three times this week, so it's fair to ask what's driving the evaluation timeline'). Keep it conversational, one sentence, no fluff.

8. Use Slack Bot Look Up User by Email with the AE's Google account email to find their Slack user ID, then Open a Conversation to get a DM channel ID, then Send a Message to post the brief. Send one message per qualifying meeting.

Brief format (Slack mrkdwn):

*<meeting time local> — <meeting title>* With: <comma-separated external attendees, name (email)> Account: <prospect domain> Recent signal from Factors.ai: • <activity 1> — <date> • <activity 2> — <date> • <activity 3> — <date> Last seen: <user_last_event_at> Suggested opening: <one sentence>

Rules:

• Run only on weekdays (Mon-Fri).

• If the AE has no qualifying meetings, do nothing (do not send a 'nothing to brief' message).

• De-dupe by event id so the same meeting never gets two briefings even if the workflow runs twice.

• Keep each brief under ~12 lines. Better to undersend than overload before a call.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasonLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsLinkedIn Ads budget pacing dashboard for every client accountFront desk appointment confirmation board for the next 3 daysGive your team Looker numbers without buying more seats