Setting up the Salesforce Integration

Landscape can integrate with Salesforce to keep your contact information synchronized between the two platforms. To begin setting up the integration, you must create a new External Client App in your Salesforce organization.

In Salesforce, go to the Setup app. Search for External Client App, and click on the External Client App Manager.

Click the New External Client App button in the upper right corner.

Give the External Client App a name, like "Landscape Land Conservation Software." You will use this name to identify the app later.

You must also provide a valid email address for the app manager. You can use support@dendroyka.com.

All the other fields can remain in their default state.

Click to expand the "API (Enable OAuth Settings)" section and click the Enable OAuth checkbox.

Configure the App Settings to match the screenshot above:

Enter "https://app.landconservationsoftware.com" into the Callback URL field. Add the Manage user data via APIs (api) OAuth scope.

Check the box next to Enable Client Credentials Flow.

Click the Create button at the bottom of the page to create the App.

On the Policies tab of the new app, click the Edit button on the right side of the window and expand the OAuth Policies tab.

Check the Enable Client Credentials Flow checkbox.

Enter a user to run the integration as. You can create a specific API user that only has permission to modify contacts, if you wish.

Click the Save button.

Go back to the Settings tab and expand the OAuth Settings section. Click the Consumer Key and Secret button. Salesforce will likely need to send you a confirmation email, but after you confirm, copy down the Consumer Key and Secret values. You will need these to finish setting up the integration in Landscape.


Landscape Contact Link Field

The integration can maintain a URL link in each Salesforce Contact that will open the Contact's record in Landscape directly. This makes it easy to see what property records a Salesforce contact is related to in Landscape.

You must first create the custom field in Salesforce and then tell Landscape what the name of the custom field is.

In Salesforce, go to the Setup App, then click the Object Manager button and find the Contact object. Click the Contact object and navigate to its Fields & Relationships tab. Click the New button on the right side of the window.

You will want to create a new URL field. Give it an appropriate name and label and make a note of the Field Name field, you will need to enter this into Landscape later.


Get Your Organization Domain

The last step is to copy your organization's domain so you can enter it into Landscape. From the top level search bar in Salesforce, type "My Domain" and select the My Domain app.


Enabling the Integration in Landscape

Now you are ready to enable the integration in Landscape. You will need to be a Landscape Administrator in order to enable the integration.

In Landscape, navigate to Settings, then click Integrations on the left side. Find the Salesforce integration, and click the Enable check box. Then click Setup Required.

The first step is to enter your credentials. This includes your My Domain value, as well as your Consumer Key and Consumer Secret from the steps above.

If the integration successfully authorizes to your Salesforce organization, you will be prompted to enter the name of your custom Landscape Contact Link field.

Matching Contacts

After setting up the integration to successfully authenticate to your Salesforce organization, the next step is to match all the existing contacts in Landscape with ones in Salesforce. Landscape will step you through each of your existing contacts and display a set of matching contacts it finds in Salesforce. 

For each Landscape contact you have three options:

Match: Pressing the Match button on an Salesforce contact will link the Landscape contact to that Salesforce contact. If none of the matching Salesforce Contacts are the contact you want to match, but you know the contact exists in Salesforce , you can manually find the Id number of the contact in Salesforce and paste it into the Manually set matching Salesforce Id box and press the Match button.

Create New: Pressing the Create New button on the Landscape contact will result in that contact being created as a new constituent in Salesforce .

Do Not Sync: Pressing the Do Not Sync button on the Landscape contact will keep the contact from being synchronized with Salesforce .

After choosing one of the three options, the next Landscape contact and its matching Salesforce contacts will be displayed.

Taking a break

If you have a lot of contacts in Landscape and you don't want to complete the entire matching process at one time, you can press the Done button at any time. The integration will not be fully enabled and will not synchronize. However, when you come back to the setup process, you can pick up matching where you left off. You won't lose any of the work you already completed.

Initial Synchronization

After you have chosen a matching option for every contact in Landscape, you can begin the initial synchronization. Press the Synchronize button.


During initial synchronization, all of the Landscape contacts that you matched will be integrated into their Salesforce counterparts. Any addresses, phone numbers, and emails that do not match types that exist in Salesforce will remain unsynchronized and not be added to the Salesforce contact. When any name fields overlap, the data from Salesforce will be used. The exception to this is the Display Name field in Landscape, which is not matched to any Salesforce name field. It will remain unchanged.

The initial synchronization may take some time depending on the number of contacts that are being synchronized. You do not have to stay on the integrations page for the synchronization to progress.

Once the initial synchronization completes successfully, your Landscape and Salesforce contacts will remain in sync.

Ongoing Synchronization

As long as the integration is enabled, any changes you make to contacts from within Landscape will be synchronized automatically with Salesforce. Changes made in Salesforce will be automatically synchronized with Landscape once a day, usually very early in the morning.

If you want to synchronize with changes made in Salesforce immediately, you can press the Sync Now button on the Integrations page.

Field Mapping

Display Name: Landscape's Display Name field is not transferred over to Salesforce. 

Addressee, Salutation: Landscape's Salutation and Addressee fields do not transfer to Salesforce.

Addresses, Emails, and Phone Numbers: Your particular Salesforce organization may define a set number of addresses, emails, and phone numbers that a Contact record can have. You can add addresses, emails, and phone numbers that don't match these types in Landscape, but they won't synchronize to Salesforce and they will be indicated as such. To ensure your data synchronizes with Salesforce, choose from the available types when you add new addresses, emails, or phone numbers.

Deleting a Contact record

If you delete a contact record in Landscape it will not be deleted in Salesforce.  Keep in mind that rather than deleting an active contact, we usually recommend adding an 'End Date' to the parcel contact record. The contact will then appear as an 'Inactive Contact', allowing you to preserve a record of their past relationship with the property. Deleting a contact record is usually reserved for eliminating erroneous or duplicate records.

Still need help? Contact Us Contact Us