Brilliant Web-to-Lead for Salesforce creates a solid integration between your WordPress install(s) and your Salesforce.com account!
Brilliant Web-to-Lead for Salesforce creates a solid integration between your WordPress install(s) and your Salesforce CRM account! People can enter a contact form on your site, and the lead (or case) goes straight into Salesforce CRM: no more copy pasting lead info, no more missing leads: each and every one of them is in Salesforce.com for you to follow up.
You can fully configure all the different settings for the form, and then use a shortcode to insert the form into your posts or pages, or you can use the widget that comes with the plugin and insert the form into your sidebar!
Note:
salesforce_w2l_api_url
Change the API url the plugin posts data to. Passes the form type (lead or case)
add_filter( 'salesforce_w2l_api_url', 'my_w2l_api_url', 10, 2 ); function my_w2l_api_url( $url, $form_type ){ return 'https://my.custom-api-url.com/something/'; }
sfwp2l_validate_field
Provide your own validation logic for each field.
An error array is passed in, along with the field name, submitted value, and field configuration (type, default value, required, etc).
Here’s an example of blocking common free email providers:
add_filter('sfwp2l_validate_field','block_non_biz_emails', 10, 4); function block_non_biz_emails( $error, $name, $val, $field ){ if( $name == 'email' ){ $non_biz_domains = array( 'gmail.com', 'yahoo.com', 'hotmail.com', 'aol.com' ); $domain = array_pop(explode('@', $val)); if( in_array( $domain, $non_biz_domains ) ){ $error['valid'] = false; $error['message'] = 'Please enter a business email addresss.'; } } return $error; }
You can add to the $non_biz_domains to block other providers as well.
salesforce_w2l_form_html
HTML of the form before it’s returned to WordPress for display
salesforce_w2l_cc_user_from_name
Change from name (user confirmation)
salesforce_w2l_cc_user_from_email
Change from email (user confirmation)
salesforce_w2l_cc_admin_from_name
Change from name (admin notification)
salesforce_w2l_cc_admin_from_email
Change from email (admin notification)
salesforce_w2l_cc_admin_email_list
Adding this code to your functions.php file will add 3 emails to the list. You can add as many as you want and each will get an admin notification email.
add_filter('salesforce_w2l_cc_admin_email_list','salesforce_add_emails'); function salesforce_add_emails( $emails ){ //uncomment line below to remove site admin //unset($emails[0]); $emails[]='[email protected]'; $emails[]='[email protected]'; $emails[]='[email protected]'; return $emails; }
salesforce_w2l_cc_user_email_content
salesforce_w2l_cc_admin_email_content
Allows you to filter (append, prepend, modify) the email message content sent to the user or admin(s).
add_filter('salesforce_w2l_cc_user_email_content','salesforce_filter_user_message', 10, 1); function salesforce_filter_user_message( $message ){ $message = 'Before the user message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the user message'; return $message; } add_filter('salesforce_w2l_cc_admin_email_content','salesforce_filter_admin_message', 10, 1); function salesforce_filter_admin_message( $message ){ $message = 'Before the admin message' . "\r\n\r\n" . $message . "\r\n\r\n" . 'After the admin message'; return $message; }
salesforce_w2l_cc_admin_replyto_email
Filter the Reply-To email header (e.g. to allow replies to go to the form submitter)
salesforce_w2l_returl
salesforce_w2l_returl_{Form ID}
Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc.
Examples:
// Filter Return/Success URL on a specific form // salesforce_w2l_returl_{Form ID} add_filter( 'salesforce_w2l_returl_1_tester', 'salesforce_w2l_returl_1_tester_example', 10, 1 ); function salesforce_w2l_returl_1_tester_example( $returl ){ return 'http://123.com'; }
salesforce_w2l_success_message
salesforce_w2l_success_message_{Form ID}
Allows you to filter the contents of the success message before it is output to dynamically populate it with a value, auto set it based on another value, etc.
Examples:
// Filter Success Message on a specific form // salesforce_w2l_success_message_{Form ID} add_filter( 'salesforce_w2l_success_message_1_tester', 'salesforce_w2l_success_message_1_tester_example', 10, 1 ); function salesforce_w2l_success_message_1_tester_example( $success ){ return 'Testing 123'; }
salesforce_w2l_field_value
salesforce_w2l_field_value_{Form ID}_{Field Name}
Allows you to filter the value of a field before it is output to dynamically populate it with a value, auto set it based on another value, etc.
Note that the second filter requires you to replace {Form ID} and {Field Name} to be replaced with the relevant form id and field name.
If you need access to the field or form settings in your filter you can use:
$field = salesforce_get_field( $field_name, $form_id ); $form = salesforce_get_form( $form_id );
Examples:
// Pre-check a checkbox add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_precheck_example', 10, 3 ); function salesforce_w2l_field_value_precheck_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'checkboxfield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return 1; // or whatever the value of your checkbox is return $val; } // Store HTTP referrer in a field (this is not 100% reliable as the browser sends this value to the server) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_referrer_example', 10, 3 ); function salesforce_w2l_field_value_referrer_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'referrer__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ if( isset( $_SERVER['HTTP_REFERER'] ) ){ return $_SERVER['HTTP_REFERER']; } } return $val; } // Autofill fields based on thew query string (using Google Analytics tracking variables in this example) add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_querystring_example', 10, 3 ); function salesforce_w2l_field_value_querystring_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'source__c'; // API Name of the field you want to autofill $qs_var = 'source'; // e.g. ?source=foo if( $form == $form_id && $field_name == $field ){ if( isset( $_GET[ $qs_var ] ) ){ return $_GET[ $qs_var ]; } } return $val; } // Autofill a user's country based on IP add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_geoip_example', 10, 3 ); function salesforce_w2l_field_value_geoip_example( $val, $field, $form ){ // Based on this plugin: https://wordpress.org/plugins/geoip-detect/ // Adjust this code to the one used by your geo detection plugin if( !function_exists( 'geoip_detect2_get_info_from_current_ip' ) ) return; $form_id = 1; // form id to act upon $field_name = 'country__c'; // API Name of the field you want to autofill if( $form == $form_id && $field_name == $field ){ $userInfo = geoip_detect2_get_info_from_current_ip(); //$val = $userInfo->country->isoCode; // e.g. US $val = $userInfo->country->name; // e.g. United States } return $val; } // Autofill a date // https://codex.wordpress.org/Function_Reference/current_time // http://php.net/manual/en/function.date.php add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_value_date_example', 10, 3 ); function salesforce_w2l_field_value_date_example( $val, $field, $form ){ $form_id = 1; // form id to act upon $field_name = 'mydatefield__c'; // API Name of the field you want to auto check if( $form == $form_id && $field_name == $field && ! $_POST ) return current_time('Y-m-d'); // or whatever date format you want return $val; }
salesforce_w2l_form_action
Allows you to remove the form action.
// Remove Form Action add_filter( 'salesforce_w2l_form_action', 'salesforce_w2l_form_action_example', 10, 1 ); function salesforce_w2l_form_action_example( $action ){ return ''; }
salesforce_w2l_lead_source
Allows you to alter the lead source (per form or globally).
// Alter Lead Source add_filter( 'salesforce_w2l_lead_source', 'salesforce_w2l_lead_source_example', 10, 2 ); function salesforce_w2l_lead_source_example( $lead_source, $form_id ){ if( $form_id == 1 ) return 'Example Lead Source for Form #1 on page id #'.get_the_id(); return $lead_source; }
salesforce_w2l_post_args
Allows filtering of the wp_remote_post arguments (e.g. extend the timeout, increase redirect limit, etc).
add_filter( 'salesforce_w2l_post_args', 'salesforce_w2l_post_args_example' ); function salesforce_w2l_post_args_example( $args ){ $args['timeout'] = 10; // http timeout in seconds return $args; }
salesforce_w2l_post_data
Allows filtering of the post data before it is sent to SalesForce.
add_filter( 'salesforce_w2l_post_data', 'salesforce_w2l_post_data_example', 10, 3 ); function salesforce_w2l_post_data_example( $post, $form_id, $form_type ){ error_log( 'POST ARGS = '.print_r( $post, 1 ) ); $post['test'] = 'test'; return $post; }
salesforce_w2l_show_admin_nag_message
Suppress the organization id missing nag message (return false).
add_filter( 'salesforce_w2l_show_admin_nag_message', '__return_false', 10, 1 );
salesforce_w2l_before_submit
Allows you to do something (read only) with the post data before it’s submitted to SalesForce.
e.g. Send it to another API, log it to a database, etc.
If you need to change the data, use the salesforce_w2l_post_data filter.
add_action('salesforce_w2l_before_submit', 'salesforce_w2l_before_submit_example', 10, 3 ); function salesforce_w2l_before_submit_example( $post, $form_id, $form_type ){ error_log( 'BEFORE SUBMIT '.print_r($post,1) ); }
salesforce_w2l_error_submit
Allows you to do something (read only) with the post data when there is an error submitting to SalesForce.
e.g. Notify someone via email, log it somewhere, etc.
add_action('salesforce_w2l_error_submit', 'salesforce_w2l_error_submit_example', 10, 4 ); function salesforce_w2l_error_submit_example( $result, $post, $form_id, $form_type ){ error_log( 'ERROR SUBMIT ' . print_r($result,1) ); }
salesforce_w2l_after_submit
Allows you to do something (read only) with the post data after it’s submitted to SalesForce.
e.g. Send it to another API, log it to a database, etc.
add_action('salesforce_w2l_after_submit', 'salesforce_w2l_after_submit_example', 10, 3 ); function salesforce_w2l_after_submit_example( $post, $form_id, $form_type ){ error_log( 'AFTER SUBMIT '.print_r($post,1) ); }
salesforce_w2l_get_prefixed_inputs
Allows you to add to or change the list of fields that are auto prefixed by the plugin to avoid collisions with WP Query reserved request parameters
add_filter('salesforce_w2l_get_prefixed_inputs', 'salesforce_w2l_get_prefixed_inputs_example', 10, 1 ); function salesforce_w2l_get_prefixed_inputs_example( $fields ){ $fields[] = 'new_field_name'; return $fields; }
salesforce_w2l_input_name_prefix
Allows you to change the default field name prefix (_sf
) used to avoid collisions with WP Query reserved request parameters.
add_filter('salesforce_w2l_input_name_prefix', 'salesforce_w2l_input_name_prefix_example', 10, 1 ); function salesforce_w2l_input_name_prefix_example( $prefix ){ return 'sfwp2lprefix_'; }
plugin
folder to the /wp-content/plugins/
directory or install via the Add New Plugin menuAn example form generated with Brilliant Web-to-Lead for Salesforce (with optional CAPTCHA) -- both post and widget forms are shown in the TwentyEleven theme
The backend administration for Brilliant Web-to-Lead for Salesforce
The new form editor (multiple forms, hidden fields, add new fields, thanks URL, lead source per form)
Yes, quite a few.
To turn on in browser debugging, add a hidden field (enabled) named debug
and set the value to 1
.
To turn on debugging via email, add a hidden field (enabled) named debugEmail
and set the value to [email protected]
(your email address).
Also check for debug logs at SalesForce to see if a validation rule is the culprit: Administration Setup | Monitoring | Debug Logs
.
99% of the time the plugin is sendign these… and the issue is at the WordPress or server level.
The Give team has an excellent article on diagnosing and troubleshooting email issues.
SalesForce is inconsistent in naming built in fields, and even misreports the names of some fields (like MobilePhone
, which is actually mobile
) in the customize fields screen. Generating a Web to Lead form gets you the real names, but the list below should help as well.
Built in fields
Leads
Human Name API Name - - - - - - - - - - - - - - - - - - - - - - - - First Name first_name Last Name last_name Title title Website URL Phone phone Mobile mobile Fax fax Email email Address street City city State/Prov. state Zip zip Country country Description description Industry industry Rating rating Annual Rev. revenue Employees employees
Cases
Human Name API Name - - - - - - - - - - - - - - - - - - - - - - - - Contact Name ** name Email email Phone phone Subject subject Description description Company company Type * type Status * status Case Reason * reason Priority * priority Case Origin N/A (not settable via the WebToCase API) * = must use a value from the picklist defined in your install ** = note that this will be auto prefixed as 'sf_name" in form output and POST data
Other Useful Fields
Lead Source lead_source Email Opt Out emailOptOut Fax Opt Out faxOptOut Do Not Call doNotCall Lead Record Type recordType Campaign Campaign_ID Campaign Member Status member_status
Name may vary (these are lookup fields), generate a Web-to-Lead form with these fields included for the actual value
SIC Code Product Interest Primary Current Generator(s) Number of Locations
Choose Web to Case in the Form Settings (bottom of the form editor page).
To find your Organization ID, do the following steps:
Like any other field. Note that it is a single checkbox, not a checkbox list (yet).
Note: You must provide a value for your checkbox. Generally 1
is what you want (unless you’re expecting something other than true/false in SalesForce). If you don’t provide a value, your checkbox will never get sent with the form data (and even if it did, it won’t “check” the box at SalesForce as “empty” = unchecked).
Checkbox lists and radio buttons will be in a future update.
Before you do, consider if a pre-checked checkbox (opt-out) is really what you want to do.
If you insist on proceeding anyways: see the Pre-check a checkbox example in Other Notes.
Hint: Use the form importer!
Use it like any other field — however you’ll need to specify the options (and optional values) for each field using the options box (far right). You’ll also need to use the “internal name” from Salesforce as your field name (see next FAQ).
The value box for a select list is the default value (the one selected on a fresh form).
/* Preferred format: */ // Use same data for display and value passed to SF one two three // Use different data for display and value passed to SF, require user to select something (assuming field is required) Select One| name1|value1 name2|value2 // Use different data for display and value passed to SF name1|value1 name2|value2 /* Legacy Format (does not allow the use of colons in names or values): */ //Use same data for display and value passed to SF one|two|three //Use different data for display and value passed to SF, require user to select something (assuming field is required) Select One: | name1:value1 | name2:value2 //Use different data for display and value passed to SF name1:value1 | name2:value2
Some useful options lists — you can remove any line(s) you don’t want/need:
Note: If state and country aren’t a valid combo, or the state doesn’t match the default country of your Salesforce install, your lead will likely be rejected — so be careful with these!
States / Provinces
Select One| State| AL|Alabama AK|Alaska AZ|Arizona AR|Arkansas CA|California CO|Colorado CT|Connecticut DE|Delaware FL|Florida GA|Georgia HI|Hawaii ID|Idaho IL|Illinois IN|Indiana IA|Iowa KS|Kansas KY|Kentucky LA|Louisiana ME|Maine MD|Maryland MA|Massachusetts MI|Michigan MN|Minnesota MS|Mississippi MO|Missouri MT|Montana NE|Nebraska NV|Nevada NH|New Hampshire NJ|New Jersey NM|New Mexico NY|New York NC|North Carolina ND|North Dakota OH|Ohio OK|Oklahoma OR|Oregon PA|Pennsylvania RI|Rhode Island SC|South Carolina SD|South Dakota TN|Tennessee TX|Texas UT|Utah VT|Vermont VA|Virginia WA|Washington WV|West Virginia WI|Wisconsin WY|Wyoming DC|District of Columbia AS|American Samoa GU|Guam MP|Northern Mariana Islands PR|Puerto Rico UM|United States Minor Outlying Islands VI|Virgin Islands, U.S. Province| AB|Alberta BC|British Columbia MB|Manitoba NB|New Brunswick NL|Newfoundland and Labrador NS|Nova Scotia NT|Northwest Territories NU|Nunavut ON|Ontario PE|Prince Edward Island QC|Quebec SK|Saskatchewan YT|Yukon
Countries
AF|Afghanistan AX|Åland Islands AL|Albania DZ|Algeria AS|American Samoa AD|Andorra AO|Angola AI|Anguilla AQ|Antarctica AG|Antigua and Barbuda AR|Argentina AM|Armenia AW|Aruba AU|Australia AT|Austria AZ|Azerbaijan BS|Bahamas (the) BH|Bahrain BD|Bangladesh BB|Barbados BY|Belarus BE|Belgium BZ|Belize BJ|Benin BM|Bermuda BT|Bhutan BO|Bolivia (Plurinational State of) BQ|Bonaire, Sint Eustatius and Saba BA|Bosnia and Herzegovina BW|Botswana BV|Bouvet Island BR|Brazil IO|British Indian Ocean Territory (the) BN|Brunei Darussalam BG|Bulgaria BF|Burkina Faso BI|Burundi CV|Cabo Verde KH|Cambodia CM|Cameroon CA|Canada KY|Cayman Islands (the) CF|Central African Republic (the) TD|Chad CL|Chile CN|China CX|Christmas Island CC|Cocos (Keeling) Islands (the) CO|Colombia KM|Comoros (the) CD|Congo (the Democratic Republic of the) CG|Congo (the) CK|Cook Islands (the) CR|Costa Rica CI|Côte d'Ivoire HR|Croatia CU|Cuba CW|Curaçao CY|Cyprus CZ|Czech Republic (the) DK|Denmark DJ|Djibouti DM|Dominica DO|Dominican Republic (the) EC|Ecuador EG|Egypt SV|El Salvador GQ|Equatorial Guinea ER|Eritrea EE|Estonia ET|Ethiopia FK|Falkland Islands (the) [Malvinas] FO|Faroe Islands (the) FJ|Fiji FI|Finland FR|France GF|French Guiana PF|French Polynesia TF|French Southern Territories (the) GA|Gabon GM|Gambia (the) GE|Georgia DE|Germany GH|Ghana GI|Gibraltar GR|Greece GL|Greenland GD|Grenada GP|Guadeloupe GU|Guam GT|Guatemala GG|Guernsey GN|Guinea GW|Guinea-Bissau GY|Guyana HT|Haiti HM|Heard Island and McDonald Islands VA|Holy See (the) HN|Honduras HK|Hong Kong HU|Hungary IS|Iceland IN|India ID|Indonesia IR|Iran (Islamic Republic of) IQ|Iraq IE|Ireland IM|Isle of Man IL|Israel IT|Italy JM|Jamaica JP|Japan JE|Jersey JO|Jordan KZ|Kazakhstan KE|Kenya KI|Kiribati KP|Korea (the Democratic People's Republic of) KR|Korea (the Republic of) KW|Kuwait KG|Kyrgyzstan LA|Lao People's Democratic Republic (the) LV|Latvia LB|Lebanon LS|Lesotho LR|Liberia LY|Libya LI|Liechtenstein LT|Lithuania LU|Luxembourg MO|Macao MK|Macedonia (the former Yugoslav Republic of) MG|Madagascar MW|Malawi MY|Malaysia MV|Maldives ML|Mali MT|Malta MH|Marshall Islands (the) MQ|Martinique MR|Mauritania MU|Mauritius YT|Mayotte MX|Mexico FM|Micronesia (Federated States of) MD|Moldova (the Republic of) MC|Monaco MN|Mongolia ME|Montenegro MS|Montserrat MA|Morocco MZ|Mozambique MM|Myanmar NA|Namibia NR|Nauru NP|Nepal NL|Netherlands (the) NC|New Caledonia NZ|New Zealand NI|Nicaragua NE|Niger (the) NG|Nigeria NU|Niue NF|Norfolk Island MP|Northern Mariana Islands (the) NO|Norway OM|Oman PK|Pakistan PW|Palau PS|Palestine, State of PA|Panama PG|Papua New Guinea PY|Paraguay PE|Peru PH|Philippines (the) PN|Pitcairn PL|Poland PT|Portugal PR|Puerto Rico QA|Qatar RE|Réunion RO|Romania RU|Russian Federation (the) RW|Rwanda BL|Saint Barthélemy SH|Saint Helena, Ascension and Tristan da Cunha KN|Saint Kitts and Nevis LC|Saint Lucia MF|Saint Martin (French part) PM|Saint Pierre and Miquelon VC|Saint Vincent and the Grenadines WS|Samoa SM|San Marino ST|Sao Tome and Principe SA|Saudi Arabia SN|Senegal RS|Serbia SC|Seychelles SL|Sierra Leone SG|Singapore SX|Sint Maarten (Dutch part) SK|Slovakia SI|Slovenia SB|Solomon Islands SO|Somalia ZA|South Africa GS|South Georgia and the South Sandwich Islands SS|South Sudan ES|Spain LK|Sri Lanka SD|Sudan (the) SR|Suriname SJ|Svalbard and Jan Mayen SZ|Swaziland SE|Sweden CH|Switzerland SY|Syrian Arab Republic TW|Taiwan (Province of China) TJ|Tajikistan TZ|Tanzania, United Republic of TH|Thailand TL|Timor-Leste TG|Togo TK|Tokelau TO|Tonga TT|Trinidad and Tobago TN|Tunisia TR|Turkey TM|Turkmenistan TC|Turks and Caicos Islands (the) TV|Tuvalu UG|Uganda UA|Ukraine AE|United Arab Emirates (the) GB|United Kingdom of Great Britain and Northern Ireland (the) UM|United States Minor Outlying Islands (the) US|United States of America (the) UY|Uruguay UZ|Uzbekistan VU|Vanuatu VE|Venezuela (Bolivarian Republic of) VN|Viet Nam VG|Virgin Islands (British) VI|Virgin Islands (U.S.) WF|Wallis and Futuna EH|Western Sahara* YE|Yemen ZM|Zambia ZW|Zimbabwe
Note: Leading & trailing whitespace is trimmed when names and values are displayed, so feel free to use spaces to make things more readable.
Choose it from the dropdown, that’s all you have to do.
If you want to customize the date format or display/functionality of the datepicker UI, you can set the options by entering a list of options in the Options box of the field editor, one per line.
Note that you must end each option with a comma, or you’ll end up with a javascript error instead of a datepicker.
Note that any options you specify will override the default options.
e.g.
Default date format – Year, Month, Day
dateFormat : ‘yy-mm-dd’,
Month, Day, Year
dateFormat : ‘mm-dd-yy’,
Day, Month, Year
dateFormat : ‘dd-mm-yy’,
Day, Month, Year + Show the button panel
dateFormat : 'dd-mm-yy', showButtonPanel: true,
More information about the datepicker options can be found here:
Hint: Use the form importer!
Picklists in SalesForce (Web to Lead at least) are a strange beast — you’d think you could pass the field name and SF would map it on their end… but they don’t make it that easy. Instead you need to use the internal SF ID of the picklist… which looks more like: 00Nd0000007p1Ej
(this is just en example, this is not the id of your field).
Where do you find this cryptic value? You can find it in two places (that I know of):
Edit the field and it’ll be in the URL:
e.g. https://na14.salesforce.com/00Nd0000007p1Ej/...
Generate a Web to Lead form with your field included and it’ll be in the HTML
e.g. TestPicklist: <select id="00Nd0000007p1Ej" name="00Nd0000007p1Ej" title="TestPicklist">
Then take the “name” you get (00Nd0000007p1Ej in this example) and enter that as the field name in your form editor. Yes, you enter this obtuse string of digits instead of the human readable field name (i.e. MyCustomField__c).
Note: You cannot use the HTML box to enter a custom field, as only “known” fields are submitted to salesforce and HTML fields are not submitted (just displayed). Be careful to avoid the <form>
or </form>
tags in an HTML field as they will likely break your form.
Hint: Use the form importer!
Since it’s a lookup field the value of the options has to be SalesForce’s internal id, not the value you’d think it would be. Otherwise when Jane Doe gets married and becomes Jane Smith you’d break all the links to her user.
Basically, you need to generate a Web to Lead form in Salesforce and grab the option values from the HTML it generates.
e.g.
Find the lookup field. This is the bit you’re looking for:
Joe Schmoe
Jane Doe
…
00Nd0000007p1Ej (just an example) is the SF internal ID for that choive. Enter that as the value in your pick list field options like this:
00Nd0000007p1Ej:Joe Schmoe|00Nd0000007p1aB:Jane Doe
Right now, the only way of ordering input fields is by changing the position numbers on the right hand side of the input fields table in the admin settings. Drag and drop re-ordering is on the roadmap.
Instructions for disabling or overriding the CSS are included on the plugin settings screen (see Style Settings).
This option adds the WPCF7 classes to the form fields so you get the WPCF7 CSS styles applied (if that plugin is also activated).
Yes, version 2.0 introduces this feature.
Version 2.1 allows you to duplicate forms to reduce re-entering data.
Version 2.5 allows you to import Web-to-Lead forms from Salesforce.
You can easily change this by going into the admin panel and, under form settings, changing the Lead Source for that form.
The lead source supports using %URL% as the lead source (which will be replaced with the form embed url), but SF inexplicably limits the lead source to 40 characters.
Here’s how to route around that:
/* How to use: 1. Create a custom URL field at SalesForce (or Text field that holds more than 255 characters if you desire). A URL field makes it clickable in the lead detail view(s). 2. Replace URL_CUSTOM_FIELD_NAME below with the name of the custom field you setup in SalesForce, it will be something like EmbedUrl__c 3. Add a hidden field to each form with the same field name (e.g. "EmbedUrl__c") 4. Profit */ add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_embedurl', 10, 3 ); function salesforce_w2l_field_embedurl( $val, $field, $form ){ // Target a specific field on all forms if( $field == 'URL_CUSTOM_FIELD_NAME' ) $val = esc_url("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); return $val; }
<?php | |
/* | |
How to use: | |
1. Create a custom URL field at SalesForce | |
2. Replace URL_CUSTOM_FIELD_NAME below with the name of the custom field you setup in SalesForce, | |
it will be something like EmbedUrl__c | |
3. Add a hidden field to each form with the same field name (e.g. "EmbedUrl__c"). | |
4. Make sure the hidden field is enabled (or it won’t be output with the form/get filled/be sent to SF). | |
5. Profit | |
*/ | |
add_filter( 'salesforce_w2l_field_value', 'salesforce_w2l_field_embedurl', 10, 3 ); | |
function salesforce_w2l_field_embedurl( $val, $field, $form ){ | |
// Target a specific field on all forms | |
if( $field == 'URL_CUSTOM_FIELD_NAME' ) | |
$val = esc_url("http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']); | |
return $val; | |
} |
Of course you can! Go into the admin panel and, under Form Settings, change the text from the default “Submit” to whatever you’d like it to be!
Nope! The plugin will migrate your existing data to the new format. Your existing form will become Form 1 and be output by the [salesforce] shortcode).
Just use [salesforce form="X"]
(X is the form number).
Or select a form number in the widget.
The Campaign_ID field requires the Campaign ID — the name will not work. To find the Campaign_ID, go your the campaign page and look in the URL bar for the ID:
e.g. https://salesforce.com/621U000000IJat
In this example, 621U000000IJat is the Campaign_ID — make sure you use the ID from the campaign you want the lead attached to and not the example ID shown here.
No, as long as it’s a valid URL it will work. However it should be an absolute URL regardless of where it is located.
e.g. http://yoursite.com/thanks/ not just /thanks/
While the plugin has no limits, SalesForce does limit API calls per day:
The daily limit for Web-to-Lead requests is 500. If your organization exceeds its daily Web-to-Lead limit, the Default Lead Creator (specified in the Web-to-Lead setup page) receives an email containing the additional lead information.
See also: How many leads can we capture from our website?
Yes. Be careful — that’s there to remind you that the plugin doesn’t do much without one.
Add this to functions.php or a custom plugin (see other notes for more detailed instructions):
add_filter( 'salesforce_w2l_show_admin_nag_message', '__return_false', 10, 1 );
name
in WebToCase). Does not alter other field names for backwards compatibility. Prefix and list of fields to be prefixed is configurable via filters.salesforce_w2l_cc_admin_replyto_email
) to allow overriding the default behaviorsalesforce_w2l_api_url
and salesforce_w2l_cc_admin_email_subject
(thanks Haruhiko Kobayashi)<input />
for xhtml compatibilitysalesforce_cc_admin
to allow a customizable subject (translators: affects localization strings)salesforce_w2l_post_data
filter (see ‘Other Notes’)salesforce_w2l_before_submit
, salesforce_w2l_error_submit
, salesforce_w2l_after_submit
actions (see ‘Other Notes’)salesforce_w2l_cc_user_suppress_fields
filter to allow supression of fields in the user confirmation email