Sunday, May 04, 2008

How to get your Google Talk status into Twitter

If you're following me on Twitter, you've probably read some of my tweets where my Google Talk status messages have been posted. No, I don't sit and manually do this, although that's probably the way to go for the faint of heart.

Perhaps I was feeling too adventurous, so I took this complex road to get my Google Talk status lines into Twitter.

You'll need:

First, go to FriendFeed and add your Google Talk to it (Share something » Import » Gmail/Google Talk). This will make FriendFeed track and include your Google Talk status updates in it's feed.

Now comes the most complex set of steps. To sum them up, we're going to use Yahoo! Pipes to go through your FriendFeed RSS, pull out the Google Talk status messages and pump them out as RSS again. If you haven't used Yahoo! Pipes before, I'd recommend you go through this tutorial video.

Sign in to Yahoo! Pipes using your Yahoo! account, obviously. Click on the link to create a new pipe.

Add the 'Fetch Feed' source module. In the text box, enter your FriendFeed RSS feed URL, for eg.: http://friendfeed.com/aalaap?format=atom (yeah I chose ATOM but I'll still call it RSS for sake of simplicity). A 'Pipe Output' module will be created automatically. You'll use this in the last step (of Yahoo! Pipes config).

Add a 'Filter' module. Set it to 'Permit' items that match 'all' of the following and in the rules boxes, set 'item.title', 'Contains', 'Gmail/Google Talk'. Then pull the blue ball from bottom the previous ('Fetch Feed') module and attach it to the top of this ('Filter') module. It will join them with a pipe.

Add a 'Rename' module and set the fields 'item.content' 'item.title' to 'Copy as' 'title'. Pull a pipe out from 'Filter' and plug it into 'Rename'.

Add a 'RegEx' module. Sweet. Set the source field as 'item.title' and then put this regular expression in: (.*)“(.*)”(.*) (just copy paste it) and finally put a '$2' in the 'with' field. Don't tick any of those g/s/m/i check boxes - you won't need them. Pull a pipe from 'Rename' and plug it into 'RegEx'.

Finally, take the pipe out from 'RegEx' and put it into 'Pipe Output'.

Save the pipe. Give it whatever name you want - mine is fancily titled 'FriendFeed Google Talk Status Extractor'.

Publish this pipe by clicking on the 'Publish' link. After that, click on 'More Options' and find on the first one - 'Get pipe as RSS' - but don't click it. Right click it and copy the link. Keep this link in a Notepad document or something. This concludes the complicated Yahoo! Pipes set of steps. Now, we shall feed this to Twitter.

Head to TwitterFeed and login using your OpenID. If you don't have one, get one from MyOpenID or enable your Blogger blog or Yahoo! account (both of which you should already have) into an OpenID.

Click on the link to go to your feeds or create a new feed. On the following page, click on another 'Create a new feed' link.

Put your Twitter account username/password in there and test authentication to be sure it works.

Put the pipe RSS feed link that you had copied (and pasted in Notepad) earlier into the 'RSS Feed URL' box. Test it, to be sure.

Set the Update Frequency to 'Every 30 minutes'. That's the lowest it goes and that's alright for most of us. If you change your Google Talk statuses every couple of days or so, you can even set it to higher. If you change your status every ten minutes, I'm sorry, you're outta luck! Also, set it to post just one update each time.

Set it to include the title only and do NOT include the link, or it will keep tweeting the URL to the Google Talk homepage.

Click on 'Active' and press the 'Create' button to start it.

This is it. You're done. Now enjoy your Twitter followers' shock and awe as your Google Talk status messages get pumped (piped? fed?) into Twitter automagically.

I told you this was lengthy and complicated. Don't blame me.

I will put screenshots in this guide later.

15 comments:

! Lakshman Prasad said...

Well written post and a good adventure!

Manan said...

hmmmm ... just wondering wouldn't it be simpler to just type your gtalk status on twitter :P just kidding, a well written guide. Thank you for it.

Raj said...

I want to do the opposite! :)

I can update twitter from my phone and it even updates my Facebook status. I want my Gtalk status to get updated with it too! Is there a way to accomplish that?

Mohammed anuz said...

Interesting, I have always been thinking of doing this the other way.Like your google status should get updated according to your tweets.
Is that possible?

Greg Beck said...

Good idea. If you post Twitter updates to Friendfeed, you'd have duplicate entries though, right? One status update from gtalk, and a corresponding one from Twitter?

David Boyle said...

I had no idea what Yahoo! Pipes was until I read your post, but I just got this all working in less than 20 mins. THANKS so much!! Great post.

hackerashwin said...

Awesome Guide! And I found this from google.Was searching how YOU do it :p
Didn't knew its your find. Pretty Cool!

Aalaap said...

@hackerashwin:
it is not my find... it is my CREATION!

Lud said...

Great guide indeed!

It may be a complicated way to do it but I like it, since all the interim byproducts are extremely useful (at least to me).

One word of caution though: I had a hard time trying to make it work with new lines (since regular expressions are not really my thing). However, it can be easily done by selecting the "s" switch in the RegEx module, in which case (.*) selects also new lines. Just thought it might be useful for others trying the same thing.

Thanks again!

Matthew said...

This is a great post! It helped me finally patch together my Google Talk and my Twitter. I know I'm late in commenting, but I thought I'd let you know you can skip the Yahoo! Pipes part altogether, and just use FriendFeed's API for the twitterfeed. For twitterfeed's RSS URL, use:

http://friendfeed.com/api/feed/user/USERNAME?format=rss

... where USERNAME is your FriendFeed username. This is easier, and necessary actually, since twitterfeed is currently having problems access feeds generated by Yahoo! Pipes.

Cheers!

geeksrik said...

awesome analysis! good writing and finally i hope i made it. keep up the good work my dear friend! :)

geeksrik said...

ok i did what you said, but i dont find my gtalk status messages going onto twitter in any way. can you help? also the contact i added to my gtalk is always offline.

Ideasmith said...

I finally got around to this and it works!! The only thing is that (like geeksrik), Twitter picks up Gtalk updates but not vice versa. Is there a way it can work both ways?

pindsvin said...

A great guide! Thx. One tiny problem: Because my Tweets are also running into Friendfeed, I end up in a spiral. Gtalk notices pushed forward to Twitter with the addition "(via Gmail/Google Talk)" are posted in my friendfeed and via the pipeline posted to Twitter, pushing it into Friendfeed, posting it once more ....

Is there a solution? Cutting of the addition "(via Gmail/Google Talk)" in Yahoo Pipelines???

grtz
pindsvin

Eric said...

For everyone fortunate enough to stumble all the way down to the bottom and read this - FriendFeed now does this all.

Simply pull in the Google Talk Status and apply the post to Twitter option. You can also post TO Twitter form many other places.