AI-assisted development
How to integrate the ShoutOUT SMS API into your next Lovable, Claude, or Codex project
Give your AI coding assistant one well-scoped prompt and it can wire up a working SMS integration in a single pass, no manual boilerplate required. This guide covers the setup you need first and gives you a ready-to-paste prompt for Lovable, Claude, Codex, or any other AI coding tool.
Before you prompt: three things you need
- Create a free ShoutOUT account.
You'll need an account to get an API key and a Sender ID.
Create your ShoutOUT account - Generate an API key.
Log in to the dashboard, then go to Developer > API Keys and create a key scoped to
Open the ShoutOUT dashboardmessage:send. See the Authentication guidefor how requests use it. - Copy the prompt below into Lovable, Claude, or Codex.
Fill in your Sender ID and where in your app the SMS should be triggered, then let the assistant do the rest.
The one-shot integration prompt
Paste this into your AI coding assistant's chat. It's specific enough that the assistant can generate a working integration, including error handling and environment variable setup, in one turn.
Integrate SMS sending into this project using the ShoutOUT Engage SMS API.
Requirements:
- Add a server-side function or API route (never client-side) that sends an SMS via:
POST https://backgroundservice.getshoutout.com/v1/messages
- Authenticate with this header, reading the key from an environment variable
named SHOUTOUT_API_KEY (never hardcode it or expose it to the browser):
Authorization: Apikey SHOUTOUT_API_KEY
- Set header: Content-Type: application/json
- Send this JSON body:
{
"source": "<YOUR_SENDER_ID>",
"destinations": ["<RECIPIENT_NUMBER_INTERNATIONAL_FORMAT_NO_LEADING_PLUS>"],
"content": { "sms": "<MESSAGE_TEXT>" },
"transports": ["sms"],
"priority": 0
}
- On success, read result.cost (decimal string) and result.responses[0].reference_id
(needed to look up delivery status later)
- On a non-2xx response, throw/return a clear error instead of failing silently
- Expose a small reusable function, e.g. sendSms(to, message), that the rest of
the app can call
- Add SHOUTOUT_API_KEY to the project's .env and .env.example (with a placeholder
value only, never the real key)
- Use the HTTP client this project already uses (fetch/axios/etc). If this is a
Node.js backend, you may use the official @shoutoutlabs/engage-sdk npm package
instead of raw HTTP calls
Wire sendSms() into: <describe where it should fire, e.g. "the signup confirmation
flow" or "the order-shipped notification">Replace <YOUR_SENDER_ID> with your approved Sender ID and fill in wheresendSms() should be called from before you send the prompt.
Notes for each tool
- Lovable: paste the prompt into an existing project's chat so it edits your current backend, then add
SHOUTOUT_API_KEYin Lovable's environment variable settings. - Claude / Claude Code: run it inside your repo so Claude can match your project's existing HTTP client and file structure, and add the key to your local
.env. - Codex: works the same way, if your project already talks to other third-party APIs, mention that so Codex reuses the existing request/response pattern instead of inventing a new one.
Test it
Send a test message to your own phone number first. A successful response includes areference_id for each destination, if you get a non-2xx response, check that the API key has the message:send scope and that the destination number is in international format without a leading +. For the full request/response reference, see theDeveloper Guides page.