dotproject and Salesforce hookin’ up
Last Updated on Thursday, 22 June 2006 05:13 Written by Steve Thursday, 22 June 2006 05:13
I have continued to work on the dotproject and Salesforce.com integration I talked about earlier. Here’s what I have now:
- Salesforce is the truth for Accounts and Contacts
- dotproject is the truth for project information
- Accounts are created in Salesforce.com and pushed to dotproject
- Projects (and Tasks and Tasklogs) are created in dotproject and pushed to Salesforce.com
Main benefits of doing this:
- We want one source of truth for CRM data, and Salesforce.com is where we want that data. Now we have that.
- We have two years of project and time tracking data in dotproject, and we want to continue using it for project tracking
- My power users can now do cool reports and dashboards on our project and tasklog data
The nuts and bolts
When an Account is created in Salesforce.com, it has a link for creating a dotproject Company:
If you follow that, you land on the Company add form, with basic data filled in for you, including the Salesforce.com Account id.
You save the Company and it’s linked to the Salesforce.com Account and vice versa.
I then have a nightly batch that pulls Projects, Tasks, and Task logs into Salesforce.com via the webservices API and the PHP toolkit. All projects and task logs are available as related lists on the Account. Here is a list of projects for a Salesforce.com Account, with a lot of summary numbers I calculate when I pull the projects over:

We’re now in a position to use Salesforce.com as the UI for navigating to all Accounts and Projects. We are essentially deep linking to dotproject projects, and not really using the dotproject UI for a lot of our navigation. This is great because the Salesforce.com search functionality and recent items list is a much better UI for digging through CRM data.
Oh, and it took me 2 mintues to add a Web Tab for dotproject’s Timecard, so we can add time without “leaving” Salesforce.com.

I’m pretty excited about this integration. It’s not super complicated but it’s going to radically simplify our lives, and hopefully allow us to be more efficient. We’re utilizing the individual strengths of two tools with different core competencies. Thats what we shoot for in our consulting work, so it feels good to implement that strategy in our back office work.
Thanks again to the folks who made dotproject what it is, and to the Salesforce.com Foundation for the donation!


Core dotProject contributor here…
Hey, this looks pretty cool. I’ve been waiting to see who else would do something similar in this space. How do you handle the changes in the codebases and such?
And yes, I am a bit of a competitor. My team and I built the Domino Bridge – http://blogs.caseysoftware.com/?q=node/167 – to do the same thing with SugarCRM. I think the main difference between your and our implementation is that 1) the Domino Bridge happens in realtime, 2) you can use either interface and things stay sync’d, and 3) we had to add a bit of code to each of the systems. Luckily it was only 4 lines!
I think the main difference between my code and to domino bridge is that mine is totally hacked together and your’s actually works. My goal wasn’t to make a great integration but get it close enough to give us the benefit of one place of truth, and the functionality available in both systems. I have a bunch of ideas for how to make it better, more real-time, and easier to maintain as codebases change, but since it’s an internal project that probably won’t happen as it doesn’t pay the rent.
You should look (if you haven’t yet) at how hard it would be to make the domino bridge work between dotproject and Salesforce.com. The Salesforce.com API is great and there’s a PHP toolkit which makes it really easy to work with it in PHP. Let me know if you need a beta tester…
Steve, it’s great to see you hack together things that I would otherwise think were really complex. I’m really buying the power of 80% solutions.
Steve,
Thanks for the note, I will make a point of looking at the SF API. Quick question though… what made you choose SF over the other CRM systems out there? I’m not being critical, just wondering.
Thanks,
Keith
I have written up my thoughts on platform selection–check it out if you’re interested. One key part of the equation is that sf.com is donated to nonprofits, so the combination of quality and price was hard to beat.
One thing about sf.com that will hamper you building a domino-type bridge is that you can’t invoke events on add/edit/delete of sf.com records. They’re going to add that functionality (hopefully this year) but that greatly limits the tightness of the integration you can do right now.
[...] Now we’re in Salesforce.com. All our funder records are in Salesforce.com. All our projects are available in Salesforce.com via an integration with our project management system. So we took a look at the problem again and spent an hour talking it through in detail. [...]
[...] I wrote earlier about our integration between Salesforce.com with dotproject, an open-source project management application. Well, after 3 years of using dotproject the integration is no longer. I’ve rewritten the dotproject functionality that we were using directly into Salesforce.com. [...]