iPhone Shortcuts → FixLine dashboard
Use this when texts arrive on the phone that receives messages for intake number (832) 964-5840 from 281-826-6296 or 512-931-1604 only. Anyone else who texts that number should get no auto-reply and nothing is saved. This is personal automation only — no Twilio, Telnyx, or 10DLC. It does not turn on FixLine live SMS mode.
Approved auto-reply text
Intake URL
Use this live address, not the pages.dev preview. POST JSON with header X-FixLine-Intake-Secret set to the shared secret (do not put the secret on this page). https://jamcoinvestments.com/api/intake is the same endpoint. If this URL returns an error after deploy, use the dashboard’s manual import box as a fallback.
Intake gate URL (check before reply)
GET or POST with the same X-FixLine-Intake-Secret header. Pass the sender as ?sender=+12818266296 or JSON {"sender":"+12818266296"}. Response {"allowed":true} means you may auto-reply and POST. If allowed is false (paused, rate_limited, or over_cap), do not send the auto-reply and do not POST to intake. Without the secret this returns 401.
Exact Shortcuts steps
- Open Shortcuts → Automation → New Automation → Message. Choose When I receive a message from a specific sender. Add only 281-826-6296 and 512-931-1604 (create a second identical automation if the picker allows only one sender). Do not run this for any other number. Leave “Message Contains” empty so any text from that person counts. Set Run Immediately.
- Check the intake gate first. Add Get Contents of URL →
https://www.jamcoinvestments.com/api/intake-gate?sender=plus the sender’s E.164 number (or POST JSON withsender). Method GET or POST. HeaderX-FixLine-Intake-Secret= the shared secret. Add an If action: only continue when the response contains"allowed":true(or Dictionary valueallowedis true). If not allowed, stop — do not auto-reply and do not POST. - Delete any empty If action for the reply path. Inside the allowed branch, add Send Message. Recipients: Shortcut Input (the person who just texted you). Message: paste the approved auto-reply text above.
- Add “Get Contents of URL”. URL: https://www.jamcoinvestments.com/api/intake. Method: POST. Headers:
Content-Type=application/jsonandX-FixLine-Intake-Secret= the shared secret. Request Body: JSON. - Add these JSON fields:
{ "sender": (Sender Phone Number from Shortcut Input — or type the E.164 number) "body": (Message Content from Shortcut Input) "created": (Current Date, ISO-8601 if available; otherwise omit) "source": "shortcuts" "channel": "sms" }If Shortcuts won’t map fields easily, use a Text action that builds this JSON string, then pass that Text as the request body with Content-Type
application/json. - Tap Done. Send a test text from 281-826-6296 or 512-931-1604 to (832) 964-5840. You should get the auto-reply, and a new intake row should appear on the dashboard within about 20 seconds if the intake API is online. A text from any other number should get no reply and should not appear.
- If the POST fails (API offline / KV not bound): open the dashboard → Manual import, paste JSON like:
{"sender":"+12818266296","body":"Kitchen sink is leaking","source":"shortcuts","channel":"sms"}That import stays in that browser only.