FIELD

OPS / AUTOMATION / TOOLS

STATUS

AVAILABLE · REMOTE

CSEXECUTION TRACE

Ascend Outreach

Signal-triggered re-engagement drafting: external signals decide when to write, AI drafts in the founder's voice from real call context, and a human sends every email.

CONTEXT

Travel concierge firm · internal

ROLE

Solo build

STACK

Python, Claude, HubSpot, Clay, Superhuman

YEAR

2026

01 — The problem

Re-engaging warm, high-value prospects worked like this: after a touchpoint, the founder emailed a reminder to himself. A few times a month the reminders piled up, and he sat down for an hour or two of handwritten follow-ups. The quality was high — but the timing was set by when the batch got processed, not by when an email would actually land well. And chasing cold-gone contacts with revenue at stake carries a cognitive weight out of all proportion to the typing time.

02 — Constraints

  • Nothing sends automatically — ever. The system produces drafts; a person reads, edits, and sends each one. That line is architectural, not aspirational.
  • The voice has to be the founder's, grounded in what was actually said — real call transcripts and relationship notes, not generic sales prose.
  • Relationships need protecting from the system itself: cadence gates cap contact frequency, so an eager signal can't turn into pestering.
  • Two prospect types need genuinely different letters: partner organizations get community-value framing, enterprise contacts get personal history tied to a current signal.
  • Quality over volume by design — a good week might produce one email.
FIG · PIPELINE — SIGNALS IN, GATED, DRAFTED, SENT BY A HUMAN · CLICK TO ENLARGE

03 — The approach

Every Monday, a scheduled run walks the prospect list with HubSpot as the single source of truth. A gate layer checks each prospect for external signals — funding rounds, executive-assistant job changes, M&A, conference activity, detected via Clay — and applies the cadence rules before anything else happens.

Only for prospects that clear the gates does the drafting layer run: Claude drafts the email grounded in that prospect's call transcripts (via Fireflies), relationship notes, and the specific signal that fired, using the partner or enterprise framing as appropriate. The draft lands in Superhuman scheduled for the recipient's best send window — where it waits for a human. Gate decisions and draft metadata write back to HubSpot, so the system's memory lives in the CRM the team already uses.

The whole thing runs as an Ascend Flow instance, so every Monday run is inspectable step by step.

04 — The outcome

Follow-ups now arrive as a small Monday batch of researched, signal-timed drafts that take minutes to review instead of hours to write — and they go out when the signal says the moment is right, not when the reminder pile gets processed. Because the prospect list and rules live in the CRM, extending the system to the rest of the team's rolodexes is configuration, not a rebuild.

05 — What I'd do differently

Run the adversarial audit per phase instead of saving it for the end — the post-build audit pass caught issues that earlier spot-checks had missed, and each was cheaper to fix the closer it was caught to the phase that introduced it.

← BACK TO HOME