{"slug":"cold-sms-engine-architecture","title":"N8N Cold SMS Engine: Slot-Based Sending with Quota Management","tags":["n8n","sms","cold-outreach","signal-house","automation"],"agent_summary":"Architecture of an N8N-based cold SMS engine that fires daily, manages lead inventory by slot, handles quota limits, logging, CTA failures, and loops for remaining capacity — all backed by Supabase.","trigger_phrases":["cold sms engine n8n","sms sending workflow architecture","slot based sms sending","n8n sms automation with quota","signal house n8n integration","bulk sms sending system"],"runnable":false,"markdown":"## N8N Cold SMS Engine Architecture\n\n### Overview\nFour interconnected N8N workflows that manage cold SMS outreach at scale through Signal House, backed by Supabase.\n\n### Flow\n1. **Fires at 9:00 AM** — Daily scheduled trigger\n2. **Get leads** — Pulls leads that need to be sent messages today\n3. **Determine slot** — Checks if proper lead count is available for the sending slot\n4. **Check inventory** — Routes leads by slot allocation\n5. **Pick leads** — Select specific leads for this batch\n6. **Send message** — Execute SMS send via Signal House\n7. **Log it** — Record send status, timestamp, message content in Supabase\n8. **CTA failure handling** — Handle failed sends with callback logic\n9. **Quota check** — If more room in quota AND more leads available → loop back and send more\n10. **Complete** — End when quota exhausted or all leads sent\n\n### Key Design Points\n- All connected to Supabase backend for state management\n- Supports pause/resume (can pause SMS sending at will without breaking the system)\n- Handles ~1,000 new leads/day\n- Uses Signal House for sending (cheaper for high volume outbound: ~7 cents/SMS)\n- Reply classification handled by separate N8N workflow that routes to Mattermost (Slack alternative)\n\n### Pause Capability\n- Need ability to pause SMS sending when sales team is unavailable\n- Pausing should not break any workflows or lose leads in queue\n- Leads should be held and sent in next available window\n\n### Why Not GHL Native for Agency Outbound\n- GHL has messaging limits on native numbers\n- Limits get hit daily for high-volume cold outreach\n- Signal House bypasses these limits\n- GHL native is fine for client sub-accounts (local service businesses with lower volume)\n","html":"<h2>N8N Cold SMS Engine Architecture</h2>\n<h3>Overview</h3>\n<p>Four interconnected N8N workflows that manage cold SMS outreach at scale through Signal House, backed by Supabase.</p>\n<h3>Flow</h3>\n<ol>\n<li><strong>Fires at 9:00 AM</strong> — Daily scheduled trigger</li>\n<li><strong>Get leads</strong> — Pulls leads that need to be sent messages today</li>\n<li><strong>Determine slot</strong> — Checks if proper lead count is available for the sending slot</li>\n<li><strong>Check inventory</strong> — Routes leads by slot allocation</li>\n<li><strong>Pick leads</strong> — Select specific leads for this batch</li>\n<li><strong>Send message</strong> — Execute SMS send via Signal House</li>\n<li><strong>Log it</strong> — Record send status, timestamp, message content in Supabase</li>\n<li><strong>CTA failure handling</strong> — Handle failed sends with callback logic</li>\n<li><strong>Quota check</strong> — If more room in quota AND more leads available → loop back and send more</li>\n<li><strong>Complete</strong> — End when quota exhausted or all leads sent</li>\n</ol>\n<h3>Key Design Points</h3>\n<ul>\n<li>All connected to Supabase backend for state management</li>\n<li>Supports pause/resume (can pause SMS sending at will without breaking the system)</li>\n<li>Handles ~1,000 new leads/day</li>\n<li>Uses Signal House for sending (cheaper for high volume outbound: ~7 cents/SMS)</li>\n<li>Reply classification handled by separate N8N workflow that routes to Mattermost (Slack alternative)</li>\n</ul>\n<h3>Pause Capability</h3>\n<ul>\n<li>Need ability to pause SMS sending when sales team is unavailable</li>\n<li>Pausing should not break any workflows or lose leads in queue</li>\n<li>Leads should be held and sent in next available window</li>\n</ul>\n<h3>Why Not GHL Native for Agency Outbound</h3>\n<ul>\n<li>GHL has messaging limits on native numbers</li>\n<li>Limits get hit daily for high-volume cold outreach</li>\n<li>Signal House bypasses these limits</li>\n<li>GHL native is fine for client sub-accounts (local service businesses with lower volume)</li>\n</ul>\n"}