DNN DynamicForm 4 Intergration with SalesForce.com’s Web-to-Lead Form

You 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://”&gt;

<!–  ———————————————————————-  –>
<!–  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”>


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.