<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>has_many :thoughts: Voicemail integration with Highrise</title>
    <link>http://blog.kineticweb.com/articles/2008/02/01/voicemail-integration-with-highrise</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Musings from a Ruby on Rails development team</description>
    <item>
      <title>Voicemail integration with Highrise</title>
      <description>&lt;p&gt;I&amp;#8217;ve often had trouble keeping track of my voicemail messages. Even though they get emailed to me, the emails don&amp;#8217;t have any info about who the messages are from and I have no way of keeping track of if I&amp;#8217;ve responded or if there&amp;#8217;s an action item.&lt;/p&gt;


	&lt;p&gt;So I wrote a simple little Rails app to help me integrate my voicemail message into Highrise, the 37signals product which I&amp;#8217;ve been trying, and liking, in recent weeks. Their provided &lt;span class="caps"&gt;REST&lt;/span&gt; web service &lt;span class="caps"&gt;API&lt;/span&gt; and accompanying Ruby wrapper made the whole thing way too easy. I have two models:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Person&lt;/li&gt;
		&lt;li&gt;Voicemail&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;The Person model holds a cached list of the names and Highrise ID&amp;#8217;s of the people in my Highrise account. I can update this through a simple link in the app anytime I need.&lt;/p&gt;


	&lt;p&gt;The voicemails get into the app by a simple little &amp;#8220;pipe to program&amp;#8221; I added on the mail server. Something like this:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;curl -u username:password --data-binary @- http://address.of.app/import&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;When an email message is received at the voicemail alias, the entire email is POSTed to the address above where it&amp;#8217;s consumed with a tiny controller action like like:&lt;/p&gt;


&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;Voicemail.import(request.raw_post)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

	&lt;p&gt;The &amp;#8216;import&amp;#8217; class method simply uses TMail to parse the message, pull off the attached &lt;span class="caps"&gt;WAV&lt;/span&gt; file, save it to the file system, and create a new Voicemail record.&lt;/p&gt;


	&lt;p&gt;The rest of the interface is simple &lt;span class="caps"&gt;CRUD&lt;/span&gt; stuff: A list of new voicemails that have come in with a link to delete and a link to save for each one. When I &amp;#8216;save&amp;#8217; it, I choose a Person from a drop down of all my Highrise contacts and enter a very short 1 line description of what they called about. A note is instantly posted to the Person&amp;#8217;s Highrise history with the time of the voicemail, the 1-line description, and a link to listen to the voicemail. If 37signals provided file upload capability through the &lt;span class="caps"&gt;API&lt;/span&gt;, I might just upload the file to Highrise. Or I might not since the &lt;span class="caps"&gt;WAV&lt;/span&gt;&amp;#8217;s would eat up my storage space.&lt;/p&gt;


	&lt;p&gt;I hope to expand this a bit in the near future with a nice interface&amp;#8212;perhaps autocomplete instead of a drop down for choosing the Person. And I think I&amp;#8217;ll add a way to optionally create a Task in Highrise related to the Note. It would be nice if Highrise color-coded the categories applied to tasks; that way, I could categorize all the voicemail follow-up tasks and color code them so they stood out in my task list. I&amp;#8217;ll have to submit that as a feature request.&lt;/p&gt;


	&lt;h2&gt;Update&lt;/h2&gt;


	&lt;p&gt;Here&amp;#8217;s a screenshot, per Jason&amp;#8217;s request. Click for a full sized version. As you can see, the interface is very modest.
&lt;a href="http://blog.kineticweb.com/files/voicemails_screenshot.png"&gt;&lt;img src="http://blog.kineticweb.com/files/voicemails_screenshot_sm.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;


Since the original posting, I changed a couple things:
	&lt;ul&gt;
	&lt;li&gt;I&amp;#8217;ve linked the person&amp;#8217;s name to their Highrise page&lt;/li&gt;
		&lt;li&gt;The little note icon on the left takes you to the note in Highrise that was created for this voicemail&lt;/li&gt;
	&lt;/ul&gt;</description>
      <pubDate>Fri, 01 Feb 2008 07:23:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:2820418f-8e1b-4e95-b021-a101549ef745</guid>
      <author>Colin A. Bartlett</author>
      <link>http://blog.kineticweb.com/articles/2008/02/01/voicemail-integration-with-highrise</link>
      <category>Rails</category>
      <category>highrise</category>
      <category>37signals</category>
    </item>
    <item>
      <title>"Voicemail integration with Highrise" by JR Johnson</title>
      <description>This is a very cool concept.  I have a website that requires frequent contact with Public Works agencies across the US.  In the administration side of this site, there is already a detailed contact area that we actively maintain for accuracy, and a 'contact history' section where notes are made to provide a brief glimpse to any employee what has transpired.  These notes are manually entered for the most part.  There is no connection between this database and email.  How far can the Highrise be integrated or pushed in your estimation?  Could it be integrated into one's own backend to utilize it's dropbox feature?

FYI:  I'm less developer and more project manager and entrepreneur.

Thank you for any feedback or thoughts.</description>
      <pubDate>Wed, 20 Feb 2008 03:05:31 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:0748c9dc-0ff5-4375-b30b-aa0d98fcb4c4</guid>
      <link>http://blog.kineticweb.com/articles/2008/02/01/voicemail-integration-with-highrise#comment-236</link>
    </item>
    <item>
      <title>"Voicemail integration with Highrise" by Jason Fried</title>
      <description>Very cool guys! Can you post a screenshot or two of this in action? Thanks.</description>
      <pubDate>Fri, 01 Feb 2008 12:39:20 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:ce02071c-9e6c-44b4-b2eb-e1be155e4a7c</guid>
      <link>http://blog.kineticweb.com/articles/2008/02/01/voicemail-integration-with-highrise#comment-208</link>
    </item>
  </channel>
</rss>
