+ Start a Discussion
akirpalaniakirpalani 

Unsure where to post - Real time exports from SalesForce?

I have a requirement to kick an update in my on-premise system whenever updates are done to certain fields within SalesForce.com. 

 

Basically I need to subscribe to some sort of update in Salesforce and push that update down to my on-premise system in some form or fashion in real-time.

 

I really don't know how to look this up as everything I search for points me to posts about pushing data up to salesforce. Thanks in advance for any help.

 

akirpalani

 

 

Best Answer chosen by Admin (Salesforce Developers) 
NBlasgenNBlasgen

Eh, upgrade to Enterprise Edition, you'll like it better.   PE + API is $300/yr/user more than PE.  EE is maybe another $200/yr/user more than what you have.  You get Campaigns, Workflow (how can someone exist without workflow!), and some nice other features likes field level security.  Also with EE, you can have Partner Portal Accounts (great for 1099 contract workers to gain access to Salesforce for less than the cost of a PE account), Portal Accounts (limited accounts for regular employees), and things like Salesforce Sites, yada yada yada.

 

Otherwise, like someone else had said, you could just query for modified objects every so many minutes and do it that way.  API is limited to 1,000 calls per 24 hours multiplied by the number of full salesforce seats you have.  There is also a 5,000 call minimum level if you have fewer than 5 seats on Salesforce.There are 1,440 minutes in 24 hours so as long as you keep your calls down to like 2 API calls then you're fine.

 

You can track API usage via a standard report in Salesforce.  Search your Reports for "API" and you'll find it.  It's called API Usage Past 7 Days or something.

All Answers

NBlasgenNBlasgen
Check out some Workflow actions.  That's about the best I can come up with.  I think you can have Workflow fire off an Apex script that can ping your server that an update has been made.  Otherwise you can easily have Workflow send an outbound email which can do the same thing depending on your programming skills on your server side.
akirpalaniakirpalani

Unfortunately I am on a special feature set. I have the Professional Edition, but with API access, so no workflow available.

 

Any other ideas? 

Nick34536345Nick34536345
You can use the API to poll salesforce for changes (see getUpdated() and getDeleted() calls). The minumum (useful) interval is 1 minute, which may or may not be real-time enough for you. Also keep an eye on your API call usage.
SuperfellSuperfell
Do you have apex code ? you could do an apex callout from a trigger.
akirpalaniakirpalani

I could write apex code to do that or poll the API, both are good suggestions, will have to discuss with CTO from an architectural standpoint. 

 

A limiting factor for both would be any transmission limits that SalesForce enforces. Is there a good listing of these limits anywhere?

 

Thanks for your continued help. 

NBlasgenNBlasgen
Your outbound call will likely have lots of limits, but that's fine since your outbound call can simply trigger something on your remote system that causes that remote system to make the non-limited API calls.
akirpalaniakirpalani

I mis-spoke earlier, I do NOT have access to apex code, it looks like I'll have to poll or something.

 

It is good to know that API calls are unlimited though...

 

 

NBlasgenNBlasgen

Eh, upgrade to Enterprise Edition, you'll like it better.   PE + API is $300/yr/user more than PE.  EE is maybe another $200/yr/user more than what you have.  You get Campaigns, Workflow (how can someone exist without workflow!), and some nice other features likes field level security.  Also with EE, you can have Partner Portal Accounts (great for 1099 contract workers to gain access to Salesforce for less than the cost of a PE account), Portal Accounts (limited accounts for regular employees), and things like Salesforce Sites, yada yada yada.

 

Otherwise, like someone else had said, you could just query for modified objects every so many minutes and do it that way.  API is limited to 1,000 calls per 24 hours multiplied by the number of full salesforce seats you have.  There is also a 5,000 call minimum level if you have fewer than 5 seats on Salesforce.There are 1,440 minutes in 24 hours so as long as you keep your calls down to like 2 API calls then you're fine.

 

You can track API usage via a standard report in Salesforce.  Search your Reports for "API" and you'll find it.  It's called API Usage Past 7 Days or something.

This was selected as the best answer
akirpalaniakirpalani

Believe me, I'd love to upgrade, however I've been told in no uncertain terms that we will not absorb any additional cost...

 

The other information is spot on however, thank you for that. I'm heading down the polling path now and will see how it goes. Thanks again.

 

 

Message Edited by akirpalani on 02-08-2010 11:55 AM