πŸ’» Developer Hub: End-to-Endβ„’ Hardware Webhooks & Cloud Relay Telephony API View 3-Min Quickstart →
⚑ Developer & Automation Hub

Direct Hardware Carrier Gateway & Webhook API

Connect n8n, Make.com, Zapier, or custom webhooks directly to physical Android SIM cards. Enjoy 100% exemption from A2P 10DLC registration fees with automated two-way delivery receipts and enterprise-grade carrier rate pacing.

100%
A2P 10DLC Exempt (Direct SIM)
3.5s
SIM Burn Safeguardβ„’ Pacing
< 850ms
Cloud Relay Dispatch Latency
⚑ Developer API Index & Quick Jump
πŸ—οΈ 1. Architecture ☁️ 2. Cloud Relay API πŸ”Œ 3. Local Appliance (:8080) ⚑ 4. Inbound Webhooks πŸ›‘οΈ 5. Carrier Pacing & Errors πŸ’¬ 6. Conversational AI SMS πŸŽ™οΈ 7. GridAI Voice Engine 🏒 8. Agency Fleet API πŸ‘€ 9. Client Portal Config

πŸ—οΈ 1. Architecture: Cloud Relay vs Direct Appliance

Choose between centralized cloud-routed dispatch or completely isolated local LAN execution.

Option C: Central Cloud Relay (Recommended)

Engineered for n8n Cloud, Make.com, or any cloud CRM without static IPs. Your automation posts to our central serverless endpoint using your Pro License Key; high-priority Google Firebase Cloud Messaging (FCM) instantly wakes the Android device and executes the native carrier SMS.

βœ“ Zero Port Forwarding β€’ βœ“ Works on LTE/5G & Roaming β€’ βœ“ End-to-End HMAC Protected

Option A: Direct Appliance Gateway

For self-hosted homelabs, local CRM servers, or secure private networks using Tailscale / WireGuard. The Android app spins up an embedded HTTP server listening on port 8080 for zero-latency local dispatch with delivery receipt callbacks.

βœ“ 100% On-Premise β€’ βœ“ No Third-Party Servers β€’ βœ“ Sub-100ms Execution

☁️ 2. Central Cloud Relay API Reference

Dispatch SMS messages from any cloud automation system anywhere in the world.
POST https://missedcallautosms.com/api/dispatch-sms

Pass your Pro License Key in the X-License-Key header or Authorization header. Destination numbers should be formatted in standard E.164 format (e.g. +15551234567).

πŸ”‘ License Key Entitlements:
  • Pro Gateway ($299 Perpetual): Unmetered, permanent Cloud Relay API access with zero ongoing fees.
  • Front Desk Bundle ($99/mo): Cloud Relay API access included during active monthly subscription term.
  • Master Agency ($399+): Central fleet API routing across all generated client keys.
curl -X POST https://missedcallautosms.com/api/dispatch-sms \
  -H "Content-Type: application/json" \
  -H "X-License-Key: MCAS-PRO-DEMO-89F2" \
  -d '{
    "to": "+15551234567",
    "message": "Hi John! Thanks for booking your estimate with Apex Plumbing. See you Thursday at 2 PM!",
    "sim_slot": 1,
    "callback_url": "https://your-domain.com/webhook/sms-callback"
  }'
const response = await fetch('https://missedcallautosms.com/api/dispatch-sms', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-License-Key': 'MCAS-PRO-DEMO-89F2'
  },
  body: JSON.stringify({
    to: '+15551234567',
    message: 'Hi John! Your appointment confirmation has been received.',
    sim_slot: 1,
    callback_url: 'https://your-crm.com/webhooks/sms-delivery'
  })
});

const data = await response.json();
console.log('Dispatch status:', data);
import requests

