A neat trick Engagement Organizations can do

Here’s a neat trick that Engagement Organizations can do: because they have solid, integrated website and database systems, they can quickly identify contact records that have missing information, then send out an email blast like this one I just got from Dogwood Initiative:

Contact update email from Dogwood Initiative

As you can see, the email includes a personalized URL that takes me directly to a page on the Dogwood website that displays my current contact info from Dogwood’s database, and lets me update it with a single click.  The information feeds back directly into the database–no data entry or cumbersome import processes are required, so it’s fast and easy both for me and for the Dogwood team.

Dogwood contact update web page

Dogwood sends an email like this a couple of times per year.  In just a few seconds, their members are able to easily update their contact information.  Dogwood reaps the benefits of an up-to-date supporter list and its supporters get the most relevant, personalized information possible.  That sounds like a great deal to me!

We’re hiring (again!) at Groundwire

We’ve got two open positions at Groundwire right now: one for a CRM database consultant and one for a manager for our “Groundwire Labs” innovation program.  Both are incredible opportunities for a creative, entrepreneurial social change technologist who wants to join one of the most accomplished teams in the nonprofit sector.

I’ve been here for nearly 14 years, so I’m happy to field any questions if you’re thinking about applying!

CRM Consultant

We need an experienced CRM Consultant to build customized databases that transform the effectiveness of the environmental movement. Our ideal candidate brings to the table client-facing consulting experience, project management experience, and a technical understanding of database design & development.

Read the job description and apply online

Groundwire Labs Manager

We are now looking for someone to run Groundwire Labs. As the Groundwire Labs Manager, you’ll lead Groundwire’s R&D investments and define the cutting edge of how we use technology to help organizations to do a better job of engaging their communities. It’s all with an eye to our mission of building a sustainable society.

Read the job description and apply online

Groundwire is seeking a kick-ass CRM consultant

Groundwire’s Salesforce CRM consulting practice continues to grow explosively, and we’re again looking to hire a smart, passionate CRM consultant to build engagement and organizing databases for our environmental movement client organizations.  This is a great opportunity to work at the cutting edge of nonprofit technology and to be part of a tight-knit, collaborative team.

Full details at:


If this is you — please apply!  If you know someone that fits, please pass this along!

ONE/Northwest Is Hiring a Database Consultant

Our database consulting practice here at ONE/Northwest is continuing to boom.  We’re looking to add another database consultant to our team here in Seattle:


Come help us build next generation relationship management systems for kick-ass environmental groups!

Steve Andersen and the Future of Salesforce for Nonprofits

My colleague Steve Andersen just got back from Salesforce’s Nonprofit Roadmap Summit, upon which he reported back favorably.

But, ever the modest one, Steve neglected to mention that there was a nice little video of him reporting out from a brainstorming session on the future of Salesforce’s nonprofit CRM platform. 

I’m fortunate to get to see Steve in action every day.  But for those of you who don’t, this will have to do. 🙂

ONE/Northwest Will Soon Be Hiring

We’re swamped with demand for database consulting work.  So much so that we’ve decided to expand the team here at ONE/Northwest.  My colleague Steve Andersen, our Database Program Manager, has the scoop:

I’m not so much looking for someone to work for me, but with me. I want these kinds of skills to help us build our program beyond the 10 implementations we’ve done to date.
We’re going to be very focused on meeting the needs of the small
environmental groups as well and looking at sharing data between
groups, as well as sharing data up to coalition efforts. The voter file
is an interesting data set that we’ll be working with extensively this
year. We’re doing some cutting edge work, things Salesforce.com hasn’t
ever done before. It’s really fun.

ONE/Northwest is a great place to work. Salesforce.com is an amazing
platform to work on. The Northwest (and Southwest Canadian)
environmental movement is a movement that is winning and making change.
And because Salesforce.com is web-based, I’m happy to consider remote
office arrangements. The only drawback to all of this is you would have
to work with me. Drop me a line if you want to chat: steve at onenw.org.

We’ll have an official job announcement out soon, but consider this early notice.

Donor Management Process Mapping

One of the best things about working at ONE/Northwest is the fact that I get to sit across the room from brilliant people like Steve Andersen. Over the past few months, Steve has been doing some amazing work helping our small- to mid-sized environmental organization partners build effective relationship management systems.

