Archive for August, 2007

My first iPhone app for Salesforce

Thursday, August 16th, 2007

iphone salesforceToday I took a couple hours and wrote my first iPhone app. It lets you search your Salesforce.com Contacts and returns a list with email addresses and phone number. When you click on an email address, your email client pops a new message. When you click on a phone number, you can make a call.

It was super easy to do. Formating a site for the iPhone is no more difficult than web design in general. There are a couple tricks to letting safari know the size of the iphone screen, and Apple’s developer guidelines make that a piece of cake.

The hardest part of the process was learning the Salesforce.com search syntax (SOSL) as I’d never used it before and I couldn’t find an example in AJAX until after I floundered a bit. But in only a couple hours I was able to create something that isn’t ugly and will be useful to us here at ONE/Northwest. Ok, useful to me, as I’m the only one here with an iPhone.

The app is just an S-Control, so to access it I hit the URL, which makes me log in at the normal sf.com login screen and then I get redirected there. The right way to bulid this app is to do it in PHP or .NET and have a nice login screen. But this works fine for me.

If you have an iPhone and Salesforce and want to see more, let me know. Thanks again to everyone who chipped in to get me the iPhone–your investment is starting to pay off!

Active Campaigns

Tuesday, August 14th, 2007

One annoyance with Campaigns in Salesforce.com is that if you don’t mark them as Active, they don’t show up as you would expect them to. So one of the hurdles to using Campaigns is that the first few you create are screwed up from the start. Even experienced users forget to hit the Active checkbox sometimes.

I was just telling a customer that yes, this is annoying, but there isn’t anything we can do about setting a default value on a standard field like Active when it came to me. Use a Workflow rule to mark every new Campaign as Active. Then, if a user really wants to make it inactive, they can, but out of the box all Campaigns will be set up correctly.

This package contains a workflow rule that fires only on new Campaigns that have the Active checkbox unchecked. It then calls a field update and changes the Active checkbox to true.

Simple. Just install the package and active the workflow rule.

Plone forms that create Salesforce data

Thursday, August 9th, 2007

Andrew writes again about his Plone<->Salesforce work his merry band of Seattle Plonistas.

In this installment, Andrew shows how to create Plone web forms that can create multiple Salesforce data objects. He creates one form that takes user-generated content and creates two data objects in Salesforce. There are a few rough edges, but darn this is cool stuff.

If you’re interested in Plone and Salesforce working together, let me know and I’ll put you in touch with Andrew–we’d love some help on this open source project!

Salesforce-Google Small Business Offering?

Monday, August 6th, 2007

At the Salesforce Nonprofit Roadmap Summit we did an exercise where we drew out what the future of Salesforce and nonprofits looked like. My group did a three banded timeline–one band for the development of the nonprofit salesforce community, one for the building of a nonprofit-specific functionality, and one for the progress of the underlying sf.com platform. Ryan captured our report out on video if you’re interested.

In our report out, you’ll hear me predict that sometime in 2008, Salesforce will release their groupware offering. I fully expect Salesforce and Google Apps to be closely integrated in the near future, and was reminded of that today when Google released a new API for Google Docs.

I’m hoping for a Gmail integrated Salesforce that lets you point your Salesforce org to your Google Apps account. Then it would populate your Address book with all your Contacts and Leads. I’d love to see emails that you send drop right into Salesforce. All events would sync to your google calendar.

Files in Docs and Spreadsheets (and soon Presentations) could be tagged with sf.com records, and then be discoverable via sf.com. Google Desktop could even crawl your sf.com database to make the entire database full-text searchable.

There is even the potential, though cookies, to have Google Analytics report back to you directly on what your constituents are looking at on your website, helping you better target their interests.

I think deep integration like this would immediately be more appealing than Microsoft Small Business Server for lots of groups. On Demand, low cost, tightly integrated, and extensible.

I’d love to see something like this in the next year. Anyone else think this would be a compelling offering?

An improved way to do Campaign Call Down reports

Monday, August 6th, 2007

James over at Pipe Lime has a post that shows how to get around the Campaign member reporting problem I posted earlier.

It’s a simple way to set up reports that can be called as custom buttons from each Campaign. It’s a lot like the way we were doing things but it’s better in two key ways:

  1. It identifies the Campaign by Id–I was using the sf.com “sourceid” method for calling Campaigns, which is pretty lame.
  2. It gets around the limitation of not being able to report on inactive Campaigns.

Go over to the post for the step-by-step.

Thanks, James, for the tip!

Some reporting problems not getting fixed this weekend

Thursday, August 2nd, 2007

There are two annoying reporting problems that aren’t getting fixed with the Summer ‘07 release. OK, there are a ton more than two, but these two seem particularly annoying. They’re a drag mostly because they’re denying you access to data that’s already in the system, and by all logic should be available to you.

You can’t run reports on old communications history

If you have multi-year relationships with your constituents, you may want to go back and run reports on Activities that are more than a year old. The problem is that Salesforce.com limits you to running reports on Activities less than a year old. So you can’t effectively use that data that you’ve been entering in all these years. It’s a very hard limitation to explain to a nonprofit user, as it really makes no sense. It’s an example of where the On Demand model can limit you. Salesforce.com has made a decision based on the performance limits of their servers that has nothing to do with how you effectively use your CRM. Please vote to get this limitation removed!

You can’t run member reports on inactive Campaigns

All Campaigns can be Active or Inactive. If a Campaign is Active, Contacts and Leads can be added to it. If a Campaign is Inactive, they can’t, but you also can’t run reports on who was connected to the Campaign. A Campaign may be over, but that doesn’t mean we don’t want to run reports on who attended.

The work around is to leave all Campaigns Active, but then Contacts and Leads could be added to old Campaigns. I vote to separate these two things, making the Active/Inactive distinction relate just to adding people to a Campaign, while letting us report on campaigns no matter their status. You can vote for that too!

If we all vote for these changes, maybe they will happen, and we’ll get better access to our data.

Killer Brick

Thursday, August 2nd, 2007

Just got back from vacation in rural Wisconsin. What a joy to run on rural roads!

Road

And how about this for a morning swim? It’s exactly a mile around the shoreline. And it’s 80 degrees…

Lake

I didn’t have my bike, which was a real drag with the roads the just beckoning, so I ended up swimming every day. It was fun to focus on just two sports.