Founders & Business Development

At a glance

PersonaSeed-stage founder doing investor intros, partner pitches, customer follow-ups
GoalStop losing follow-ups across hundreds of contacts
PrerequisitesEmail + LinkedIn / messaging connectors authorized; Memory carries prior conversations
OutcomeDrafts grounded in the relationship history, approval still yours before anything sends

A founder doing BD at a seed-stage company spends half the day in conversations — investor intros, partner pitches, customer follow-ups, advisor catch-ups. The other half of the day is supposed to be product, hiring, and runway. But by 6 PM, all that's remembered is that Sarah is owed a reply, the partner from Helsinki never got the deck, and the advisor should have been looped in three days ago.

The shortfall isn't discipline. It's the cognitive load of holding 500 relationships in mind at the same time.

The user doesn't want another chatbot that waits to be asked. They want an AI assistant that actually fits the founder's day: it watches the inbound continuously, organizes the context, and only finds them when there's a decision that genuinely needs to be made.


Problem 1: The same thread gets re-read before every reply

When an investor they haven't talked to in three months writes back, the exchange used to go like this:

  • Scroll back through the last 6 emails to remember what was discussed
  • Check notes for "what was the term sheet condition that was agreed to"
  • Re-read the reply twice because contradicting something said in March is unacceptable
  • Then write the reply

If three of these stack up in a day, the half-hour tax on each one adds up. If seven stack up, threads start getting dropped — not on purpose, but because the context-loading cost exceeds the embarrassment of missing the reply.

This is exactly what AI should be doing. The actual hard part of replying to a past contact isn't the writing — it's gathering the scattered context and reorganizing it into something that can be answered from.

So Gmail and Slack are connected in OpenLoomi:

use openloomi-connectors to connect Gmail
use openloomi-connectors to connect Slack

Verification runs via list-accounts — once both show active, Loop picks them up on the next tick.

Every 10 minutes, Loop polls both inboxes. When an inbound from a contact on the important list arrives with an action word — "intro", "follow-up", "circle back", "RSVP" — past the default 4-hour reply window, Loop surfaces an email_reply or im_reply decision card. The card carries:

  • The email reply — pre-written by the agent, grounded in what Sarah and the user discussed last quarter
  • The reasoning trace"Sarah is the investor who passed on Q1; she's circling back with new terms"
  • The confidence score (default range 0.60–0.85)
  • The four-gesture flow: Approve / Edit Draft / Later / Skip

For Sarah's email about the Q3 deck, the card already carried the draft referencing what was said in March. The user glanced at the memory trace, tapped Approve, and moved on. Total time: 10 seconds.


Problem 2: Cold outreach never sounds like the founder

For warm replies the founder had Loop. For cold outreach — first touch, follow-ups, re-engagements with contacts who went quiet three months ago — there was no incoming signal yet for Loop to surface.

The old approach was even worse. A doc of "templates" collected from other founders would be opened, one copied, the blanks filled in, and sent. The result always read like a template because it was a template. Replies came back at maybe 5%, and most of those were polite declines.

First-touch drafts are now started in Chat with the agent. The agent reads past messages and the relevant contact notes from ~/.openloomi/data/memory/people/, so the draft sounds like the way the user actually writes, not like a Mad Libs form. The cold-email skill is the public packaging for this workflow; the revops skill helps track lifecycle stages.

Try:

  • "Draft a follow-up to Sarah Chen based on our last conversation in March about Q3 terms."
  • "Write a 5-touch follow-up sequence for the Acme intro — each touch should add new value, not just 'checking in.'"
  • "Pull everything we know about Marcus from memory and draft a re-engagement email that references his move to Singapore."

The agent reads the right slice of memory before writing, drafts in the founder's voice, and waits for refinement and send. For a 5-touch sequence that used to take 90 minutes of blank-page staring, it's now 20 minutes of editing.


Problem 3: Quiet contacts are found too late

The other category that fell through the cracks was re-engagement. A lead that went warm in January, an advisor who hasn't been looped in since Q1, a customer that was promised a circle back "after the launch" — all the relationships that should keep being touched but don't generate any signal in the inbox.

Loop handles this through contact_update cards. When a public signal lands — a promotion in the bio, a new role in the link-in-bio, a podcast appearance — Loop surfaces a card with the proposed update to people/<name>.md in memory. Approve is tapped and the contact profile gets refreshed; next time they email, the email_reply card carries the new context.

There's also a digest card Loop surfaces weekly with the contacts that have been quiet for over 30 days. The user opens it, the agent drafts a one-line re-engagement in their voice for each, and the founder sends the ones they want to keep warm. No more "I forgot to reach out for half a year."


What this workflow really solves isn't a few automation tasks

