Most of the time Lead Providers can supply the lead information within a formatted URL post, referred to as a HTTP POST. Elead Providers can send leads to your system by posting to a public URL using an Apex REST Service. This must be manually set up for each improveit 360 system by following the step below.
See also: eLead Standard Field Mapping
Set up the endpoint URL
- Login into the org as the Administrator
- Go to Setup | Develop | Sites
- If there are no Sites listed for this org, please make one from the process below (if there is already a site proceed to Step 8)
- First, you will have to choose a domain.
- As a best practice, use your full company name as a run on word. For example, 'Image Landscaping' becomes 'imagelandscaping'.
- Double check the spelling because you can't undo this once you click 'Register'!
- Then, accept the terms and click “Register My Force.com Domain”
- Now, click “New” in the “Sites” area. (If a domain was already set up then you will start here.)
- Leave the “Type of new Site” as “Guest” and click Continue.
- Fill in the form with the following values where the {Provider Name} is the Lead Provider such as Treehouse or Socius:
- Site Label: {Provider Name}
- Site Name: {Provider Name}
- Default Web Address: {Provider Name}
- Active: True
- Active Site Home Page: InMaintenance
- Leave all other fields as they are aside from the checkboxes they need checked as follows:
- Enable Feeds: Unchecked
- Require Secure Connections (HTTPS): Checked
- Upgrade all requests to HTTPS: Checked
- Enable Content Sniffing Protection: Checked
- Enable Browser Cross Site Scripting Protection: Checked
- Referrer URL Protection: Checked
- Guest Access to Support API: Unchecked
Click Save
Also on the Site Details screen, click Public Site Settings
Edit to add Object Permissions.
Under Custom Object Permissions, give the ability to Read and Create on the following Objects: Appointment, eLead, Interests, Interest Selections, Lead Source, Marketing Opportunity, Prospect, and Sources.
NOTE: Newer systems may not have Edit, Delete, View All and Modify All capabilities on any Site Guest User Profiles, if this is the Case, give Read and Create permissions.
On the Profile enable the Apex Class for i360eLEadREST
Click Save
IMPORTANT: Because of the change to Salesforce Guest Users, ensure that ALL Sites are set up with the Sharing Rules on the Source, Prospect, User, and Account (if applicable), outlined below.
See also: SFDC Winter '21 Guest User Access Changes and Resolutions
Grant Read Permissions to the Guest User Profile on Objects using Sharing Rules
Go to Setup > Sharing Settings and Select the User Object
Click New Sharing Rule
When creating the Sharing Rule select 'Guest user access, based on criteria'. The criteria is Active = True. Share with select the guest user that is having issues. Grant Read Only access.
Granting Read Permissions to the Guest User Profile on Source
Go to Setup > Sharing Settings and Select the Source Object
Click New Sharing Rule
When creating the Sharing Rule select 'Guest user access, based on criteria'. The criteria is Source Name not equal to BLANK. Share with select the guest user that is having issues. Grant Read Only access.
Grant Read Permissions to the Guest User Profile on Account
Go to Setup > Sharing Settings and Select the Account Object
Click New Sharing Rule
When creating the Sharing Rule select 'Guest user access, based on criteria'. The criteria is Type equal to Vendor. Share with select the guest user that is having issues. Grant Read Only access.
Grant Read Permissions to the Guest User on Prospect
Go to Setup > Sharing Settings and Select the Prospect Object
Click New Sharing Rule
When creating the Sharing Rule select 'Guest user access, based on criteria'. The criteria is Primary Last Name not equal to BLANK. Share with select the guest user that is having issues. Grant Read Only access.
Save
______________________________________________________________________________________________________
- On the Site Details screen, we will need to copy your company's 'Force.com Address' - this is the URL the provider needs. However, there is one more step, be sure to format the URL correctly. Read these instructions carefully.
- Send an email to your representative at whichever provider and let them know you want to set up an integration with improveit! 360, include the form for formatting the HTTP POST.
- Also include the force.com web address of your company's site so that they can post leads to it.
- Your web address should be formatted like this:
- https://«Secure Web Address».secure.force.com/{Provider Name}?
*** NOTE: Case Sensitivity matters for the Endpoint URL to work correctly! *** - Be sure you replace the text «Secure Web Address» with your company's Force.com web address. We copied from above. It would be this one from the site page. (The {Provider Name} will be the same as we set in the Default Web Address earlier)
- For example, if your company is XYZ Custom Buildings LLC, and you made the site name “xyzcustombuildingsllc.com” for Treehouse eLeads the finished URL would look something like this:
https://xyzcustombuildingsllc.secure.force.com/treehouse/services/apexrest/i360/eLead
You may want to create different sites for different Lead Providers, in order to more easily track which eLeads are being created by each Lead Provider (different eLead Creation Users). A more generic eLead URL might look like this:
https://xyzcustombuildingsllc.secure.force.com/services/apexrest/i360/eLead
While a URL specific to TreeHouse eLeads would look like this:
https://xyzcustombuildingsllc.secure.force.com/treehouse/services/apexrest/i360/eLead
Helpful Hint: If you need the endpoint validated with information you will need a program called POSTMAN and a little bit of knowhow to get the data submitted.
See also: Troubleshooting eLead Source and Source Types