Base44 SMS Integration

Base44 is an AI app builder that turns plain-English prompts into working web apps. Base44 apps can call external APIs through backend functions, which means your app can connect directly to the Mobile Message API to send and receive SMS. No Zapier or third-party connector is required.

This is perfect for booking apps that send confirmations, customer portals that send status updates, and internal tools that alert staff by SMS.

What you'll need

  • A Mobile Message account. Sign up free and you only pay for the messages you send, from 1.6c per SMS.
  • A Base44 account on the Builder plan or higher. Backend functions are not available on Base44's Free or Starter plans.

Step 1: Get your Mobile Message API credentials

  1. Log in to your Mobile Message account at https://app.mobilemessage.com.au/.
  2. Click Settings > API.
  3. Create a new API key and copy your Username and Password. Keep these stored securely for the next step.

Step 2: Add your credentials as secrets in Base44

Secrets keep your API credentials on the server, so they are never exposed in your app's frontend code.

  1. Open your app in the Base44 editor.
  2. Click Dashboard, then click Secrets.
  3. Click Add Secret and create two secrets:
  • MOBILE_MESSAGE_API_USERNAME with your API username
  • MOBILE_MESSAGE_API_PASSWORD with your API password

If you use the AI chat to set up the connection (Step 3), Base44 may instead prompt you for the credentials with a Set secrets button in the chat. Pasting them there does the same thing.

Step 3: Ask the Base44 AI to create the connection

The easiest way to build the integration is to describe it in the AI chat. Paste a prompt like this, adjusted to suit your app:

Create a backend function called sendSms that sends an SMS through the
Mobile Message API. It should POST to
https://api.mobilemessage.com.au/v1/messages using HTTP Basic
authentication with the secrets MOBILE_MESSAGE_API_USERNAME and
MOBILE_MESSAGE_API_PASSWORD. The JSON request body looks like:

{
  "messages": [
    {
      "to": "0412345678",
      "message": "Hi {first_name}, your booking is confirmed.",
      "sender": "MyBusiness"
    }
  ]
}

Call this function whenever a booking is confirmed in my app, filling in
the customer's mobile number and booking details.

Make sure the sender value is a Sender ID registered in your Mobile Message account. See choosing a sender if you haven't set one up yet.

Creating the backend function manually (optional)

If you prefer to write the code yourself, backend functions live under Dashboard > Code > Functions in your Base44 app. A minimal send function looks like this:

Deno.serve(async (req) => {
  const username = Deno.env.get("MOBILE_MESSAGE_API_USERNAME");
  const password = Deno.env.get("MOBILE_MESSAGE_API_PASSWORD");

  const { to, message, sender } = await req.json();

  const response = await fetch("https://api.mobilemessage.com.au/v1/messages", {
    method: "POST",
    headers: {
      "Authorization": "Basic " + btoa(`${username}:${password}`),
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      messages: [{ to, message, sender }],
    }),
  });

  return Response.json(await response.json(), { status: response.status });
});

Your app's frontend can then call it with the Base44 SDK:

const result = await base44.functions.invoke("sendSms", {
  to: "0412345678",
  message: "Hi Sarah, your booking is confirmed for 2pm Tuesday.",
  sender: "MyBusiness",
});

Step 4: Test your integration

  1. Trigger the send in your app, or use the function's test option.
  2. A successful response returns "status": "complete" with a per-message result, including a message_id you can use to track delivery.
  3. Check the function's logs under Dashboard > Code > Functions in Base44 if something doesn't work.
  4. You can also confirm the send in your Mobile Message account, and review the full request and response under Settings > API > Request Logs.

Receiving inbound SMS in your Base44 app (optional)

If you send from a dedicated number, replies can be forwarded to your Base44 app in real time.

  1. Ask the Base44 AI to create a webhook endpoint function, for example: "Create a backend function called receiveSms that accepts a POST webhook with a JSON body and stores the message in my app." The JSON payload Mobile Message sends looks like this:
{
  "to": "0412345678",
  "message": "Hello, this is an inbound message",
  "sender": "0412345679",
  "received_at": "2026-07-13T14:35:00Z",
  "type": "inbound"
}
  1. Copy the function's public URL. Deployed Base44 functions are reachable at https://your-app.base44.app/functions/receiveSms (using your app's own domain).
  2. In Mobile Message, go to Settings > API, paste the URL into the Inbound Message Webhook field, and save.
  3. Reply to a message sent from your dedicated number and confirm it appears in your app.

Sending marketing messages?

Australian spam rules require an opt-out option in marketing messages. Include the {optout} placeholder in your message text and Mobile Message will insert an opt-out instruction automatically. See how the opt-out placeholder works.

More resources