One of the deep pieces of wisdom Steve brings to the table is the insight that successful database projects aren’t actually about technology — they’re about helping groups understand their business processes. And Steve has developed some amazing techniques for helping groups make process maps of their relationship management processes.

They look something like this:

Why is this helpful? Well, until a group really understands what they’re trying to do, it’s impossible to give them the right tools to support it.

Steve has finally started to write up some of the results of this work.
The first two maps he shares show how a group we work with work with donors to get them to the point of being ready to ask for money, then how they go about actually executing that ask.

As former ONE/Northwester Dean Ericksen commented on the Salesforce Nonprofit email list, “In a world of nerd-wonkery, this is high-art.”

Great stuff. I can’t wait for Steve to unroll the next couple of installments.

NTEN Open API Summary

NTEN recently published a solid little paper by Michelle Murrain and Katrin Verclas that sums up the state of open APIs in the nonprofit CRM sector.  It’s an important read if you believe in the importance of integrating tools.

There’s a lot of good stuff in this short paper, and I particularly appreciate that they make a clear distinction between “same machine” or “internal” APIs, which are only accessible to programs written in the same language running on the same machine, and web services or “externally accessible” APIs that can be used by any program, written in any language, running anywhere. 

CRM News: CRM Systems: The Salesforce Train Keeps Rolling

The Salesforce Train Keeps Rolling has a nice observation about why Salesforce is so darn interesting. (Emphasis mine.)

Salesforce has developed a full function business software utility, and with it an economy or ecosystem of builders, buyers, and sellers that spans the planet. Good for them, but now the hard part starts.Up to now, the market and Salesforce have been focused on replacing the tired infrastructure that supported building and buying software licenses. With that out of the way, much more attention will need to be focused on leveraging software to do better business.

The next big challenge that I see involves business process management. Software had been a limiting factor for many business processes, in part because the process and practices were inextricably tied together. In the future, process and practice will be separate and a door will open for a different kind of IT or business consulting.

It is now time for software companies to change focus to take advantage of the new opportunities.


SalesforceConnector For Plone Released

We cut a “0.9 Alpha” release of the SalesforceConnector for Plone today, just in the nick of time to demo it at Dreamforce.

Thanks to the generous support of the Salesforce Foundation, we were able to work with our friends at Enfold Systems to build a product for Plone that allows you to:

  • Authenticate Plone users against data stored in Salesforce.com
  • Store new Plone users in Salesforce.com
  • Access user profile data stored in Salesforce.com

SalesforceConnector does this by taking advantage of Salesforce.com’s powerful web services API, which allows external applications to easily access and maniuplate Salesforce data.  We also used Simon Fell’s product “Beatbox” which provides a Python wrapper for the Salesforce API.

SalesforceConnector still has a few issues that we intend to resolve before cutting a 1.0 release in late October, but it is suitable for testing and experimentation.  It uses a lot of leading-edge Plone technology including PlonePAS, formlib and Zope3 views, so be sure to brush up on these before diving in. 😉

Update on Plone-Salesforce Integration

Loyal readers (assuming I have any) will doubtless recall that one of our projects this summer at ONE/Northwest has been building a product to connect websites powered by the Plone content management with user databases stored in Salesforce.com.

I’m pleased to announce that Andrew, Steve and I have just finished our initial testing and review of the alpha version of “SalesforceConnector” have found it to be pretty darn good. Or at least it works, which is pretty darn good in my book.

We should have a beta release to share with you in mid-September. We’ve still got some unit tests to write, some documentation to re-write, and various bits of packaging and housekeeping to attend to. We also want to make sure we understand the Zope 3 subsystems that the product uses well enough to answer in the inevitable questions about customization.

Bottom line: it’s close, and we’re even running ahead of schedule. Stay tuned. We will announce the beta widely on plone.org and on the plone-users email list.
Some initial detials:

  • You’ll need Plone 2.5 or higher and Zope 2.9.3 or higher. (Update: Thanks to some helpful advice from Rocky Burt, Nate Aune, and Josh LaPlace, we now believe that Plone 2.1.3+, Zope 2.9.3+, and Five 1.4.1+ should also work, but we haven’t yet tested this configuration.)
  • You’ll need Salesforce.com Enterprise Edition (because that’s the lowest product tier that offers the Web Services API) or a Developer account.
  • SalesforceConnector will let you:
    • Store new Plone users directly in Salesforce.com
    • Update user data in Salesforce from Plone
    • Log in Plone users in by consulting data stored in Salesforce.com
    • Look up user data stored in Salesforce.com from Plone
    • Collect any custom user data fields in Plone and store them in Salesforce.com

