HubSpot prospecting desk for personalized first-touch emails

By General Input

Open one screen each morning to see the contacts you own, read the facts behind every draft, and send first-touch emails you actually approved.

Integrations

  • HubSpot
  • Gmail
  • AI Generation

Type

App

Categories

  • Sales

I want an internal app my sales reps open every morning to write personalized first-touch emails, instead of pasting the same template into Gmail over and over. It is a review desk: the AI proposes, the rep decides, and nothing goes out without a human clicking approve.

The main view is a queue of the contacts the signed in rep owns. Load it with HubSpot Search Contacts scoped to that rep: resolve the signed in user to their HubSpot owner record with List Owners looked up by their email address, then filter contacts on that owner id. By default, hide any contact who has been emailed in the last 30 days, using the contact's last contacted or last outreach date property, and give the rep a toggle to show their full book including recently contacted people. Each row shows name, job title, company, lifecycle stage, and how long since they were last touched, with the coldest contacts first.

Selecting a row opens a detail panel that shows the specific facts the draft is built on, so the rep can sanity check what the AI leaned on rather than trusting it blindly. Pull the account record with HubSpot Search Companies using the contact's associated company or email domain, and show industry, company size, and lifecycle stage. Pull recent activity by reading the notes attached to the contact: use Batch Read Associations from the contact to notes, then List Notes to get the note bodies, and show the few most recent. These facts sit next to the draft on the same screen, not hidden behind a tab.

The rep selects one contact or many, picks an angle and a tone from short dropdowns, for example angles like industry pain, recent company news, or mutual connection, and tones like direct, warm, or consultative. Generate Draft then runs AI Generation (Generate Completion) once per selected contact, passing that contact's facts, the company facts, the recent notes, and the chosen angle and tone, and returns a subject line and a short opener. When a batch is running, show per row progress so the rep can start editing the first drafts while the rest finish.

Every draft lands in an editable state. The rep edits the subject line and the body inline in the app, and each draft carries a clear status: drafted, edited, approved, or sent. Approve is a deliberate per draft click. Nothing is queued, scheduled, or sent in the background, and there is no send all button that bypasses review.

When the rep approves and sends, create the message in their own mailbox with Gmail Create a Draft, then send it with Send a Draft. If the rep edits the wording after the Gmail draft already exists, push the change with Update a Draft before sending, so the version that goes out is always the version they last saw.

Every send is logged back to the CRM in the same handler. Use HubSpot Create Note attached to the contact, containing the subject and body that actually went out plus the angle used, so the next person to open that record can see exactly what was said. Use Update Contact to stamp the outreach date on the contact, which is what keeps that person out of the queue for the next 30 days. Use Create Task to book a follow up on the same contact a configurable number of days later, defaulting to three business days, assigned to the same rep.

Each rep only sees and works their own book, so scope every read and write to the signed in rep's owner id. Persist per rep the last angle and tone they chose, their show recently contacted toggle, and any drafts they generated but have not sent yet, so closing the tab does not lose work. Show a small counter of how many they have approved and sent today. If a send or one of the logging steps fails, surface the failure on that row with a retry, and never stamp a contact as emailed unless the send itself actually succeeded.

Related prompts

Explore more prompts
Win back LiveChat visitors whose chats went unansweredTurn Mailjet email clicks into ranked HubSpot follow-upsiMessage campaign console with pre-flight checks and delivery boardA 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 conversationChase the paperwork every new client and vendor still owesLusha prospecting workbench with credit-safe revealsWhich companies your LinkedIn ads reach, matched to your CRM