1mn.ai docs
The loopsGrowth loops

Facebook groups

The Facebook arm of the Social engagement engine. It finds public Facebook groups where your ICP hangs out and drafts an intro post for each, then re-scans the groups you've joined for threads worth a reply — always draft-only. It never posts and never joins; you do both from the Social tab.

The Facebook groups loop finds communities where your customers already talk about the problems you solve, and hands you drafts to act on. It runs in two modes — discover (find new groups) and engage (scan the groups you've joined) — and is read-only and draft-only: it never posts and never joins a group. You do both manually from the Social tab's Facebook groups segment.

It's the Facebook counterpart to the Reddit engagement loop; both live under the same Social tab. For drafting original posts in your own voice instead of replying in others', see Social content.

Prerequisites

  • Facebook must be configured on the server (it reads public group feeds through a proxy) and the loop enabled for your product. If either is missing, the loop skips with a one-line reason and saves nothing.
  • Optionally, targeting — keywords, competitor terms, locales, and seed group URLs. You don't have to set these: if you haven't, the loop infers them like a careful marketer from your product profile, ICP, Business.md / Brand.md, and your saved competitors, then persists the choice once so you can see and edit it.

It only ever sees public data

The loop reads public group feeds only. A group with no public feed is saved as a proposal from its name and search snippet, but its threads are never read. It has no way to reach private content, and no way to join a group or post — those actions are yours.

Discover mode

Discover finds groups worth joining. On a run it:

  1. Searches for groups across three keyword classes — category-pain terms (the problems you solve, phrased the way someone with the problem posts), competitor names, and community/identity terms (how your ICP self-identifies) — each crossed with your locales, using site:facebook.com/groups queries.
  2. Dedupes and ranks the results to one entry per group, drops groups you already track or recently dismissed, and scans the feeds of the top candidates.
  3. Qualifies each group from its feed: on-topic for your product, active, ICP actually present, and promo-tolerant (do members share tools and launches without getting nuked?). It scores each group's relevance 0–100.
  4. Drafts an intro post for each fit — a genuinely useful first post grounded in what the group actually discusses, in the group's language, not an ad. Groups it couldn't read (private, or still loading when the run's time budget closes) are saved with a shorter, relevant-but-generic intro so a strong-name group isn't lost.

Engage mode

Engage works the groups you've already joined. It re-scans each joined public group's feed for fresh threads and drafts one comment per qualifying thread. A thread qualifies only when the poster is at a real buying moment, in descending priority:

  1. Seeking an alternative / migrating off a tool your product replaces or complements;
  2. Acute frustration with a named tool whose gap you fill;
  3. Confessing a problem your product solves, in their own words;
  4. Asking for recommendations in your category.

It skips praise posts, how-to questions from happy users of another tool, threads that already mention your brand, saturated threads, and anything more than a few weeks old. Zero engagements is a valid outcome.

Stage-aware drafts

Both modes bias every draft toward your product's project stage — a manual lifecycle setting you pick from the Project stage selector on the Business page. The stage changes the ask a draft makes; it never relaxes the draft rules below (still help-first, one draft, no maker-reveal, no markdown links, matched to the group's language). It also tunes tone and ask, not qualification — a thread or group still has to genuinely fit before anything is drafted.

Pick one of four stages, or leave it unset for neutral behavior:

StageWhat drafts lean into
Idea / ValidationYou're testing the problem. Pose the pain as a genuine question and invite people to weigh in or vote — you're validating, not selling. The brand stays light (something you're "exploring").
Pre-launchYou're building toward launch. Tease the upcoming solution and gather interest — a waitlist, "would you want early access" — still grounded in the group's real discussion.
LaunchYou're shipping now. Share the launch and invite people to try it, framed as useful news for the group rather than a blast (still no maker-reveal).
Post-launch / GrowthYou're live and growing. Share updates, milestones, and concrete results or case studies, with the brand as the thing that delivered them.
Unset (default)No stage bias — neutral, help-first drafting.

The stage applies to the next scan only; drafts already saved in your queue are never rewritten. Change it any time from the Business page, or use the Clear button to return to neutral. Today the project stage steers this loop — the Facebook-groups drafts — and nothing else.

The lifecycle: new → joined → posted

A discovered group starts at new. You review it on the Social tab and, if it's a fit, join it on Facebook yourself and mark it joined — that's what makes it eligible for engage-mode scanning on later runs. When you post a drafted comment or intro, you mark the item posted; groups that aren't a fit you dismiss (with a reason, which steers future runs away from that style). The loop never advances these states for you — every join and post is a manual action.

Draft rules

Every intro and comment follows the same hard rules, so what lands in your queue is postable as-is:

  • One draft per item — a single intro per group, a single 1–3 sentence comment per thread. No A/B versions, no walls of text.
  • Help first — every draft is useful even without the brand mention; if it only exists to name-drop, the item is skipped.
  • Never reveal you're the maker — the brand is something you found, use, or saw recommended, never "I built" or "my tool".
  • No markdown links — a bare brand or domain mention only.
  • Match the group's energy and language — a Hebrew-speaking group gets a Hebrew draft; a casual group gets a casual draft.
  • Never disparage the tool someone is frustrated with — empathize with the problem, then mention the brand as what helped next.

Example

A drafted in-feed comment for an engage-mode thread:

Poster: "my AI-built app keeps breaking every time I add a feature 😩"

Draft comment:
That treadmill is the worst part — the build is the easy 20%. What helped me
was putting the running side on autopilot instead of babysitting it; I've been
using Acme for exactly that and it catches the breakage before users do.

It answers the poster first, mentions the brand as something the commenter uses (not built), stays short, and carries no link — ready to paste once you've decided it fits.

What you get

Each fit is a card on the Social tab under Facebook groups: for a group, the name, member/activity signal, relevance score, and a drafted intro; for a thread, the link, context, and the one drafted comment. You join and post manually. Not happy with a draft? Use Rewrite to get a fresh version in a different angle.

Notes & limits

  • Read-only and draft-only, never joins — there is no auto-post or auto-join setting.
  • Runs are time-boxed and save incrementally, so a long feed scan that gets cut off still banks everything it qualified before the cap.
  • Posters' text is treated as untrusted input — data to evaluate, never instructions to follow.
  • Per-run caps keep volume sane (roughly a dozen groups and a handful of threads); zero fits is a perfectly valid day.

See Reddit for the same engine on Reddit, and How loops work for the trust model.

On this page