AWS Pinpoint-Retool SMS/MMS Integration Developer

Job ID: 39200971

Budget: $30 – $250 USD

I am looking for a developer who can connect AWS End User Messaging (Pinpoint) with Retool for SMS & MMS Messaging Tool



? Required AWS Services & Tools
• AWS Pinpoint (End User Messaging) – For SMS/MMS sending and number provisioning.
• AWS Lambda – To handle API requests & process SMS/MMS.
• AWS API Gateway – To expose endpoints to Retool.
• AWS DynamoDB or RDS – To store message logs, contacts, opt-outs.
• AWS SNS (Simple Notification Service) – To process incoming messages & opt-outs.
• Retool – For the user interface.



? Step-by-Step Breakdown

1️⃣ Set Up AWS Pinpoint for SMS & MMS

✅ Tasks:
1. Go to AWS Pinpoint Console.
2. Create a Pinpoint project for messaging.
3. Request and set up 10DLC registration for compliance.
4. Set up a default sending pool.
5. Enable MMS support (requires region support check).
6. Configure IAM roles for programmatic access.

⏳ Estimated Time: 1-2 hours
? Difficulty Level: Medium



2️⃣ Set Up AWS Lambda Functions

We need Lambda functions for:
1. Importing and validating phone numbers.
2. Provisioning phone numbers.
3. Sending SMS/MMS.
4. Receiving & displaying messages.
5. Handling opt-outs (STOP messages).

✅ Tasks:
• Create Lambda function 1: Number validation
• Accepts CSV upload.
• Checks validity of numbers via AWS Pinpoint Phone Number Validate API.
• Stores valid numbers in DynamoDB.
• Returns invalid numbers for user review.
• Create Lambda function 2: Provisioning numbers
• Searches available numbers via Pinpoint API.
• Purchases selected number and associates it with 10DLC.
• Create Lambda function 3: Sending SMS/MMS
• Sends texts with images via Pinpoint API.
• Ensures only valid numbers are contacted.
• Create Lambda function 4: Handling inbound SMS
• Stores incoming messages in DynamoDB.
• Triggers SNS event for real-time Retool updates.
• Create Lambda function 5: Managing opt-outs
• Detects STOP/UNSUBSCRIBE requests.
• Blocks opt-out numbers from future messages.

⏳ Estimated Time: 5-6 hours (for all functions)
? Difficulty Level: Medium to Hard



3️⃣ Set Up API Gateway to Connect AWS Lambda to Retool

✅ Tasks:
1. Go to AWS API Gateway and create a new REST API.
2. Add routes for:
• /validate-numbers
• /provision-number
• /send-message
• /receive-message
• /unsubscribe
• /export-messages
• /admin/numbers
3. Link each route to its respective Lambda function.
4. Deploy the API and copy the endpoint URLs.

⏳ Estimated Time: 2-3 hours
? Difficulty Level: Medium



4️⃣ Build Retool UI

? Import & Validate Contacts
• File Upload Component → Upload CSV.
• Table Component → Display uploaded numbers & validity.
• Button → Calls /validate-numbers API.

? Provision Numbers
• Search Bar → Search available numbers.
• Dropdown → Select number.
• Button → Calls /provision-number API.

✍️ Send SMS/MMS
• Text Box → Message input.
• File Upload → Image/video attachment.
• Button → Calls /send-message API.
• Table → Displays list of valid recipients.

? Message Inbox
• Table → Shows all received messages.
• Chat UI → Real-time message feed.
• Reply Button → Calls /send-message API.

? Opt-Out Management
• Table → Displays unsubscribed contacts.
• Button → Export opt-out list.

? Admin Dashboard
• Table → Shows all provisioned numbers.
• Button → Releases numbers (/admin/numbers API).

⏳ Estimated Time: 4-6 hours
? Difficulty Level: Easy to Medium



5️⃣ Implement Real-Time SMS Updates in Retool

✅ Tasks:
1. Use AWS SNS to trigger an event when a message is received.
2. Use WebSockets or API Polling in Retool to update the UI.
3. Store messages in DynamoDB for historical tracking.

⏳ Estimated Time: 2-3 hours
? Difficulty Level: Medium



6️⃣ Set Up CSV Export for Sent & Received Messages

✅ Tasks:
1. Create an Export Button in Retool.
2. Call /export-messages API to retrieve message logs.
3. Format data into a CSV for download.

⏳ Estimated Time: 1-2 hours
? Difficulty Level: Easy



Total Estimated Time

Step Estimated Time
AWS Pinpoint Setup 1-2 hours
Lambda Functions 5-6 hours
API Gateway Setup 2-3 hours
Retool UI Development 4-6 hours
Real-Time Messaging 2-3 hours
CSV Export 1-2 hours
Total Time 15-22 hours (2-3 days of work)





Final Deliverables

✔️ Import & Validate Contacts – Upload CSV & filter mobile numbers.
✔️ Provision “From” Numbers – Search & buy numbers linked to 10DLC.
✔️ Send SMS/MMS – Send bulk texts & media.
✔️ View Sent & Received Messages – Chat-style inbox in Retool.
✔️ Reply to Incoming Messages – Direct response from UI.
✔️ Opt-Out Handling – Automatically blocks “STOP” requests.
✔️ Admin Dashboard – Manages provisioned numbers.
✔️ CSV Export – Download message history.
Related categories: JavaScript PostgreSQL JSON OAuth Aws Lambda