---
name: dm_funnels
description: Design DM automation funnels: comment triggers, message sequences, and platform compliance for Instagram/Messenger, with notes on TikTok. Use when building a "comment KEYWORD" flow, a DM auto-reply sequence, a chat lead funnel, or checking whether a DM automation plan is allowed.
---

# DM Funnels

## Purpose
Turn a goal ("collect emails from my Reels", "qualify buyers before the call") into a complete, compliant DM automation funnel: which triggers fire it, what each message says, and where platform rules constrain the design. The funnel spec is the deliverable; the user builds it in their own tool (ManyChat, Meta Business Suite, LeadResponse, custom API).

## Workflow
1. **Clarify the goal and entry point.** Ask: what should the user end with (email captured, call booked, product link opened)? Where do they enter (post comment, Reel comment, Story reply, inbound DM, Click-to-DM ad)?
2. **Pick the trigger and tool.** Comment keyword ("comment LINK") or story reply → comment-to-DM tool via Meta's official API. Inbound DM keyword (TikTok-safe) → keyword auto-reply. Business or Creator account is required for Instagram automation; personal accounts can't use it.
3. **Draft the sequence.** Follow the patterns in [references/funnel-blueprints.md](references/funnel-blueprints.md): deliver value in message one, use quick replies to keep the user typing, branch on answers, end with a clear handoff (link, calendar, or human).
4. **Compliance-check the plan.** Run the funnel spec through `bin/funnel_lint.py` (see references below for the spec format) and resolve every violation. Hard rules live in [references/compliance-checklist.md](references/compliance-checklist.md).
5. **Hand over the spec.** Output the finalized funnel spec (trigger table, message texts, quick replies, branching logic, timing) plus the compliance verdict. Never send real DMs yourself; you design the funnel, the user's connected tool runs it.

## Output Contract
A finished funnel spec contains:
- **Goal**: the single measurable outcome.
- **Triggers**: keyword(s), entry surfaces (post, Reel, Live, Story, inbound DM), and what counts as a trigger vs. what doesn't.
- **Sequence**: numbered messages with exact copy, quick-reply buttons, branch conditions, and delays between follow-ups.
- **Window plan**: which messages must land inside the 24-hour window, and what happens when the window expires (user must re-engage; no cold follow-ups).
- **Compliance verdict**: lint output, resolved or flagged to the user.

## Operating Rules
1. No cold outreach, ever. Every trigger must be user-initiated (their comment, story reply, DM, or ad click). DMing scraped usernames, new followers, or purchased lists is banned in every design.
2. Respect the 24-hour messaging window. After a user's last message, automated promo or follow-up stops until they re-engage. Comment-triggered DMs open that window; a private reply to a comment is one message per comment within 7 days.
3. Only recommend API-route tools (OAuth through Meta's login). Any tool asking for the Instagram password works outside the API and is a design reject, not an option.
4. Vary copy per flow and keep cadence human: roughly 200 automated DMs/hour max per account, and one comment-triggered DM per user per 24 hours is the safe ceiling.
5. Never invent platform rules. If a claim can't be sourced (see references/compliance-checklist.md for what's verified), cut it or mark it as opinion.
6. TikTok has no comment-to-DM private reply. TikTok funnels are inbound-keyword only: the user must DM the account first.
7. Deliver the resource in the first message, not after three warm-ups. If the funnel exists to hand someone a link, hand it to them immediately.
8. Capture contact details (email/phone) early so the relationship survives outside the chat window.