url = "https://missedcallautosms.com/api/dispatch-sms"
headers = {
    "Content-Type": "application/json",
    "X-License-Key": "MCAS-PRO-DEMO-89F2"
}
payload = {
    "to": "+15551234567",
    "message": "Hi John! Your invoice #1042 is ready for review.",
    "sim_slot": 1,
    "callback_url": "https://your-crm.com/webhooks/sms-delivery"
}

res = requests.post(url, json=payload, headers=headers)
print(res.status_code, res.json())
// In an n8n HTTP Request node:
Method: POST
URL: https://missedcallautosms.com/api/dispatch-sms
Authentication: None (Use Header)
Headers:
  - Name: X-License-Key
    Value: MCAS-PRO-DEMO-89F2
  - Name: Content-Type
    Value: application/json
Body Parameters:
  {
    "to": "={{ $json.customer_phone }}",
    "message": "={{ $json.sms_body }}",
    "sim_slot": 1
  }
// In Make.com (Integromat) HTTP Module:
Action: Make a request
URL: https://missedcallautosms.com/api/dispatch-sms
Method: POST
Headers:
  - Key: X-License-Key, Value: MCAS-PRO-DEMO-89F2
  - Key: Content-Type, Value: application/json
Body type: Raw
Content type: JSON (application/json)
Request content:
{
  "to": "{{1.phone_number}}",
  "message": "Hi {{1.first_name}}, thanks for contacting us!",
  "sim_slot": 1
}

Payload Parameters

Field Type Required Description
to or phone string Yes Target recipient phone number in standard E.164 format.
message string Yes Text message content. Automatically segmented if exceeding 160 chars.
sim_slot integer No 1 for SIM 1, 2 for SIM 2 (eSIM). Default is 1.
callback_url string No Webhook URL to receive instantaneous carrier delivery confirmation.

πŸ“± 3. Direct Local Appliance Gateway API

Zero cloud dependencies. Communicate directly with your Android phone over LAN or Tailscale.
POST http://<PHONE-IP>:8080/api/send-sms
curl -X POST http://192.168.1.150:8080/api/send-sms \
  -H "Content-Type: application/json" \
  -d '{
    "secret": "YOUR_16_CHAR_SECRET",
    "phone": "+15551234567",
    "message": "Direct on-premise carrier dispatch.",
    "sim_slot": 1,
    "callback_url": "https://your-homelab.internal/webhook/delivery"
  }'

Two-Way Delivery Callback Payload

When the carrier network acknowledges dispatch, your Android appliance fires an HTTP POST payload back to your specified callback_url:

{
  "status": "SENT",
  "phone": "+15551234567",
  "sim_slot": 1,
  "message": "Hi John! Thanks for reaching out...",
  "timestamp": 1789658400000,
  "carrier_dispatched": true
}

⚑ 4. Outbound Missed Call Forwarding (n8n, Make & Custom Webhooks)

Notify your n8n workflows instantly whenever a call is missed, with zero double-texting.

Want your n8n automation or AI agent to handle missed-call text-backs instead of the Android app's built-in SMS template? The Pro Edition includes an Outbound Event Forwarder that transmits callers directly to your custom webhook.

πŸ”• Mute Native Auto-Reply (Zero Double-Sends)

Enable "Mute Native Auto-Reply" in the Android app's Outbound Forwarder settings. When a call is missed, the phone will forward the caller payload to your n8n webhook and suppress its native SMS template. Your n8n automation can then formulate a personalized AI response and send it back through your phone's SIM via Cloud Relay or Local Gatewayβ€”guaranteeing exactly one text is delivered.

πŸ“‹ Saved Webhooks Dropdown & Switcher

Store multiple production and staging endpoints right in the app. Easily switch active endpoints from a dropdown menu, add new webhook URLs on the fly, and run instant "Test Ping" verifications with live status code and latency indicators.

Outbound Missed Call Webhook Payload (Sent from Android)

When an incoming call goes unanswered, the phone immediately dispatches an HTTP POST request to your selected webhook URL:

