Wraps Logo
DocsHome
SMS Quickstart

Get Started with SMS

Deploy production-ready SMS infrastructure to your AWS account and send your first text message.

Before You Start: AWS Credentials Required

Every command below runs against your AWS account. Before running anything, make sure you have:

  • Node.js 20 or later installed
  • AWS credentials available to the CLI — AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY environment variables, a configured profile via aws configure, or an active aws sso login session
GNU Bashterminal.sh
# Option A: environment variablesexport AWS_ACCESS_KEY_ID=AKIA...export AWS_SECRET_ACCESS_KEY=...export AWS_REGION=us-east-1# Option B: AWS CLI profileaws configure# Option C: AWS SSOaws sso login

Missing credentials fail after the first prompt

If credentials aren't configured, the CLI still starts and asks its telemetry question before failing with a credentials error. Set up credentials first to avoid the confusing dead end.

What you'll build

  • AWS End User Messaging with a provisioned phone number
  • Automatic opt-out management for compliance
  • Your first SMS sent via the TypeScript SDK

Time: ~3 minutes

1
Deploy Infrastructure

Run the Wraps CLI to deploy SMS infrastructure to your AWS account:

GNU Bashterminal.sh
npx @wraps.dev/cli sms init

What happens during deployment?

  • Validates your AWS credentials
  • Prompts you to choose a configuration preset (Starter, Production, or Enterprise)
  • Shows estimated monthly AWS costs
  • Provisions a toll-free number and sets up AWS End User Messaging
  • Deploys IAM roles for secure OIDC authentication

2
Install the TypeScript SDK

Install the @wraps.dev/sms package:

npm install @wraps.dev/sms

3
Send Your First SMS

Create a new file and send an SMS using the SDK:

TypeScriptsend-sms.ts
import { WrapsSMS } from '@wraps.dev/sms';// Initialize the clientconst sms = new WrapsSMS();// Send an SMSconst result = await sms.send({  to: '+14155551234',  message: 'Your verification code is 123456',});console.log('SMS sent:', result.messageId);

Note: Phone Number Format

Phone numbers must be in E.164 format (e.g., +14155551234). The SDK will validate the format before sending.

Next Steps

SMS SDK Reference

Learn about batch sending, opt-out management, and advanced features.

View SDK Docs
CLI Commands

Explore all CLI commands for managing your SMS infrastructure.

View CLI Docs
SMS Infrastructure

See exactly what AWS resources get deployed to your account.

View Infrastructure
Infrastructure as Code

Deploy with CDK or Pulumi instead of the CLI.

View CDK Docs

Need Help?

If you run into any issues, check our GitHub discussions or open an issue.

Get Help