Package Information
Documentation
n8n-nodes-sms-sender
Community node for n8n to send SMS via MessageMedia with a clean, focused interface.
โจ Features
- MessageMedia SMS integration - SMS provider with global reach
https://messagemedia.com - Clean, simple UI - No complex provider selection or credential confusion
- Optional sender number - Uses default account number if "From" field is blank
- Phone number normalization to E.164 format and encoding detection (GSM7 vs UCS-2)
- Test mode (stub endpoint) and sandbox dry-run
- Rate limiting between messages
- Robust error handling and validation
๐ Install
Option 1: n8n Community Nodes (Recommended)
- In n8n, go to Settings โ Community Nodes โ Install
- Enter:
n8n-nodes-sms-sender - Click Install
Option 2: npm CLI
npm i n8n-nodes-sms-sender
๐ฏ Node Configuration
Basic Information
- Display Name: MessageMedia SMS Sender
- Name:
SinchEngage - Group:
transform - Inputs:
main - Outputs:
main
Field Structure
The node provides a clean, focused interface with logical field organization:
1. MessageMedia API Credentials
- Required: MessageMedia API Key and Secret
- Single credential field - No confusion about which credentials to use
2. Message Details
- To (required) - Destination phone number in E.164 format
- From (optional) - Sender phone number (uses default account number if blank)
- Message (required, up to 1600 characters) - SMS content
3. Operation Modes
- Use Sandbox - Dry run mode, no external calls, simulated success
- Test Mode - Redirects to
https://httpbin.org/postfor testing
4. Additional Fields
- Status Callback URL - Webhook URL for delivery status updates
- Encoding: auto | GSM7 | UCS-2 (auto-detects by default)
- Rate Limit (ms) - Delay between messages
- Fail if Undeliverable (default: true) - Throw error if validation fails
- Return Raw (default: false) - Include provider response in output
๐ Credentials
MessageMedia API
apiKey- Your MessageMedia API KeyapiSecret- Your MessageMedia API Secret
๐ฑ MessageMedia Integration
API Endpoint
- URL:
POST https://api.messagemedia.com/v1/messages - Auth: Basic (API Key / Secret)
- Body:
{ messages: [ { content, destination_number, source_number } ] }
Field Mapping
toโdestination_number(required)messageโcontent(required)fromโsource_number(optional - uses default account number if blank)
Features
- Australian focus with global SMS capabilities
- Optional source number - automatically uses account default if not specified
- Delivery reports via webhook callbacks
- Rich media support (MMS capabilities)
๐ Field Behavior
When "From" field is provided:
- โ Sender number is included in API request
- โ Uses the specified number as source
When "From" field is blank:
- โ No source_number sent to API
- โ MessageMedia uses default account number
- โ Ideal for single-account setups
๐ Example Workflow
{
"nodes": [
{
"parameters": {
"to": "+61437536808",
"message": "Hello from n8n!",
"additionalFields": {
"statusCallbackUrl": "https://your-webhook.com/sms-status"
}
},
"type": "n8n-nodes-sms-sender.SinchEngage",
"typeVersion": 1,
"name": "MessageMedia SMS Sender"
}
]
}
๐งช Testing
Local Testing
npm test
n8n Testing
- Sandbox Mode: Returns simulated success without external calls
- Test Mode: Redirects to
httpbin.orgfor HTTP testing - Live Mode: Sends actual SMS via MessageMedia API
๐ ๏ธ Development
Running Locally
# Install dependencies
npm install
# Build the project
npm run build
# Run linting
npm run lint
# Auto-fix linting issues
npm run lint:fix
# Run tests
npm test
# Watch mode for tests
npm run dev:test
Code Quality
This project uses ESLint with TypeScript support to maintain code quality and consistency:
- Configuration:
.eslintrc.jsonwith@typescript-eslint/parser - Standards: TypeScript recommended rules + Prettier integration
- Enforcement: CI/CD pipeline enforces zero warnings (
--max-warnings=0)
Contributing
Before submitting a pull request:
- Run
npm run lintto check for linting issues - Run
npm run lint:fixto automatically fix common issues - Run
npm testto ensure all tests pass - Run
npm run buildto verify the build completes successfully
๐ ๏ธ Troubleshooting
Common Issues
- 401/403: Check MessageMedia API credentials and permissions
- Invalid numbers: Ensure E.164 format like
+61437536808 - Sandbox vs Test Mode:
- Sandbox: Returns fake success without any HTTP call
- Test Mode: Calls stub endpoint (
httpbin.org)
- Missing "From": Node automatically uses default account number
Phone Number Format
- Required: E.164 international format (e.g.,
+61437536808) - Not supported: Local formats like
0437536808(must include country code) - Validation: Node automatically normalizes and validates numbers
๐ง Technical Details
MessageMedia API Integration
- Endpoint:
https://api.messagemedia.com/v1/messages - Authentication: Basic auth with API Key/Secret
- Request Format: JSON with messages array
- Response: Includes message_id, status, and delivery information
Phone Number Handling
- E.164 normalization for consistent formatting
- Encoding detection (GSM7 vs UCS-2) for optimal delivery
- Validation with helpful error messages
Rate Limiting
- Configurable delays between messages
- Prevents API throttling and improves delivery success
- Millisecond precision for fine-grained control
๐ฆ Version History
See CHANGELOG.md for detailed version history.
Release Channels
This package follows semantic versioning with pre-release tags:
Alpha (
1.x.x-alpha.x) - Internal testing and development builds- Experimental features and breaking changes
- For team testing in isolated n8n instances
- Install:
npm install n8n-nodes-sms-sender@alpha
Beta (
1.x.x-beta.x) - Public preview releases- Feature-complete but undergoing final testing
- Safe for non-production workflows
- Install:
npm install n8n-nodes-sms-sender@beta
General Availability (
1.x.x) - Production-ready releases- Stable, fully tested, and verified by n8n
- Recommended for production use
- Install:
npm install n8n-nodes-sms-sender(latest stable)
Current Version: 1.1.0-alpha.0 - Alpha testing phase
Version Strategy
- Major (x.0.0): Breaking changes, major feature overhauls
- Minor (1.x.0): New features, non-breaking enhancements
- Patch (1.0.x): Bug fixes, documentation updates
- Pre-release:
-alpha.x,-beta.x,-rc.xfor testing phases
๐ค Contributing
This is a community node for n8n, focused on providing a clean, reliable MessageMedia SMS integration. Feel free to contribute improvements, bug fixes, or enhancements!
๐ License
MIT License - see LICENSE file for details.
๐ Links
- MessageMedia Website: https://messagemedia.com
- MessageMedia API Documentation: https://messagemedia.github.io/documentation/
- n8n Community Nodes: https://n8n.io/community/nodes/