{
  "event": "MISSED_CALL",
  "phone": "+15551234567",
  "caller_name": "John Doe",
  "sim_slot": 1,
  "timestamp": 1789658400000,
  "device_id": "DEVICE-ANDROID-UUID"
}

Payload Fields

Field Type Description
event string Constant MISSED_CALL indicating an unanswered incoming call.
phone string E.164 phone number of the missed caller.
caller_name string Caller ID name resolved from phone contacts or network, if available.
sim_slot integer Physical SIM slot (1 or 2) that received the missed call.
timestamp long Unix epoch timestamp in milliseconds when the call was missed.
device_id string Hardware device identifier running Missed Call Auto SMS.

Recommended n8n Flow Architecture

Step 1: Webhook Node receives the MISSED_CALL payload.
Step 2: CRM / Airtable / HubSpot Node checks if the contact is an existing client or hot lead.
Step 3: OpenAI / Claude Node drafts a customized, context-aware reply.
Step 4: HTTP Request Node calls https://missedcallautosms.com/api/dispatch-sms with the drafted message.
Result: Your physical Android phone fires the text message over your cellular carrier plan, keeping conversations 100% natural and never double-sent!

πŸ›‘οΈ 5. Platform Stability, SLA & Resilience Specification

Engineered from the kernel up to run 24/7/365 without sleep drops, memory kills, or carrier flags.

πŸ”‹ 24/7 Foreground Service & WAKE_LOCK

Consumer Android apps get suspended when the screen locks. Missed Call Auto SMS registers an Android Foreground Sticky Service with a persistent notification bar icon and acquires partial CPU wake locks during incoming call events. It will never be killed by Android memory managers.

πŸ›‘οΈ SIM Burn Safeguardβ„’ (Carrier Anti-Spam)

Mobile carriers (Verizon, AT&T, T-Mobile) will flag consumer SIMs if hundreds of texts fire in seconds. Our engine enforces a strict 3.5-second sequential pacing interval and a 20 SMS/minute burst ceiling. Your phone line remains 100% compliant and healthy.

πŸ“¦ WorkManager Persistent SQLite Queue

If the phone momentarily enters a basement or elevator with zero cell service, outbound dispatches do not vanish. They are queued to an encrypted SQLite database via Android WorkManager and automatically flushed the instant cellular towers re-acquire connection.

☁️ High-Priority FCM Push Redundancy

Central Cloud Relay leverages Google Firebase Cloud Messaging at HIGH_PRIORITY level. This bypasses Android Doze mode and wakes the device radio within milliseconds, ensuring real-time response times for critical lead generation workflows.

⚠️ Crucial Device Setup Step: Disable Vendor Battery Optimization

Certain Android manufacturers (Samsung OneUI, Xiaomi MIUI) aggressively throttle background apps unless instructed otherwise. On your appliance device, navigate to Settings βž” Apps βž” Missed Call Auto SMS βž” Battery βž” Select "Unrestricted" to ensure zero sleep interruptions.

🚦 6. Response Status Codes & Troubleshooting

Standard HTTP status codes returned by the Central Cloud Relay and Local Gateways.
Status Code Meaning Solution
200 OK Message Queued / Dispatched Carrier dispatch initiated successfully.
400 Bad Request Missing Phone or Body Ensure destination phone number is provided in valid international format.
401 Unauthorized Missing License Key Provide your Pro License Key in the X-License-Key header.
403 Forbidden Standard Tier Key / Invalid Feature is exclusive to Pro Edition. Upgrade your key or verify formatting.
404 Not Found Device Token Not Registered Open the Missed Call Auto SMS Pro app on your phone once to register the device FCM token.
429 Rate Limited SIM Burn Safeguard Triggered Pacing protection active. Space out automated webhook triggers by 3.5 seconds.

πŸ’¬ 6. 2-Way Conversational AI SMS & Human Takeover Safeguard API

Engage inbound leads with multi-turn AI dialogues executed natively over your Android SIM card with automated 30-minute Human Takeover protection.

