function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion

Web Forms that insert/update Lead and Contact records

I posed the following question awhile back on thread but I don't recall seeing a response.

One problem with this is that Web2Lead only inserts new records and only for Leads. So, in the first case, you'll get duplicate Leads everytime a person submits a form. Second, I don't see functionality for updating or inserting a Contact record.

So my question for SF would be: is it advisable to use the AppExchange API to do insert/updates to Lead and Contact objects everytime a web form on a web site form is completed. This would require a separate login/merge/logout API transaction for every form which might number in the 100s or 1000s per day. Or is it recommended that the best way is do synchronization of SF with web form-collected data on a scheduled basis (30 mins or hourly, etc.) and how tight a frequency is acceptable.

If someone wants to allow Leads or Contacts to change some of their fields in a self-service way, what's the best practice?

Thx for any guidance.

No input? No input from a moderator? Is this really not that relevant a question? Or is there no good answer?
Web to lead currently doesn't support updating existing leads, and contacts don't have a Web to Contact form. There's several ways to do this, really. First, if you don't have the time or resources to do it yourself, you can go to a partner product like, provided by Model Metrics, that can capture leads, contacts, accounts, contracts, or even custom objects. I haven't tried it myself, so I can't vouch for its capabilities. Also, I'm certain that they are not the only ones to have created this type of solution, so you should probably browse the AppExchange.

If you do want to do it yourself, you can use any of the available toolkits (eg. .NET, PHP, Perl, Ruby, or any other web-enabled language) or plug in a WSDL into your favorite language IDE that supports Web Services, and connect that way. A typical setup has a local database that runs on the web server and pushes new and updated records on a timer, like every five minutes. Errors can be logged and retried later (eg. the Salesforce servers are down for maintaince).

I do hope that this information is useful, and that you find a way to implement this in a way that is reasonable for your time and financial budgets.

~ sfdcfox ~

To solve your lead duplicated problem, you should try to use FormVester for AppExchange instead of the default salesforce, web2lead functionnality. The application allows to generate new leads in salesforce from any of you existing online forms (simply insert a javascript snipet code in your website pages). FormVester has a deduplicate function, so that it always checks if the lead already exists in salesforce before generating it. If the lead already exists, the lead is simply updated.

Hope it can help. -
<a href="">FormVester for appexchange</a>