Automating Twitter

By Benjamin Waldie, Macworld.com |  Internet, Twitter Add a new comment

Jason Snell recently explained how to use Applescript to automate the popular Twitter client Twitterific. But, with the help of some simple shell scripting, you can also send quick status updates directly to Twitter from within an Automator workflow.

Start by launching Automator and creating a new custom, blank workflow. In the Utilities category of the actions list, you'll find the Run Shell Script action. Drag it to your workflow and enter the following script into the action's text area:

curl -u yourUserName:yourPassword -d status="Tweeting from Automator's 'Run Shell Script' action!" 'http://twitter.com/statuses/update.xml'

This script uses the command-line utility curl to send a status update to Twitter. Be sure to replace 'yourUserName' and 'yourPassword' in the script with your actual Twitter username and password, and to use your own custom status message. (Don't forget to keep it to 140 characters or less!) Once you're finished, just run the workflow to post the message.

You can pass a message to the Run Shell Script action as input. (Again, keep it short.) To do this, insert an Ask for Text action before the Run Shell Script action. Adjust the Run Shell Script action's text area so it reads:

curl -u yourUserName:yourPassword -d status="$@" 'http://twitter.com/statuses/update.xml'

Adjust the first field in the Ask for Text action to whatever you want. (I use, "What are you doing?") In the Run Shell Script action, set the Pass Input drop-down to As Arguments and insert your own username and password in the script. When you run it, this workflow will now prompt you for a status update, which it will then post to Twitter.

You can insert any action that results in text before this modified Run Shell Script action. For example, you could create a workflow that uses the Find People with Birthdays and Get Contact Information actions to send out birthday greetings to friends on Twitter. You could even save a workflow like this as an iCal alarm plug-in, to be run automatically on a daily schedule.

You can also pass multiple text messages to the Run Shell Script action. To do so, change the shell script to:

for f in "$@"
do
curl -u yourUserName:yourPassword -d status="$f" 'http://twitter.com/statuses/update.xml'
done

That will loop through all the text input messages and pass them along to Twitter individually. And this is just the beginning of what you can do with curl and Twitter. For a complete list of supported commands, including usage examples, visit the Twitter API documentation wiki.

[Ben Waldie (@applescriptguru on Twitter) is author of Automator for Mac OS X 10.5 Leopard: Visual QuickStart Guide (Peachpit Press, 2008), president of Automated Workflows, and developer of the Twitter Automator Action Pack.]

ITworld LIVE

InternetWhite Papers & Webcasts

White Paper

Smarter Commerce is redefining value chain visibility

Smarter Commerce is redefining the value chain in the age of the customer. It starts with putting the customer at the center of your operations - which of itself is not a new idea - however, truly operationalizing this strategy is not easy.

White Paper

IBM Synchronizes its Commerce 2.0 Strategy with 'Smarter Commerce' Initiative

On March 14, IBM announced "Smarter Commerce", a strategic initiative that addresses the surging market for Commerce 2.0 solutions that take advantage of the convergence of a number of disruptive software and hardware technologies.

See more White Papers | Webcasts

Ask a question

Ask a Question