Salesforce Lead CRM API Integration
Includes support for the following:
- Field mapping to standard and custom Lead object fields:
- Text fields:
- Numeric fields:
- There are some limitations to types of fields that can be mapped, such as Lookup fields.
- Text fields:
- Available fields are pulled from the Lead object in Salesforce, which is located at:
- Setup (top right)
- Objects & Fields (left nav)
- Object Manager
- Fields & Relationships (top middle menu)
Prepare Salesforce's end for Integration:
- Open another browser tab and go to Salesforce website and log into your account.
- On the left navigation menu, click on Apps, then click App Manager.
- At the top right corner of the page, click the New Connected App button.
- Fill out the fields in the Basic Information section.
- In the API (Enable OAuth Settings) section, click the Enable OAuth Settings checkbox.
- More fields will appear. In the Callback URL field, enter any valid URL that begins with https (it could even be https://google.com, as we don't use this part).
- In the Selected OAuth Scopes field, select the following permissions from the list and click Add arrow button:
- Allow access to your unique identifier (openid)
- Perform requests on your behalf at any time (refresh_token, offline_access)
- You shouldn't need to fill out any further fields, and then click Save button.
- You will be taken to a new page that lists info about your newly created app, including Consumer Key and Consumer Secret values. You will need to copy each of these values.
- Salesforce gets tricky to navigate, so do yourself a favor and copy and paste these 2 values into a text editor for now, being sure to label each too. You'll save yourself some extra steps later on.
- At the top middle of the page, click on the Manage button.
- At the top middle of the next page, click the Edit Policies button.
- Under the OAuth policies section, adjust the following settings:
- In the Permitted Users field, be sure that it is set to All users may self-authorize.
- In the IP Relaxation field, change the setting to Relaxed IP restrictions.
- Click Save button at bottom of page.
- If you copy and pasted the Consumer Key and Consumer Secret values in a text editor, you can skip these next couple steps:
- To go back to your app to see these values, click on the App Manager navigation item (under Apps)
- Find your app in the list. Then in the right column, click the down arrow, and then click View.
Prepare your site's end for Integration:
Open up the EE config.php file located in the /system/user/config/ directory and create a Freeform config item with the following settings:
- salesforce_client_id is the Salesforce Consumer Key value.
- salesforce_client_secret is the Salesforce Consumer Secret value.
- salesforce_username is your Salesforce account username/email address.
- salesforce_password is your Salesforce account password.
Your final EE config.php file should contain something like this:
$config['freeform_next'] = [ 'salesforce_client_id' => '7SDf7GFDG6O76sd798FdG98s9897F9G7dSFDF9G7sd980G8dfG9FG_aSD650g8dsh7D98g79Fs98ds0788Ps', 'salesforce_client_secret' => '1234567890123456789', 'salesforce_username' => 'email@example.com', 'salesforce_password' => 'yourSalesforcePassword', ];
Prepare the Connection:
- Go to the CRM section in Freeform Integrations area (Freeform > Integrations > CRM)
- Click the New Integration at the top right.
- Select Salesforce Lead from the Service Provider select dropdown.
- Enter a name and handle for the integration.
- At the bottom of the page, click the Save button.
- After the integration is saved, it'll return you to the list of CRM integrations.
- Click into the newly created integration.
- Confirm that there is green circle with Authorized in the middle of the page.
- That's it! You can now use this integration inside Composer.