All Projects → dguilak → org-mode-sms-inbox

dguilak / org-mode-sms-inbox

Licence: GPL-3.0 license
Harvest org-mode todos with Dropbox, Twilio, and IFTTT.

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to org-mode-sms-inbox

twilito
A tiny, zero dependency Ruby helper for sending text messages with Twilio 💬
Stars: ✭ 16 (-15.79%)
Mutual labels:  twilio, sms
Botkit
Botkit is an open source developer tool for building chat bots, apps and custom integrations for major messaging platforms.
Stars: ✭ 10,555 (+55452.63%)
Mutual labels:  twilio, sms
Authy
Rinvex Authy is a simple wrapper for @Authy TOTP API, the best rated Two-Factor Authentication service for consumers, simplest 2fa Rest API for developers and a strong authentication platform for the enterprise.
Stars: ✭ 34 (+78.95%)
Mutual labels:  twilio, sms
botkit-sms
Twilio Programmable SMS implementation for Botkit.
Stars: ✭ 18 (-5.26%)
Mutual labels:  twilio, sms
apostello
sms for your church
Stars: ✭ 62 (+226.32%)
Mutual labels:  twilio, sms
Twilio Java
A Java library for communicating with the Twilio REST API and generating TwiML.
Stars: ✭ 371 (+1852.63%)
Mutual labels:  twilio, sms
30 Days Of Python 3.6
This is a soon-to-be archived project version of 30 Days of Python. The original tutorial still works but we have an updated version in the works right now.
Stars: ✭ 98 (+415.79%)
Mutual labels:  twilio, sms
Gotwilio
Twilio library for Go (golang).
Stars: ✭ 328 (+1626.32%)
Mutual labels:  twilio, sms
plivo
This package enables to send message or OTP to any mobile.This package uses external plivo api.
Stars: ✭ 20 (+5.26%)
Mutual labels:  twilio, sms
Assistantcomputercontrol
Control your computer with your Google Home or Amazon Alexa assistant!
Stars: ✭ 554 (+2815.79%)
Mutual labels:  dropbox, ifttt
PokerTexter
SMS App for Poker Odds. Runs on Flask + Twilio + Heroku.
Stars: ✭ 17 (-10.53%)
Mutual labels:  twilio, sms
useful-twilio-functions
A set of useful Twilio Functions.
Stars: ✭ 53 (+178.95%)
Mutual labels:  twilio, sms
Spoke
mass-contact text/SMS distribution tool
Stars: ✭ 367 (+1831.58%)
Mutual labels:  twilio, sms
Twilio Csharp
Twilio C#/.NET Helper Library for .NET Framework 3.5+ and supported .NET Core versions
Stars: ✭ 541 (+2747.37%)
Mutual labels:  twilio, sms
React Native Phone Verification
The best React Native example for phone verification (an alternative to Twitter Digits).
Stars: ✭ 332 (+1647.37%)
Mutual labels:  twilio, sms
Faxserver
Send and Receive Faxes Using The Twilio Programmable Fax API.
Stars: ✭ 92 (+384.21%)
Mutual labels:  twilio, sms
dj-twilio-sms
Twilio SMS Integration for Django
Stars: ✭ 15 (-21.05%)
Mutual labels:  twilio, sms
laravel-authy
Rinvex Authy is a simple wrapper for @authy TOTP API, the best rated Two-Factor Authentication service for consumers, simplest 2fa Rest API for developers and a strong authentication platform for the enterprise.
Stars: ✭ 35 (+84.21%)
Mutual labels:  twilio, sms
Simple Sms
Send and receive SMS messages with Laravel
Stars: ✭ 181 (+852.63%)
Mutual labels:  twilio, sms
PySMS
Simple Python API that that allows you to send texts via SMTP with a best effort approach and process replies via IMAP
Stars: ✭ 19 (+0%)
Mutual labels:  twilio, sms

org-mode-sms-inbox badge

org-mode-sms-inbox

Deploy

Easily capture ideas or TODOs into org-mode through an app almost everyone has installed: SMS!

Read about this silly project

Sample conversation with Emacs

Prerequisites

  • You'll need your org-mode agenda files synced via Dropbox
  • A Twilio account and phone number
  • An IFTTT account
  • An SMS-enabled mobile phone

How it works

  1. You text your own personal org-mode unicorn number
  2. The thing you texted gets appended to a file in Dropbox you specify
  3. You'll see it next time you open up org-mode

Installation

The code is super simple, but you'll have to do a bit of setup on Twilio and IFTTT.

Twilio

Sign up for a Twilio account, and snag a new phone number.

IFTTT

Sign up for an IFTTT account and install this recipe - make sure to note the URL it gives you! You'll need it in a sec.

Deploy

Deploy

If you want to just deploy this to Heroku (the free tier is more than enough for an applcation only you are using), click the button above and enter the two config variables you need:

IFTTT_DROPBOX_URL,       the IFTTT Maker URL you got when creating the above recipe
ALLOWED_INCOMING_NUMBER, the phone number that's allowed to add inbox items (+15555555555)

and then take your new instance's incoming URL (e.g., .herokuapp.com/incoming) and set that in Twilio as the webhook for when the number receives a text message.

That's it! Shoot a text message to your shiny new inbox and make sure it shows up in your Dropbox folder that you set when setting up the IFTTT recipe.

You can, of course, deploy this anywhere you'd want. I just used Heroku because I knew it'd be easy to replicate and it'll run easily on the free tier.

Known Issues

It takes the Heroku instance a little over 15 seconds to awake once it gets some traffic coming its way. Unfortunately, Twilio's incoming message API has a 15-second timeout, so you're going to get an HTTP 11200 error because it'll think the server is unresponsive, and you won't get the "Got it!" message. Any subsequent messages before it falls asleep again will provide the right confirmation message.

The important thing is that your input gets logged, which is still the case.

FAQ

Why didn't you build note-reading functionality?

Honestly, when I'm out-and-about, I never really need to find or read these TODOs or notes, so I just built what I needed. Also, see below.

Wait, why don't you just hook Twilio to IFTTT?

Great question! This started out as an exercise to get some experience with deploying a Clojure application.

While this app is more than is necessary right now, having an explicit backend also allows for further functionality to be built out later (like finding notes).

Contributing

Send me a PR, why not?

Disclaimer

Use at your own risk, I have by no means tested this extensively.

License

org-mode-sms-inbox
Copyright (C) 2016 Daniel Guilak
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].