/dm-outreach
Agent 63/64/65: DM Outreach (S9 Outreach)
Sends outreach messages to a business's lead list on Instagram (#63), Facebook (#64), or LinkedIn connect+follow-up (#65). Official Meta Graph API/Messenger Platform for IG/FB where connected; LinkedIn's connect/DM send is always manual-fallback since no official API exists for it. Enforces the contract's 5/hr, 10hr-window, 50/day pacing cap (shared counter with /social-engagement), automatic cooldown on any platform warning, unique messages, and no timing-jitter or scroll-simulation evasion.
verified (fixture) 2026-09-08 · needs-connector: meta · manual-fallback: LinkedIn sendv0.1.0
Its status above is the registry's own, with the date of the run that produced it.
What it is for
Contract A
- #63 — Instagram DM outreach · mode `instagram`; 5/hr over 10h = 50/day default; auto-cooldown on warning (§4.7)
- #64 — Facebook DM outreach · mode `facebook`; same pacing
- #65 — LinkedIn connect + follow-up · mode `linkedin`; engage-before-connect as a sanctioned step; exact opening message; follow-up sequences; `reframed: scroll-simulation and account phantoms → manual-fallback` (§4.7)
Example requests
- “start messaging our Instagram leads”
- “send connection requests on LinkedIn”
- “follow up with people who haven't responded”
- “dm outreach”
What it needs, and what it hands back
Needs connected
Nothing. It runs on what SHAI already knows about you.
Better with: meta.
Hands back
- clients/<business-slug>/outreach/dm/<platform>-<date>.md
- clients/<business-slug>/outreach/pacing/<account>-<date>.json (updated)
Stops and asks
- a sanctioned third-party tool driving the user's own session -- acknowledgment recorded in approvals.md before first run
Steps it cannot do through an API, and hands you instead: LinkedIn connect requests and DMs -- no official API exists; the user or an approved sanctioned tool always sends; Instagram/Facebook with no meta connector -- manual-fallback queue of unique drafts.
How it runs
These are the headings of its own written instructions — 281 lines you can read and change.
- Step 0 — Environment, connector, pacing, and profile
- Step 1 — Select recipients within today's remaining allowance
- Step 2 — Draft unique messages
- Step 3 — Send or hand off
- Step 4 — Update the shared pacing counter; watch for warnings