Web-To-Prospect (Outdated)

If you did not setup web-to-prospect yet, we strongly recommend to use the much more powerful 
Web To Prospect REST API
Web-To-Prospect is an easy way to include a form on your website which creates new prospects in Propertybase in real time.
Note:  the sample website is located at the bottom of this page.


To get Web-To-Prospect enabled for your org,  it is necessary to activate the webservices for it previously. If this has not been done yet, please follow the instructions at:


Note: Web-to-Prospect is currently not available during a trial period.

Technical Documentation

These are the steps to create prospect from within your website using a simple HTML form:

  1. Download the example code that is attached to this page (see below) and open it.

  2. Skip the <head> part including the 'text/javascript' section. We will cover this later.
        <title>Lead Capture Form</title>
        <script type="text/javascript">
        function checkSubmit() {

  3. Enter your Propertybase WebToProspect endpoint here:
    <h1>Contact</h1><form name="web2prospect" onsubmit="return checkSubmit();" method="get" action="http://***ADD YOUR_ENDPOINT_HERE***"> 
  4. You can specify a success page and a fail page in hidden fields. For the pages, please specify fully qualified URLs. We will forward your client to one of these pages, depending on the success of your request.For debugging purposes, you can also specify a parameter 'debugmode'. If you set its value to 'true', Propertybase will return some debug output if there are any issues with your data.
    <input type="hidden" name="successpage" value="http://www.yourdomain.com/path/to/successpage" />
    <input type="hidden" name="errorpage" value="http://www.yourdomain.com/path/to/errorpage" />
    <!-- uncomment the following line to get error messages in the response if the web2prospect process fails. -->
    <!-- <input type="hidden" name="debugmode" value="true" /> --> 
  5. Propertybase stores data as a new Contact and a new Request object. Request data is optional and can be skipped if you e.g. only want to collect personal data from a contact form.Each name of your input fields has to match the Propertybase API fieldname. (To get a short documentation on how to identify the API name, please click here.) Data that has to be stored on a Contact record will get a prefix of "Contact.", data on a related Request record will get a prefix of "pba__Request__c.". Examples: last name (field on Contact) ==> Contact.LastName maximum price (field on Request) ==> pba__Request__c.pba__ListingPrice_pb_max__c

    Contact.LastName is always mandatory! 
    Any request without a LastName will fail. Please also make sure to make fields mandatory in your forms that are mandatory in Propertybase by e.g. Validation rules or field level security settings. 
    <label for="Contact.FirstName">First name</label><br/>
    <input type="text" size="40" name="Contact.FirstName" maxlength="40" id="Contact.FirstName" /><br/>
    <label for="Contact.LastName">Last name *</label><br/>
    <input type="text" size="40" name="Contact.LastName" maxlength="80" id="Contact.LastName" /><br/>


  6. If you like to add multi-picklist fields like 'Purchase Unit Type' you must add '[]' to the Propertybase API Name for every checkbox...
    <p> Type:<label for="pba__Request__c.pba__PropertyType__c1">Apartment</label>
    <input type="checkbox" name="pba__Request__c.pba__PropertyType__c[]" id="pba__Request__c.pba__PropertyType__c1" value="Condo"/>|
    <label for="pba__Request__c.pba__PropertyType__c2">Villa</label>
    <input type="checkbox" name="pba__Request__c.pba__PropertyType__c[]" id="pba__Request__c.pba__PropertyType__c2" value="Villa"/>|<label for="pba__Request__c.pba__PropertyType__c3">Office</label>
    <input type="checkbox" name="pba__Request__c.pba__PropertyType__c[]" id="pba__Request__c.pba__PropertyType__c3" value="Office"/></p>

     ... and you also need to change the Javascript in the header of our example script. Please add your multi-picklist-field to the multiPicklistFields array. Make sure to use the same name as in your input fields but don't append the [].

        function checkSubmit() {
            // Please add all Multi-Select-Fields to this array. Make sure you take the name of the array fields without the []
    		// example: 
    		// for <input type="checkbox" class="checkbox" name="pba__Request__c.pba__PropertyType__c[]" id="pba__Request__c.pba__PropertyType__c1" value="Apartment"/>
    		// add  "pba__Request__c.pba__PropertyType__c" to the array below.
            multiPicklistFields = new Array("pba__Request__c.pba__PropertyType__c","pba__Request__c.View__c");

    You can of course add more than one multi-picklist to your form, just add all fieldnames to the array.

  7. To add checkbox fields simply them as follows:
    <label for="Contact.Checkbox__c">Check this!</label><br/> 
    <input type="checkbox" name="Contact.Checkbox__c" id="Contact.Checkbox__c" value="true" />

  8. If you want to track favorites, please add another hidden field "favorites" in your form:
    <input type="hidden" name="favoriteids" value="a03000000032acS;a03000000033aBx"/>

    The value should be a semicolon seperated list of IDs from the listing objects in Propertybase.You can get the listing IDs from the weblisting API when querying all your listings. Make sure to include the ID field in your queries and use the values in this hidden field.

    Hint: If you include at least one favorite ID but don't include any other Request-fields in step 5 above, the system will try to prepopulate the Request in Propertybase from the information in the first favorite listing. E.g. it will create a pricerange around the actual price of the favorite listing.

  9. Integrate the form to your website and start collecting prospects!

  10. Please find an example at the bottom of this page!


  •  Does web to prospect checks for duplicates?
     Not yet, most probably in a future release

  • Can I set a lead source for contacts coming from my website?
    Yes, you can. Please insert e.g. this in your website form:<input type="hidden" value="website" name="contact.leadsource">

  • How can I define who becomes owner of the new contacts?
    By creating a new setting
    "webserviceWebToProspect_externalIdField" -> value = "id"

  • Can the new owner be informed per email?
    Yes, this is possible.
    Just create a workflow e.g. based on the lead source and new contact

  • I would like to connect the request from the website to the related listing - where the contact form was filled out.
    The following html code will create a request incl. favourite to the listing.
    You can get the listing ID with "Id".
    <input type="hidden" name="favoriteids" value="a0xxxxx...your listing ID"/>

    If you get an error, then please add a new setting in your org.
     - In the tab bar click on the symbol "+"
     - Then go to Settings -> New: Key
     - The following information must be introduced in the Setting Edit:
        the key is: "webserviceWebToProspect_externalIdField"
        the value "Id".

  • Can I support multiple languages?
    Yes, it is possible to integrate multiple languages in your website.

    As an example:

    One way of integrating two languages would be to create one field for each language and them query the specific field in the language you want.
    An alternative would be If you are using picklists for data; you could use the translation workbench so that the values are translated depending on the user. Then an alternate endpoint for the another language could be provided.


Powered by Zendesk