DNN DynamicForm 4 Intergration with SalesForce.com’s Web-to-Lead Form
Posted: January 30, 2012 Filed under: DotNetNuke (DNN), SalesForce.Com Leave a commentYou can find a blog of step by step instruction at http://www.datasprings.com/news/blog/postid/38/connecting-salesforce-with-dynamic-forms-via-http-post.
Sign up for a free Developer Edition environment at developer.force.com;
From App Setup >> Customize >> Lead >> Web-to-Lead >>
Click on Create Web-to-Lead Form button >> Choose or create form fields and generate the raw HTML form code;
Copy the form code to clipboard to use the ids of these form’s fields nad Form action URL:
A sample generated from the above action:
<!– ———————————————————————- –>
<!– NOTE: Please add the following <META> element to your page <HEAD>. –>
<!– If necessary, please modify the charset parameter to specify the –>
<!– character set of your HTML page. –>
<!– ———————————————————————- –>
<META HTTP-EQUIV=”Content-type” CONTENT=”text/html; charset=UTF-8″>
<!– ———————————————————————- –>
<!– NOTE: Please add the following <FORM> element to your page. –>
<!– ———————————————————————- –>
<form action=”https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8” method=”POST”>
<input type=hidden name=”oid” value=”00Dd0000000cOc5″>
<input type=hidden name=”retURL” value=”http://”>
<!– ———————————————————————- –>
<!– NOTE: These fields are optional debugging elements. Please uncomment –>
<!– these lines if you wish to test in debug mode. –>
<!– <input type=”hidden” name=”debug” value=1> –>
<!– <input type=”hidden” name=”debugEmail” –>
<!– value=”jingyang.li@marshpm.com“> –>
<!– ———————————————————————- –>
<label for=”first_name”>First Name</label><input id=”first_name” maxlength=”40″ name=”first_name” size=”20″ type=”text” /><br>
<label for=”last_name”>Last Name</label><input id=”last_name” maxlength=”80″ name=”last_name” size=”20″ type=”text” /><br>
<label for=”email”>Email</label><input id=”email” maxlength=”80″ name=”email” size=”20″ type=”text” /><br>
<label for=”company”>Company</label><input id=”company” maxlength=”40″ name=”company” size=”20″ type=”text” /><br>
<label for=”city”>City</label><input id=”city” maxlength=”40″ name=”city” size=”20″ type=”text” /><br>
<label for=”state”>State/Province</label><input id=”state” maxlength=”20″ name=”state” size=”20″ type=”text” /><br>
<input type=”submit” name=”submit”>
</form>
We will hook our Dynamic Form’s Completion Event to use HTTP Post event.
A sample:
HTTP Post URL:https://www.salesforce.com/servlet/servlet.WebToLead?encoding=UTF-8
HTTP Post: oid=00Dd0000000cOc9&first_name=$(FirstName)&last_name=$(LastName)&email=$(Email)&company=$(Comp)&city=$(City)&)&state=$(Region)
The key part here is to construct a query string to pass the input values from dynamic form (shortname synatax) to the Web-to-Lead Form we created at SalesForce.com.
If you can get the result submitted to your SalesForce form, you can refine your forms from both SalesForce and DNN to meet your business requirements.