πŸ€– Multi-Turn Native SIM Dialogue

Unlike primitive auto-responders that stop after a single canned text, the Conversational AI SMS Engine holds complete multi-turn discovery conversations. It qualifies contractor leads, verifies service addresses, answers pricing questions, and sends calendar booking links directly from your real carrier SIM number (Verizon, AT&T, T-Mobile).

βœ“ 100% P2P Carrier Delivery β€’ βœ“ Real Thread Continuity β€’ βœ“ Zero Twilio Per-SMS Markup

πŸ›‘οΈ 30-Minute Human Takeover Safeguard

Automation should never collide with your active sales process. The moment the business owner or technician manually sends a text message from their Android phone dialer or SMS app, our background thread listener flags the conversation and pauses AI replies for 30 minutes. You close the customer without robotic interference.

βœ“ Zero Robot Collisions β€’ βœ“ Auto-Resumes After 30m β€’ βœ“ Manual In-App Reset
POST https://missedcallautosms.com/api/sms/chat-turn

Process an incoming SMS message through the trade-tuned AI engine. If human takeover is active, the engine returns human_takeover_active: true and silences the AI.

curl -X POST https://missedcallautosms.com/api/sms/chat-turn \
  -H "Content-Type: application/json" \
  -H "X-License-Key: MCAS-PRO-DEMO-89F2" \
  -d '{
    "fromPhone": "+15551234567",
    "customerMessage": "Hi, do you have someone available for an emergency boiler repair today in Newark?",
    "businessName": "Apex Plumbing & Heating",
    "serviceTrade": "Emergency Plumbing & Water Heaters",
    "sim_slot": 0,
    "humanTakeoverMinutes": 30
  }'
const res = await fetch('https://missedcallautosms.com/api/sms/chat-turn', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-License-Key': 'MCAS-PRO-DEMO-89F2'
  },
  body: JSON.stringify({
    fromPhone: '+15551234567',
    customerMessage: 'Hi, do you have someone available for an emergency boiler repair today in Newark?',
    businessName: 'Apex Plumbing & Heating',
    serviceTrade: 'Emergency Plumbing & Water Heaters',
    sim_slot: 0,
    humanTakeoverMinutes: 30
  })
});
const data = await res.json();
console.log('AI Response:', data);
import requests

url = "https://missedcallautosms.com/api/sms/chat-turn"
headers = {
    "Content-Type": "application/json",
    "X-License-Key": "MCAS-PRO-DEMO-89F2"
}
payload = {
    "fromPhone": "+15551234567",
    "customerMessage": "Hi, do you have someone available for an emergency boiler repair today in Newark?",
    "businessName": "Apex Plumbing & Heating",
    "serviceTrade": "Emergency Plumbing & Water Heaters",
    "sim_slot": 0,
    "humanTakeoverMinutes": 30
}
res = requests.post(url, json=payload, headers=headers)
print(res.json())

πŸŽ™οΈ 7. Turnkey GridAI Autonomous Voice Receptionist & Telephony Forwarding API

Integrate GridAI, Retell, LiveKit, or native carrier SIP trunking for unanswered call triage and AI conversational voice handling with zero contractor technical setup.

πŸ”„ Dual-Track Triage Architecture

Missed Call Auto SMS combines instant SMS auto-replies via native Android SIM with an autonomous GridAI voice receptionist via conditional carrier forwarding:

  1. Native Cell Ring (0–15s): Incoming calls ring the contractor's physical phone. If answered, normal phone conversation proceeds at $0 AI cost.
  2. Carrier Conditional Forwarding: If unanswered after 15s or busy, the mobile carrier automatically routes the audio stream to your dedicated GridAI voice endpoint.
  3. Dynamic Context Injection: GridAI queries POST /api/voice/webhook. The server retrieves the contractor's profile and returns a dynamic system prompt containing their business name, technician name, service trade, and custom greeting.
  4. Conversational Guardrails & Mid-Call Tools: AI operates under strict voice UX rules (maximum 20 words per spoken sentence, mandatory phonetic street address read-back confirmation, and a 3-minute hard ceiling). The agent can trigger the send_sms tool to send a text confirmation from the contractor's phone while the caller is still on the line!
  5. Post-Call Dispatch: Once hung up, full audio transcript, MP3 recording URI, and extracted urgency metadata trigger automated lead alerts to the contractor and SMS booking confirmations to the homeowner.

