# Re-engage accounts that have gone quiet

You have read/write access to your CRM and email. Run this against
your paying accounts.

## 0. Set up (skip if you're already connected)

If you don't already have live tool access for this, connect it first
— this prompt is only as real as the tools behind it:

1. Get a Tulina account: book a demo at https://tulina.ai/book.
2. Add Tulina's MCP server to your assistant: https://mcp.tulina.ai/mcp
3. In Tulina, connect your own API keys for the tools this prompt
   uses — your CRM and email.

Once connected, your assistant has real tool access and the rest of
this prompt runs as written.

## 0b. Already on Tulina? Three things around the run

An account and the MCP server are not the whole setup. Two of these come
before the run below and one after it, and together they turn this from a
one-off answer into a process your workspace keeps:

1. **Activate this process's connectors first.** Call
   `oto_connector(op="list")`, match it against the tools named in step 3
   above, and `oto_connector(op="select", name="...")` every one that
   isn't active yet. Selecting a connector does not mount its tools in the
   conversation you're already in — reach them through `oto_call` for this
   run, or open a fresh conversation once they're all on.
2. **Attach the work to an existing project.** `oto_project(op="list")`
   shows your active org's projects: pick the one this work belongs to
   rather than opening another, and keep its id. The project is where this
   process, the tables it writes to and the connectors it uses hang
   together.
3. **When the run is done, save it as a process — with its graph.** Write
   the body with `oto_procedure(op="set", ...)`, then attach it with
   `oto_project(op="link", project_id=..., target_type="procedure",
   target_ref="<your slug>")`. The body has to carry a drawing: read
   `oto_guide(op="read", slug="procedure-flowchart")` and follow it
   exactly — ONE untagged fenced block in that grammar, opening with the
   trigger and a quoted example of what you'd type to start a run. Tulina
   parses that drawing back into the graph it renders as the process's
   default view, which is what makes it come out in the same style as
   every other process in the app; a drawing the grammar can't read falls
   back to raw characters instead. Saving a process needs org-admin
   rights — without them, hand the finished body to someone who has them.

## 1. List the quiet paying accounts

- Filter your paying accounts to the ones that fit: above your own
  revenue floor, not already churned, and quiet for longer than your
  own threshold (e.g. no logged interaction in 3+ months).
- Combine all three filters in one query rather than fetching
  everything and filtering client-side — this is a list you'll re-run
  regularly, so keep it cheap.

## 2. Name one contact per account

- Prefer the account's stated main point of contact where one is set.
- Otherwise, pull the people linked to the account and pick the most
  senior one with an email on file — founder or leadership preferred,
  and prefer someone the account has actually interacted with before
  over a name that's merely listed.
- Skip contacts from clearly unrelated categories (e.g. a recruiting
  or sourcing list that happens to share the account), and skip anyone
  with no email at all rather than guessing one.

## 3. Find one real detail before drafting anything

- Before writing a single word, pull what the CRM already knows about
  this account: past notes, its own description and status fields,
  anything indicating what they were working on or blocked by.
- Search by both the company name and the contact's name, and try a
  few topical terms relevant to your product (onboarding, a specific
  feature, a renewal date) — read the most recent notes first.
- Pull out exactly one concrete, specific detail per account worth
  referencing — something they actually said or did, not a generic
  compliment. **If the notes are empty or too generic to yield a real
  detail, fall back to a plain template rather than inventing one.**
  A fabricated detail is worse than a generic email.

## 4. Draft a short, specific note

- Short, warm, and specific. Reference how long it's actually been
  since the last interaction and weave in the one real detail from
  step 3 so it reads as "we noticed," not "we're checking a box."
- A two-word subject line reads as a real note, not a campaign.
- Offer a short call and ask for a couple of concrete times — a
  specific ask converts better than an open-ended "let's catch up."

## 5. Review the list, then send each approved note

- Deliver the full list — contact, email, and the drafted note — for
  a human look before anything goes out. This is outbound to paying
  customers; it earns a review pass.
- Send with whoever on the team should have visibility CC'd, so a
  reply doesn't land in one inbox nobody else can see.

## 6. Log each account, stamp the date

- Write one row per account: the segment fields that qualified them,
  the contact used, the detail referenced, and the outcome.
- Stamp today's actual date on every account you emailed — fetched at
  run time, not hardcoded — so the next run knows who's already been
  touched and nobody gets contacted twice. Leave the date blank for
  anyone held back from sending.

## Output

Report: how many accounts matched the segment, how many were emailed,
how many were held back and why, and how many drafts used a real
context detail vs. the plain fallback.
