Draft follow-up emails after every external meeting

By General Input

Every 30 minutes during business hours, find meetings that just ended, draft a personalized follow-up email for each one, and post a review link to Slack.

Integrations

  • Nylas
  • HubSpot
  • Slack

Type

Agentic Task

Categories

  • Sales

Build me an agent workflow that runs on a cron trigger every 30 minutes during my business hours (roughly 8am to 7pm on weekdays, in my local time zone). Each run drafts a personalized follow-up email for every external meeting on my Nylas calendar that just ended, and stages everything for me to review before anything goes out.

For each run, do the following:

1) Use Nylas "List Events" scoped to a time window that ended in the last hour to find meetings that just wrapped. Skip anything that was declined or cancelled, and skip internal-only meetings by filtering to events with at least one attendee whose email domain does not match my own.

2) Before drafting anything for a meeting, use Nylas "List Drafts" to check whether a follow-up draft for the same meeting or attendee is already sitting in my outbox. If one exists, skip the meeting so I never see duplicates.

3) For each qualifying meeting, take the primary external attendee (or each external attendee if the meeting had multiple) and use Nylas "List Messages" or "List Threads" with a provider-native search on that person's email address to pull the last week or two of thread context. Read enough of the recent messages to match my usual tone and voice with them.

4) Cross-reference the attendee's email against HubSpot with "Search Contacts". If there's a match, look up any associated deal (Get Deal / Search Deals) so the draft can naturally reference the deal name, stage, and owner. If there's no HubSpot match, that's fine, just skip the CRM references for that person and keep going.

5) Write a short, warmly-worded follow-up email that:

- Recaps what was discussed, inferred from the meeting title, description, and recent thread history.

- Restates the concrete next steps and any specific asks (docs to send, intros to make, dates to hold).

- Matches the tone of my prior email history with that person (formal vs. casual, first-name basis, emoji or not).

- Never invents commitments I did not make. If context is thin, keep the recap brief and hedge ("here's what I took away") rather than fabricating specifics.

6) Stage the email with Nylas "Create Draft" addressed to the external attendee(s). Do NOT send it. Under no circumstances should this workflow call Send Draft or auto-send. The whole point is that I review before firing.

7) If HubSpot matched, use "Create Note" to log a short summary of the meeting and the drafted next steps to the associated contact (and deal, when there is one) so the CRM has a record even before I send.

8) At the end of the run, if at least one draft was staged, post ONE Slack summary via "Send a Message" to the channel I specify. The message should list each meeting on its own line: attendee name, company, meeting title, deal name and stage if HubSpot matched, and a short label indicating a draft is waiting for review. Skip the Slack post entirely on runs where nothing qualified.

Behavioral guardrails: never send email automatically, never modify existing drafts, never write to any HubSpot object other than notes, and never post to Slack unless at least one draft was created that run. Keep the summary Slack message compact even on busy days (one line per meeting, group by attendee if the same person had two meetings).

When you set this up, please ask me for: the Slack channel to post the summary to, my business hours and time zone, and my own email domain (so we can tell internal from external correctly).

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentWin back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardChat quality review board for LiveChat support leadsA searchable RFP answer library your bid team drafts fromSee which target accounts just started advertising on LinkedInAccount health board that puts product usage next to your CRMLook up a customer's full chat history mid conversationLusha prospecting workbench with credit-safe reveals