πŸ“‘ Carrier Conditional Call Forwarding Matrix

The Android app's CarrierForwardingManager auto-detects the active SIM carrier and triggers the native phone dialer with the appropriate MMI/USSD prefix:

Carrier / MVNO Forwarding Prefix (Activation) Deactivation Code Behavior
Verizon / Visible / US Cellular *71{10-digit-number} *73 Rings handset for 15s; forwards on no-answer or busy.
AT&T / Cricket / Consumer Cellular *004*{10-digit-number}# ##004# Conditional forwarding for unanswered, busy, or unreachable calls.
T-Mobile / Mint Mobile / Metro **61*{10-digit-number}**15# ##004# Explicit 15-second timer before forwarding to AI endpoint.
Generic US Carrier / Landline *71{10-digit-number} *73 Standard North American conditional call forwarding standard.

⚑ AI Voice Webhook Endpoints

POST /api/voice/webhook

Invoked in real-time by the GridAI voice pipeline on call initiation (assistant-request), mid-call tool invocations (send_sms), and call termination (end-of-call-report). Dynamically returns the tailored prompt and processes transcripts.

POST /api/voice/custom-greeting

Allows the mobile app or dashboard to customize the introductory sentence spoken by the AI receptionist and update business trade metadata.

POST /api/voice/cancel-subscription

1-click self-service endpoint that terminates the recurring $9.99/mo Voice Add-On Stripe subscription and returns the carrier deactivation code (*73 or ##004#) for immediate dialer rollback.

POST /api/voice/provision

Internal provisioning hook triggered by Stripe checkout webhook when a contractor activates the AI Voice Receptionist ($9.99/mo add-on) plan.

Example: Updating Custom Greeting & Voice Profile

curl -X POST https://missedcallautosms.com/api/voice/custom-greeting \
  -H "Content-Type: application/json" \
  -d '{
    "businessName": "Apex Plumbing & Heating",
    "ownerName": "Dave Miller",
    "serviceTrade": "Emergency Plumbing & Water Heaters",
    "customGreeting": "Thanks for calling Apex Plumbing! Our technicians are on a service job. How can I help you right now?"
  }'
const response = await fetch('https://missedcallautosms.com/api/voice/custom-greeting', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({
    businessName: 'Apex Plumbing & Heating',
    ownerName: 'Dave Miller',
    serviceTrade: 'Emergency Plumbing & Water Heaters',
    customGreeting: 'Thanks for calling Apex Plumbing! Our technicians are on a service job. How can I help you right now?'
  })
});
const data = await response.json();
console.log('Voice receptionist configured:', data);
import requests

url = "https://missedcallautosms.com/api/voice/custom-greeting"
payload = {
    "businessName": "Apex Plumbing & Heating",
    "ownerName": "Dave Miller",
    "serviceTrade": "Emergency Plumbing & Water Heaters",
    "customGreeting": "Thanks for calling Apex Plumbing! Our technicians are on a service job. How can I help you right now?"
}
res = requests.post(url, json=payload)
print(res.json())

🏒 8. White-Label Agency Fleet Management API

Programmatically provision client software appliances, push remote prompt & carrier configurations, generate bespoke brand themes, and manage airtime minutes across your agency fleet.
POST https://missedcallautosms.com/api/agency/manage

The Agency Fleet API empowers SaaS agencies and marketing partners to automate client onboarding, customize client portal themes, and adjust appliance parameters remotely via action commands.

1. Provision Agency & Theme