At first the goal was just to save the half-hour per reply being spent re-reading threads. But after a few weeks, the realization hit: the real problem isn't a few missing automation scripts — it's that relationship work is fundamentally an information organization problem:

  • Context lives in Gmail, Slack, Telegram, LinkedIn, Notion, and the founder's head
  • The same person appears in five of those tools with five slightly different stories
  • Follow-up signals are buried under 200 other messages
  • Time-zone gaps and async work mean half of "yesterday" actually happened overnight

In the past, all this information had to be found and pieced together by actively searching. The change OpenLoomi brings is inverting that relationship: instead of constantly searching for context, AI keeps watching the conversations and comes back with the full memory slice at the right moment.

  • If an important contact writes back, the email_reply card lands with the draft and the memory trace ready.
  • If a DM needs a reply, the im_reply card carries the channel context and a grounded draft.
  • If a contact has been quiet, the weekly digest card surfaces them with a re-engagement draft waiting.
  • If a public signal changes someone's context, the contact_update card proposes the memory refresh.

All that's needed is to focus on the parts that genuinely need judgement — the actual message content, the terms, the personal relationship.


From "email triage" to a continuously running founder loop

To make this work, two kinds of working patterns are configured in OpenLoomi.

One is event-driven:

TriggerWhat happens
Inbound email from important contact + action word + past reply windowemail_reply card surfaces with the draft grounded in memory; four-gesture flow
Inbound DM (Slack / Telegram / Lark / iMessage) needing replyim_reply card with the channel context and the draft
Public signal on a contact (promotion, new role, etc.)contact_update card proposes the memory refresh

The other is scheduled:

TaskSchedulePurpose
Brief (Today's To-Do)Every day at 9 AMPulls today's calendar + open decision cards + quiet contacts
Wrap (Today's Done)Every day at 6 PMLists the outreach Loop handled for you today
Weekly Contact DigestMondays at 9 AMSurfaces contacts quiet for > 30 days with re-engagement drafts

Together they form a loop that runs continuously:

Continuously watch → Organize contact context → Propose draft or update → Human decides → Send and remember

Compared to configuring an isolated CRM workflow, the preference is to have OpenLoomi keep understanding "who's in the network right now and which of them needs a touch today."

💡 Cold outreach isn't in this table because it isn't a scheduled task and there's no incoming signal yet — it lives in Chat. The main OpenLoomi window is opened, the agent is asked to draft, then it's refined and sent via the matching connector.


What changed

AspectBeforeAfter
Reply review time10–15 min per thread re-reading contextTap a bubble, read the memory trace, approve the grounded draft
Follow-up cadenceDrop after one touch, feel guilty lateremail_reply card for each inbound from important contacts — never silent
Cross-channel contextEmail and IM treated as separate worldsOne memory, one queue — Sarah's Slack DM has the same memory slice as her email
Cold outreach qualityGeneric templates, ~5% reply rateDrafted in chat with the agent, grounded in past phrasing and contact notes
Network maintenanceManually track 50 contacts in a spreadsheetMemory layer auto-promotes frequent contacts; weekly digest surfaces who's been quiet

What OpenLoomi saves isn't just the half-hour per reply. More importantly, there's no need to keep switching between Gmail and Slack, re-reading threads, and worrying about which contact was dropped.


How to set this up

The whole configuration isn't complicated. Gmail, Slack, and the messaging apps actually used are connected in OpenLoomi Desktop, the Claude plugin, or the Codex plugin:

use openloomi-connectors to connect Gmail
use openloomi-connectors to connect Slack
use openloomi-connectors to connect Telegram

Gmail and Slack live in Composio's app catalog; the seven native Loomi connectors (Telegram / WhatsApp / iMessage / Feishu / DingTalk / QQ / WeChat) don't need Composio at all. Native and Composio-managed accounts can be mixed freely.

Once connected, verification runs with list-accounts. When Gmail, Slack, and Telegram all show active, OpenLoomi picks them up on the next tick and starts the matching flows:

  • Every 10 min, Loop polls each inbox and surfaces typed cards as signals clear the gates
  • The Brief at 9 AM rolls up today's needs; the Wrap at 6 PM recaps what Loop handled
  • Weekly digest surfaces the contacts quiet for too long, with re-engagement drafts ready

For cold outreach (no incoming signal), Chat is opened and the agent is asked to draft. For per-source trust settings and brief/wrap times, tuning happens in Settings → Loop. Loomi's bubble cadence is tunable in Settings → Attention Agent.

OpenLoomi's audit log records every execution — how many times Loop has polled, which cards surfaced, which Approves were tapped, which drafts were edited. This way repetitive triage can be handed off to AI while every action it took remains visible.


  • Loop — the relationship-aware judgement engine
  • Memory — the contact history drafts are grounded in
  • Connectors — wiring email, LinkedIn, messaging apps
  • Chat — where you refine a draft before approving
  • Privacy & Security — where the BD data lives