AccelerateNetworks / NumberSearch

Line of business tooling for VOIP services.
https://acceleratenetworks.com/
GNU Affero General Public License v3.0
11 stars 1 forks source link

[FEATURE] Email users on inbound texts #464

Open danry25 opened 4 months ago

danry25 commented 4 months ago

What is the problem that this feature solves? We should email users about incoming texts, as this will increase the likelihood texts are read in a timely fashion.

Describe the solution you'd like When a text comes in and the user has this feature turned on, we should email them about the incoming text and tell them to go to clientdomain.sip.callpipe.com/app/webtexting/ to reply.

Another variant of this feature might be only emailing the user about the first message of the day.

We store the clientdomain in the webhook URL currently, additional information that we need FusionPBX to provide will be the user's email address, and whether the user wants this feature on, set to daily, or off.

How will this improve revenue or reduce our costs? This will improve the stickiness and usefulness of Web Texting for our clients.

uncheckederror commented 2 months ago

It seems to me that the best way for a user to register a text-able phone number for SMS/MMS forwarding to email is through our existing WebTexting app inside of their FusionPBX domain. To enabled messaging to email I imagine the process would go like this:

  1. Login to FusionPBX.
  2. Open the WebTexting app.
  3. Select the Phone Number they want to receive text messages for.
  4. Next to the Notifications bell icon or in a similar menu there should be a icon representing email.
  5. Clicking on this icon prompts you to enter an email address or shows you the currently registered email address.
  6. When you enter an email address into the form and submit it, WebTexting calls out to the sms.callpipe.com API to update the client registration with the user provided email address.
  7. Every inbound SMS/MMS message will now be forwarded to the supplied email address and to WebTexting.

@danry25 how does that sound?

Also where is the issue for building a WebTexting widget to put on the FusionPBX homepage? It is currently quite awkward to get into WebTexting from the default homepage in FusionPBX, as we cannot directly link a user into their instance of WebTexting.

uncheckederror commented 2 months ago

Here's the WebTexting widget issue: https://github.com/AccelerateNetworks/fusionpbx-webtexting/issues/49

danry25 commented 1 month ago

Awesome, this feature works!

Example of how this would display: Hello there!

-- Reply to this message in Web Texting This new message to 2068588757 from 12065579450 arrived at 09/21/2024 22:47:29

image

uncheckederror commented 1 month ago
danry25 commented 1 month ago

The format of the message is perfect!

Additional scope creep:

uncheckederror commented 1 month ago

The format of the message is perfect!

Additional scope creep:

  • [ ] Handle emailed replies to texts

How would adding support for this feature increase the value of this product? We already support outbound texting via Web Texting which is a service we charge money for. We aren't going to charge money for inbound text to email, will we be able to charge money for outbound text to email? I'm not understanding the business case for this feature creep, when we can just push users into Web Texting for it.

danry25 commented 1 month ago

We are able to monetize outbound texts for our Web Texting customers, as higher usage will cause them to exceed the built in quotas driving incremental revenue.

Being able to treat texts just like email also opens up these use cases:

uncheckederror commented 1 month ago

@dunkeltron here's the process:

Find a number already registered for SMS/MMS service through https://sms.callpipe.com/index.html using the GET /client endpoint (ex. https://sms.callpipe.com/client?asDialed=2065556361)

Then you need to use the registration info from the response of that endpoint to update that existing registration using the POST /client/register endpoint { "dialedNumber": valueCopiedFrom /client, "callbackUrl": valueCopiedFrom /client, "clientSecret": valueCopiedFrom /client, "email": !!!provide the forwarding email here!!! }

Now incoming SMSes will be forwarded to the email you just set for that phone number registration.

danry25 commented 1 month ago

MMS messages are not being forwarded. Could we add support for MMS?

danry25 commented 2 weeks ago

MMS Message forwarding now works!

Additional scope creep:

uncheckederror commented 1 day ago

Looks like we can continue using the MailKit library to retrieve emails and then send them as outbound text messages. https://github.com/jstedfast/MailKit

uncheckederror commented 14 hours ago

@danry25 need to decide if Messaging will connect to the email server using IMAP or Pop3 and then I'll need the credentials.