- POST /drafts/{id}/send now uses Ultramsg first (existing outreach_engine),
falls back to WhatsApp Business API if Ultramsg fails
- POST /drafts/send-approved-batch — bulk send up to N approved drafts
via any channel (whatsapp/email/sms/linkedin-manual)
- WhatsApp sends use existing _send_via_ultramsg() with rate limiting
- Email uses existing SMTP integration
- SMS uses existing Unifonic integration
- LinkedIn returns manual_required (copy from dashboard)
The draft queue is now a fully functional outreach automation system:
daily-pipeline/run → drafts → approve → send-approved-batch → real messages
https://claude.ai/code/session_01W1rJthWDkasijTdXCfxVHs