Setup white-label brand palettes, 10 curated color themes, vanity domain, and app title.

2. Generate Client Keys

Instantly issue pre-licensed client keys tied to your agency slug with custom business metadata.

3. Push Remote Configs

Update GridAI voice prompts, SMS templates, forwarding codes, and lock handset settings over-the-air.

curl -X POST https://missedcallautosms.com/api/agency/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "create_agency",
    "agencyId": "apex_media",
    "agencyName": "Apex Media Solutions",
    "email": "partners@apexmedia.com",
    "appName": "Apex Auto-SMS",
    "theme": {
      "primaryColor": "#2563EB",
      "accentColor": "#38BDF8"
    }
  }'
curl -X POST https://missedcallautosms.com/api/agency/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "agency_generate_key",
    "agencyId": "apex_media",
    "tier": "PRO",
    "clientName": "Miller Electrical",
    "clientEmail": "dave@millerelectric.com"
  }'
curl -X POST https://missedcallautosms.com/api/agency/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "agency_save_client_remote_config",
    "agencyId": "apex_media",
    "licenseKey": "MCAS-AG-92F1",
    "voice": {
      "voiceReceptionistEnabled": true,
      "voiceAgentName": "Riley",
      "model": "claude-3-5-sonnet",
      "customGreeting": "Thanks for calling Miller Electrical! How can we assist you?",
      "systemPrompt": "You are a professional licensed electrician intake receptionist. Confirm street address phonetically.",
      "emergencyTransferNumber": "+15559876543"
    },
    "handset": {
      "messageTemplate": "Sorry we missed your call! How can our electricians help?",
      "jitterDelaySeconds": 15,
      "muteNativeAutoReply": false,
      "outboundWebhookEnabled": true,
      "selectedOutboundWebhookUrl": "https://services.leadconnectorhq.com/hooks/...",
      "lockHandsetSettings": true
    }
  }'
curl -X POST https://missedcallautosms.com/api/agency/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "agency_partner_update_settings",
    "agencyId": "apex_media",
    "customDomain": "portal.apexmedia.com",
    "logoUrl": "https://apexmedia.com/logo.png",
    "iconUrl": "https://apexmedia.com/favicon.png",
    "primaryColor": "#059669",
    "accentColor": "#34D399",
    "tagline": "Autonomous 24/7 AI Receptionist & Speed-To-Lead",
    "supportEmail": "support@apexmedia.com",
    "supportPhone": "+18005550199"
  }'

πŸ‘€ 9. Client Portal & Remote Appliance Configuration API

Query real-time call audio recordings, full conversational transcripts, airtime minutes balances, and safe auto-recharge settings.
POST https://missedcallautosms.com/api/portal/manage

Enables building custom client dashboards or integrating client call metrics directly into your proprietary SaaS CRM.

curl -X POST https://missedcallautosms.com/api/portal/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "get_portal_data",
    "licenseKey": "MCAS-PRO-DEMO-89F2",
    "agencySlug": "apex_media"
  }'
curl -X POST https://missedcallautosms.com/api/portal/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "update_portal_config",
    "licenseKey": "MCAS-PRO-DEMO-89F2",
    "customGreeting": "Thanks for calling Apex Plumbing! Our techs are on a job. How can we help?",
    "voiceReceptionistEnabled": true
  }'
curl -X POST https://missedcallautosms.com/api/portal/manage \
  -H "Content-Type: application/json" \
  -d '{
    "action": "toggle_auto_recharge",
    "licenseKey": "MCAS-PRO-DEMO-89F2",
    "enabled": true,
    "packAmount": 10
  }'

Ready to Supercharge Your SMS Automation?

Get the Perpetual Pro Gateway for a $299.99 lifetime license with 1-Year Cloud Relay API maintenance included. Zero carrier 10DLC delays, physical SIM execution, unlimited automations, and full webhook access.

πŸš€ Purchase Pro Automation Gateway ($299.99 Lifetime) 🎫 Open Support Ticket