0

I'm a bit fed up with other phone providers and would like to have a more programmable, configurable, personal phone number (I miss GrandCentral). Google Voice is good, but I want to build something better. Twilio is great! I'm considering porting my personal phone number to Twilio.

I already have phone routing TwiML figured out, but where I'm stuck is text messaging. I can't just forward text messages to my burner phone/smart phone, because for replies to be natural, I need to be able to reply and have it get routed back to the sender. Google Voice handles this by forwarding every incoming forwarded text from a unique number so replies go to the right place, but I think this would get expensive quick with Twilio.

Is there a simple app or gateway that someone somewhere has already built (Twilio themselves perhaps) that lets me reply to texts to a Twilio phone number? It could be a web app, mobile app, WhatsApp gateway, whatever.

I looked into Twilio Programmable SMS/Chat, which definitely seems like the right building blocks, but also seems like to solve this I'd be building a web/mobile app and a backend service to manage my texts. Surely something already exists for manual text response to Twilio numbers.

I looked into Twilio Flex (and other customer management/agent center solutions) and that could work! But it seems overkill and I couldn't find a way to do Twilio Flex agent responses (e.g., reply to my family) on my smart phone. Is there a Twilio Flex mobile app? Is there something less overkill? I thought for sure I'd find something in the Twilio dashboard that would let me manually reply to texts.

Just looking for the most basic SMS/MMS inbox with reply functionality for a Twilio phone number I can find without having to build too much. Thanks!

jtolds
  • 3,341
  • 3
  • 17
  • 14

3 Answers3

1

FrontApp is another paid service that supports a Twilio integration for SMS messaging. There isn’t exactly a huge base of people using Twilio for individual purposes, so I don’t think it’s that surprising that what you’re looking for doesn’t already exist (though I agree it would be cool if it did).

Potentially, you could also look into the Twilio CLI utility as a way to interact with the API without so much developer overhead. Perhaps your new SMS interface is just going to be an SSH client on your phone connected to a box with the Twilio CLI installed?

NReilingh
  • 1,730
  • 17
  • 32
1

An easy way to use your number for free (besides Twilio's costs) is to use a Google Spreadsheet with a script attached.

Here is a basic template you could start from and adjust accordingly.

STEP 1. Create New Google Spreadsheet.

STEP 2. Label columns A-E Date, From, Incoming Message, Reply, Status.

STEP 3. Open script editor and clear contents and paste code below.

STEP 4. Edit script by inserting your TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, (can be found in your Twilio dashboard) TWILIO PHONE NUMBER.

STEP 5. Deploy your script as a web app MAKE SURE to set the "who has access to the app" to "anyone, even anonymous" (Twilio will only work with public URLs).

STEP 6. After deployed copy the web app URL supplied by google.

STEP 7. Go to your Twilio phone numbers and paste the URL as the webhook for when a message comes in, MAKE SURE you change it to HTTP GET.

NOTE: make sure to authorize the script, by running the function from script editor.

function doGet(e) {
  var body = e.parameter.Body;
  var from = e.parameter.From;
  var time = new Date();
  
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet()
  ss.appendRow([time,from,body]);
}

    function onOpen() {
      var ui = SpreadsheetApp.getUi();
      ui.createMenu('Reply')
          .addItem('Send Reply', 'sendText').addToUi();
    }
    
    function sendText(){
      var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
      var range = ss.getActiveRange();
      var message = range.getValue();
      var getNumber = ss.getRange(range.getRow(), 2).getValue();
      var number = '+' + getNumber;
      var messagesUrl = "https://api.twilio.com/2010-04-01/Accounts/PASTE_YOUR_TWILIO_ACCOUNT_SID_HERE/Messages.json";
        
      var payload = {
        "To": number,
        "From" : "PASTE_YOUR_TWILIO_PHONE_NUMBER_HERE", //make sure its formated as +15556667777
        "Body" : message,
      };
      
      var options = {
        "method" : "post",
        "payload" : payload
      };
      
      options.headers = {    
        "Authorization" : "Basic " + Utilities.base64Encode("PASTE_YOUR_TWILIO_ACCOUNT_SID_HERE:PASTE_YOUR_TWILIO_AUTH_TOKEN_HERE")
      };
      UrlFetchApp.fetch(messagesUrl, options);
      return ss.getRange(range.getRow(), 5).setValue('Sent');
    }

To use it type a reply in the row you want to respond to make sure any cell in that row is selected, then go to the "Reply" tab and click "send text"

jack
  • 330
  • 3
  • 12
  • Hahaha this is an amazing use of Google Sheets Scripts! – jtolds Aug 04 '20 at 21:16
  • I mean, I really like the use of Google Sheets! It's very creative! This doesn't result in a nice mobile experience with notifications, etc. – jtolds Aug 05 '20 at 23:34
  • I'm not sure exactly what you need. If you just want it forwarded to another number, you can easily configure it that all incoming text be prefixed with the sender's number. which you can click on and reply to. Is that something you need? – jack Aug 06 '20 at 14:36
  • I'm looking for a mobile experience with threaded conversations, not getting all texts in the same conversation with the sender's number prefixed. I also want the replies to come from my Twilio number, not the number I'm forwarding to. – jtolds Aug 07 '20 at 15:19
0

Here is a free android app you can download from the google play store. It was created by a Twilio employee, and offers what you were looking for. It does have some limitations which you can read in the description.

https://play.google.com/store/apps/details?id=com.tigerfarmpress.owlsms

jack
  • 330
  • 3
  • 12