Simulate an inbound message
Fakes a message arriving. Useful before WhatsApp is connected — also fires your Triggers.
Contacts
Campaigns
Send a campaign
Sends an approved template to everyone with a tag. Blocked and PDPA-unclear contacts are skipped automatically. Always dry-run first.
History
Templates
New template
Templates are the only messages you can send outside a contact's 24-hour window. Meta must approve them first.
Quick replies
New quick reply
Type / in the message box to pick one. {firstName} fills in automatically.
Triggers
New trigger
Runs automatically when a message arrives. Only the first matching trigger fires, so nobody gets two replies.
Follow-ups
A reply cancels that contact's follow-up automatically. Quiet hours hold sends until morning. Schedule one from the ⏰ button in a chat.
AI & FAQ
AI replies
How the AI writes as you
FAQ answers
The AI uses these when drafting, so answers stay accurate.
Flagged & PDPA
Blocked numbers
Blocked contacts receive nothing — no manual messages, campaigns, triggers or follow-ups.
DNC Registry
Marketing messages to Singapore numbers are covered by the DNC rules. Check numbers at dnc.gov.sg, then record the result here. Results stay valid 21 days.
Consent
Written consent exempts a number from DNC checking. Keep the evidence yourself — this only records that it exists.
Setup
Status
Connections
API keys are stored securely on the server, not in this app. Set them once with the InsForge CLI, then test here.
npx @insforge/cli secrets add ANTHROPIC_API_KEY sk-ant-… npx @insforge/cli secrets add META_ACCESS_TOKEN … npx @insforge/cli secrets add META_PHONE_NUMBER_ID …
Quiet hours
Automated follow-ups are held outside these hours so nobody gets messaged overnight.