Good stuff, eh? I’m pretty excited about the possibilities this is going to unleash.

We’ve been able to do this work thanks to a grant from the Salesforce.com Foundation and are fortunate to be working with our partners at Enfold Systems who have done most of the heavy technical lifting. Many thanks to both of them.

If you can think of a better name for it than “SalesforceConnector”, please let me know. Releasing software is hard; good names are even harder.

Some Observations on Nonprofit Software

My colleague Steve Andersen recently penned a short article entitled “Some Observations on Nonprofit Software” that lays out a few of the core assumptions we hold about how software tools for the nonprofit sector can and should play nice together.

The core of the argument goes like this:

  • Missions are serviced only by engaging constituents to action
  • Engagement activities aren’t unique to nonprofits, so the tools aren’t either
  • The best way to build software for nonprofits is to find tools that successfully addresses most of your needs and then add the nonprofit-specific functionality
  • Software targeted at a larger market than nonprofits will improve faster than software specifically for the nonprofit market
  • Software that has open Application Programming Interfaces makes the “build-on-top” model work
  • There is a market for nonprofit-specific software that serves a defined function and is accessible via robust APIs

Go read the whole thing.

(The article supports comments, so you can leave them there if you like)

Integrating Plone and Salesforce.com

As my colleague Steve Andersen also reports, ONE/Northwest has received a $25,000 grant from the Salesforce.com Foundation to fund the integration of Plone with Salesforce.com. This will allow folks with Plone-powered websites to share data about people, organizations, etc. with the Salesforce.com database platform. You can read more details on the ONE/Northwest website.

As you might expect, we’re all pretty excited. Plone and Salesforce.com are both industrial strength, easy-to-use applications with incredibly strong communities behind them and bright futures ahead. Both are widely used in the nonprofit sector — and beyond. And both have deeply embedded assumptions about the importance of “playing nice” with other applications, which is what makes this kind of across-the-internet integraion possible.

Our current plan is for an October final release, with several interim milestones along the way. We’ll be working with Enfold Systems, who are top-tier Plone consultants (and friends), to make sure the code is written right.

We haven’t yet set up any kind of collaboration space for the project (since it just became really real yesterday!), but if you’re interested in participating or in tracking it closely, leave a comment below and we’ll be in touch soon.

Single Stacks, or Network-Centric Web Services?

Reading Zack Rosen’s assertion that building applications inside Drupal-the-framework makes more sense than loose integration of complementary applications triggered some thinking that’s been rattling around in my head for a while.

I think that the next few years are going to bring tremendous challenges for applications that do not easily communicate with other applications that are “outside their platform” i.e are written using a different language/framework, run on a different server, etc.

I think the most powerful path forward over the long haul is internet-based integration between great applications that were designed from the ground up to allow for it. 
In other words, web services APIs are going to become increasingly more important, and the particular application frameworks less so.  This the “small pieces, loosely joined” model, to echo the phrase that others have appropriated from Dave Weinberger’s influential book.
There are some great communities and significant resources behind very cool projects that provide great functionality that I really want to be able to tap. I don’t want to have either persuade them all to develop in a single platform (it’s just not going to happen) or try to duplicate all of their functions in whatever platform I’m most comfortable in. (Which, truth be told, is “none of them.”)

My colleagues here at ONE/Northwest and I would much rather focus on integrating best-of-breed applications that have strong web services APIs and are designed around the assumption that external applications are first-class citizens of their ecosystems. (Damn, that’s a lot of buzzwords.)

At the end of the day, why should I have to care if an application is based on Python, Zope, PHP, Rails, Django, or some technology I’ve never heard of? Why should I have to run all my applications off a single server? That’s not scalable. We now have a whole set of standards and technologies to let applications communicate with each other over the internet.

“Web services” is one of those complex, slippery terms that means lots of different things to lots of different people. To me, in this context, it means applications that share data with other applications over the internet. The more of your application’s guts it can expose to the outside world, the more powerful your web services API.

