LevSMS Router Go-Live
Current Snapshot
- Reported unblocked: Sam says Twilio is connected / LevSMS is OK to work.
- Not email-verified: connected Gmail did not show a clean A2P approval email.
- Public compliance surface:
https://levsms.com/,/privacy.html,/terms.html. - Support:
support@levsms.com. - Number:
(516) 585-2323. - Missing live piece: Twilio inbound webhook is not yet connected to a command router in this workspace.
What I Built Locally
levsms-router-apps-script/Code.js- Apps Script TwiML router.levsms-router-apps-script/DEPLOY_CHECKLIST.md- exact go-live steps.levsms-router-apps-script/TWILIO_CONSOLE_CAPTURE.md- fields to capture from Twilio.levsms-router-apps-script/sheet-template/- CSV seed tabs for the backend Sheet.
The router replies directly with a TwiML body, so first inbound replies do not need a Twilio auth token.
Go-Live Sequence
- Open Twilio and capture Brand, Campaign, Messaging Service, linked sender, and current webhook fields.
- Create Google Sheet:
LevSMS Backend - MVP Router. - Create tabs:
INBOUND_LOG,OUTBOUND_LOG,CONTACTS,COMMANDS,APPROVED_RESPONSES,SETTINGS. - Paste the matching CSV from
levsms-router-apps-script/sheet-template/into each tab, or letsetupLevSmsSheet()seed it. - Open Extensions > Apps Script, paste
Code.js, save, runsetupLevSmsSheet(), authorize. - Deploy as Web App: execute as
Me, accessAnyone. - In Twilio Messaging Service, set inbound webhook to the Web App URL using
HTTP POST. - Test from Sam's phone:
MENU,HELP,MINYAN,ZMANIM,STOP,START,ABCXYZ.
First Test Expectations
| Text | Expected response |
|---|---|
MENU | List of commands. |
HELP | Support, rates, STOP instructions. |
MINYAN | Placeholder or approved minyan response from APPROVED_RESPONSES. |
STOP | Unsubscribe confirmation and CONTACTS status update. |
START | Welcome/rejoin confirmation. |
ABCXYZ | Unknown command response. |
Rules That Protect This
No AI in live public SMS path Only Approved rows go live No Twilio tokens in git STOP always honored HELP always works Logs every inbound/outboundConnector note
I tried to create/upload the Google Sheet directly through the Drive connector. Google returned 403 Forbidden. Reconnect Drive with create/upload permissions before asking Codex to make the Sheet natively.
Apps Script's current ContentService MIME enum includes TEXT but not XML, so this MVP serves the valid TwiML body as text. If Twilio demands strict text/xml, move the same router logic to Cloudflare Workers or Netlify Functions.
Operator Command For Next Agent
Continue LevSMS from levsms-router-apps-script/DEPLOY_CHECKLIST.md. Twilio is reportedly connected. Capture exact Twilio console status, create the LevSMS Backend Sheet, deploy Code.js as Apps Script Web App, set Twilio Messaging Service inbound webhook to POST to the Web App URL, then test MENU/HELP/STOP/START/MINYAN/ZMANIM.