Some applications that I think are really moving in the right direction with web services support are:

  • Democracy In Action — powerful API, alas, not yet well documented. Little known fact: the smart guys at Enfold Systems have releaesd a Python wrapper for the Democracy in Action API, which (supposedly) makes integration with Plone possible. Haven’t tried it yet myself. But I’m looking forward to it.
  • Salesforce.com. Holy cow, these folks really get it. I’ve heard that half of their traffic is through their web services API. This is how a relationship management database should be — accessible by most any external application.
  • WhatCounts. These guys do our email blasting. Lots of folks do email blasting, some probably just as well as WhatCounts. But what sets WhatCounts apart from the pack fo us is the fact that they have strong APIs. This lets us do cool stuff like pull in names from Salesforce, or inject new subscribers from Plone, or pull in content from a Plone site. (Well, technically pulling in content from the outside doesn’t use their web services API. But the point is that WhatCounts can pull in data from outside and let other apps push data in.)
  • Another, less strictly “web services” example is Plone’s new PlonePAS framework. Basically, it’s a framework for authenticating users and retrieving user data from any old data source you’d care to write a plugin for. We’re going to try to use it to integrate Salesforce.com and Plone.
  • The whole open-source GIS software ecosystem, most especially including MapServer. My next-door neighbor, Chris Davis of CommEn Space, has shown me some really mindblowing stuff with maps that dynamically draw in data from all over the internet, thanks to open data standards and web services.

Can you see an advocacy software ecosystem here yet? I can.

And let’s not forget all the “Web 2.0” applications out there that are getting so much hype these days. One important thing about the most exciting of these tools such as Flickr and Del.icio.us is that they can be written to and read from by outside applications via web services APIs.  (Amazon has done amazing stuff here, too, albeit without getting much “Web 2.0” credit for it.)
This is where it starts to get cool. The days of monolithic application stacks that try to do everything are fading fast. A new “network-centric” software ecosystem is starting to bloom.

And the best part: nobody has to “deeply partner” or adopt a single platform to make it work. They just have to focus on building great web services APIs so that other applications can meet them halfway. That’s not easy, but it’s surely easier than getting everyone to adopt the same platform.

Some software tools that I really hope build strong web services APIs as they roll out their next releases include:

  • Green Media Toolshed
  • CiviCRM (their web services API work seems to have stalled out in favor work on a PHP API that only talks to a PHP application (like Drupal) installed on the same server. Hopefully their focus will soon return to playing with the outside world, too.)
  • Custard Melt
  • Advokit
  • All of those nonprofit online donation tools that I am too tired to list right now. You know who you are.
  • And, yes, Drupal, too. 😉

I’m probably overlooking some other apps that ought to be listed here. Feel free to suggest them. It’s late.

New voter databases should open opportunity for grassroots activist groups

As the Seattle PI reports, Washington State is about to launch its new, federally-mandated, statewide voter registration file. This is good news for grassroots activist groups who might want to “enhance” their membership databases with information from voter registration files in order to do a better job of encouraging their members to get out and vote.

The creation of uniform statewide voter registration files is one of the few bits of good news to come out of the Help America Vote Act (HAVA), which otherwise seemed to be mainly about helping Republicans steal elections by funding inseucre electronic voting machines for many states. (But that’s another story, I suppose.)

I’m hopeful that these new voter files will make it far easier and cheaper for lots of different groups to use voter file information. For example, imagine being able to enter a person into your membership database, and immediately learn whether or not that person is a frequent voter — so you can figure out whether it is worth the time and effort to phonebank them at election time.

I’m also hopeful that this development will help break the strangehold that a few private data companies have managed to establish on statewide voter file information, which previously had to be patched together from a mishmash of often-low-quality county records.

The Great Database Caper

Amanda “Bee” Hickman offers a great little rant titled The Great Database Caper:

>There are great databases geared towards non-profit, membership organizations, but there is a catch: most non-profits use their databases (and their members) primarily to raise funds. Organizations that prioritize member engagement want to use their database to look at members as more than deep pockets and eventually they’ll hit a wall using a fundraising database to do that. And most non-profit membership database packages are essentially fundraising databases. There are some great examples of organizing databases out there, but not one of them is perfect.

Perhaps even more interesting than Amanda’s sharp insights is the nonprofit database coders’ pile-on in the comments.

Steve on CRM, databases and how ONE/Northwest makes platform choices

My colleague Steve Andersen, who started at ONE/Northwest back in July as our Database Program Manager, has been blogging about the process he’s used to evaluate database/CRM platforms and to make the decision to focus our consulting practice on the Salesforce.com platform.

Well worth a read. I was a part of the decisionmaking process, and I still learned a ton from reading Steve’s writeups.