HomeGuidesRecipesAPI
HomeGuidesAPILog In

Salesforce Connector Installation and Upgrade

📘

Configuration and Usage

For configuration and usage of this connector please go to the Salesforce Connector guide.

Installation Requirements

📘

SaaS Environments

No action needs to be taken for customers on cloud deployments hosted by Smart Communications as the environment should already have this connector installed. If you need a licence please contact your Customer Service Manager.

For customers on self-hosted deployments (either in the cloud or on-premise), consider the following requirements before installing or upgrading this extension:

  • You must have administrator/elevated permissions to the SmartIQ web server, including the ability to copy and replace files in the SmartIQ installation folder. This is usually c:\inetpub\wwwroot\<<productname>>. However, this may vary from system to system.

  • You must have the following installation files:

    • Salesforce.Common.dll
    • Salesforce.Force.dll
    • SalesforceExtension.dll
  • Ensure you have a compatible version of the connector with your current SmartIQ system (Connector and SmartIQ should match versions)

️ Schedule Downtime

Changes to the configuration may cause interruptions to users in forms.

  • Before installing this Connector in a production SmartIQ environment, ensure the environment is backed up.
  • It is recommended that this installation is tested in a non-production environment first, and installed during scheduled downtime.

Installation Files

You must have the following installation files:

  • Salesforce.Common.dll
  • Salesforce.Force.dll
  • SalesforceExtension.dll

Installation and Configuration

Use the instructions below to install the connector. If you are upgrading the extension from a previous version, refer to the section Upgrading the Connector.

Note that [<<productname>> Produce Path] refers to the installation path on the web server running SmartIQ where the Produce site has been installed. By default, this is c:\inetpub\wwwroot\<<productname>>\produce. However, this may vary from environment to environment. Equally, [<<productname>> Manage Path] refers to where the Manage site has been installed, and [<<productname>>Scheduler Path] refers to the where the Scheduler service has been installed.

How to Install the Salesforce Connector

  1. Copy the installation files into the following folder on the SmartIQ web server:
    [<<productname>> Produce Path].
  2. Using a text editor such as Notepad, open the following file:
    [<<productname>> Produce Path]\appsettings.json

📘

Note

Ensure you have elevated privileges when opening the appsettings.json file, otherwise you may not be able to save in the current folder.

  1. Locate the <Extensions> section of the appsettings.json file and add the following entries:
"SalesforceExtension.CreateSalesforceObjectAction, SalesforceExtension",
"SalesforceExtension.UpdateSalesforceObjectAction, SalesforceExtension",
"SalesforceExtension.CreateSalesforceDocument, SalesforceExtension",
"SalesforceExtension.SalesforceDatasource, SalesforceExtension"

Produce appsettings.json file should look like:

{
  "Extensions": [
    "Intelledox.Extension.DatasourceBuiltin.OleDbDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.SqlServerDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.CsvDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.OdbcDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.WebserviceDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.XmlDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.InfinitiDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.JsonDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.RestDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.ActionBuiltin.FileAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.SQLServerAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.DownloadPageMessageAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.RedirectAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.EmailAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.PrintAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.UserAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.WebhookAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.RESTAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.OracleAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.PushNotificationAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.EscalationBuiltin.EmailEscalation, Intelledox.Extension.EscalationBuiltin",
    "Intelledox.Extension.EscalationBuiltin.ReassignmentEscalation, Intelledox.Extension.EscalationBuiltin",
    "Intelledox.Extension.EscalationBuiltin.PushNotificationEscalation, Intelledox.Extension.EscalationBuiltin",
    "Intelledox.Extension.ActionBuiltin.LogMessageAction, Intelledox.Extension.ActionBuiltin",
    "Intelledox.Extension.ActionBuiltin.SQLProjectResultsAction, Intelledox.Extension.ActionBuiltin",
    "SalesforceExtension.CreateSalesforceObjectAction, SalesforceExtension",
    "SalesforceExtension.UpdateSalesforceObjectAction, SalesforceExtension",
    "SalesforceExtension.CreateSalesforceDocument, SalesforceExtension",
    "SalesforceExtension.SalesforceDatasource, SalesforceExtension"
  ],
  "Authentication": {
    "Settings": {
      "CookiePrefix": "infiniti",
      "Timeout": "30"
    }
  }
}

A similar process has to be done to configure Salesforce data source in manage.

  1. Copy the files listed above into the following folder on the SmartIQ web server:
    [<<productname>> Manage Path]
  2. Using a text editor such as Notepad, open the following file:
    [<<productname>> Manage Path]\appsettings.json
"SalesforceExtension.SalesforceDatasource, SalesforceExtension"

Manage appsettings.json file should look like:

{
  "Extensions": [
    "Intelledox.Extension.DatasourceBuiltin.OleDbDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.SqlServerDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.CsvDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.OdbcDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.WebserviceDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.XmlDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.InfinitiDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.JsonDatasource, Intelledox.Extension.DatasourceBuiltin",
    "Intelledox.Extension.DatasourceBuiltin.RestDatasource, Intelledox.Extension.DatasourceBuiltin",
    "SalesforceExtension.SalesforceDatasource, SalesforceExtension"
  ],
  "AppSettings": {},
  "Authentication": {
    "Settings": {
      "CookiePrefix": "infiniti",
      "Timeout": "30"
    }
  },
  "Styles": {
    "Well": {
      "appliesto": "question,layout",
      "class": "well"
    },
    "Jumbotron": {
      "appliesto": "question,layout",
      "class": "jumbotron"
    },
    "Alert (success)": {
      "appliesto": "question,layout",
      "class": "alert alert-success"
    },
    "Alert (info)": {
      "appliesto": "question,layout",
      "class": "alert alert-info"
    },
    "Alert (warning)": {
      "appliesto": "question,layout",
      "class": "alert alert-warning"
    },
    "Alert (error)": {
      "appliesto": "question,layout",
      "class": "alert alert-danger"
    },
    "Label (default)": {
      "appliesto": "question",
      "class": "labelIx label-default"
    },
    "Label (primary)": {
      "appliesto": "question",
      "class": "labelIx label-primary"
    },
    "Label (success)": {
      "appliesto": "question",
      "class": "labelIx label-success"
    },
    "Label (info)": {
      "appliesto": "question",
      "class": "labelIx label-info"
    },
    "Label (warning)": {
      "appliesto": "question",
      "class": "labelIx label-warning"
    },
    "Label (error)": {
      "appliesto": "question",
      "class": "labelIx label-danger"
    }
  }
}

Using a web browser, navigate to the SmartIQ Produce and SmartIQ Manage applications to allow the system to register the connector.

The Salesforce Connector should now be installed ready for configuration and usage.

Upgrading the Connector

If your SmartIQ environment is already running an earlier version of the Salesforce connector and you are upgrading to a new version of SmartIQ, please follow the upgrade steps below.

How do I know if I need to run these steps?

A sign that you are using an earlier version of the Salesforce Connector has a dll called DocuSignConnector.dll in both [<<productname>> Produce Path]\bin and [<<productname>> Manage Path]\bin folder. If this is the case, follow How to upgrade a Legacy SalesforceConnector.

Can I install both versions at the same time?

No, the version 3 Connector is based on the Provider Model which is incompatible with this version of SmartIQ.

For Legacy Version Salesforce Connectors

If you have been using the legacy version of the Salesforce Connector, remove the legacy version of the Salesforce Connector ONLY AFTER you have finished migrating all your projects to using the newer version of the connector.
If you are still in the progress of migrating your projects, we would recommend keeping both versions of the connector in your environment.

How to Upgrade a v10+ Salesforce Connector

  1. Make sure you clear all action inputs of the Salesforce Connector registered in the database, as the newer version of the connector will re-register them upon successful upgrade. Copy and paste the query below into the query window and click Execute.
DELETE FROM [dbo].[Routing_ElementType]
  WHERE [RoutingTypeId] = 'ef957fe0-bcb3-4da3-a943-6a002fb0d9ac'
  1. Copy the installation files into the following folders on the SmartIQ web server, overwriting the existing files:
    [<<productname>> Produce Path]\bin and [<<productname>> Manage Path]\bin
  2. Using a web browser, navigate to the SmartIQ Produce application to allow the system to register the upgraded connector.
  3. In the web browser, also navigate to the SmartIQ Manage application.

How to Upgrade a Legacy Salesforce Connector

📘

This migration has to occur prior to upgrade to this version.

  1. Make sure you remove all files of the current Salesforce Connector from your SmartIQ web server. Navigate to your [SmartIQ Produce Path]\bin folder, then remove the following files:
  • Salesforce.Common.dll
  • Salesforce.Force.dll
  • SalesforceExtension.dll
  1. Navigate to your [<<productname>> Manage Path]\bin folder, then remove the same files listed in the previous step.
  2. Using a text editor such as Notepad, open [<<productname>> Produce Path]\appsettings.json. Locate the “Extensions” section of the appsettings.json file and remove the following entries if present:
"Intelledox.Action.LegacyAction`1[[SalesforceExtension.CreateSalesforceObjectAction, SalesforceExtension]], Intelledox.Action",
"Intelledox.Action.LegacyAction`1[[SalesforceExtension.UpdateSalesforceObjectAction, SalesforceExtension]], Intelledox.Action",
"Intelledox.Action.LegacyAction`1[[SalesforceExtension.CreateSalesforceDocument, SalesforceExtension]], Intelledox.Action",
"Intelledox.Datasource.LegacyDatasource`1[[SalesforceExtension.SalesforceDatasource, SalesforceExtension]], Intelledox.Datasource"
  1. Locate the “LegacyActions” property if present, and remove the following if present:
"LegacyActions": {
  "SalesforceExtension.CreateSalesforceObjectAction, SalesforceExtension": {
    "Name": "Create Salesforce Object"
  },
  "SalesforceExtension.UpdateSalesforceObjectAction, SalesforceExtension": {
    "Name": "Update Salesforce Object"
  },
  "SalesforceExtension.CreateSalesforceDocument, SalesforceExtension": {
    "Name": "Create Salesforce Document"
  }
}
  1. Locate the “LegacyDatasources” property if present, and remove the following if present:
"LegacyDatasources": {
  "SalesforceExtension.SalesforceDatasource, SalesforceExtension": {
    "Name": "Salesforce"
  }
}
  1. Using a text editor such as Notepad, open [<<productname>> Manage Path]\appsettings.json. Locate the “Extensions” section of the appsettings.json file and remove the following entries if present:
"Intelledox.Datasource.LegacyDatasource`1[[SalesforceExtension.SalesforceDatasource, SalesforceExtension]], Intelledox.Datasource"
  1. Locate the “LegacyDatasources” property if present, and remove the following:
"LegacyDatasources": {
  "SalesforceExtension.SalesforceDatasource, SalesforceExtension": {
    "Name": "Salesforce"
  }
}
  1. Copy the installation files (these files should be found in upgrade pack’s “Bin” folder) into your [SmartIQ Produce Path]\bin and [SmartIQ Manage Path]\bin folder:
  • Salesforce.Common.dll
  • Salesforce.Force.dll
  • SalesforceExtension.dll
  1. Using a text editor such as Notepad, open the file [<<productname>> Produce Path]\appsettings.json
  2. Locate the <Extensions> section of the appsettings.json file and add the following entries:
"SalesforceExtension.CreateSalesforceObjectAction, SalesforceExtension",
"SalesforceExtension.UpdateSalesforceObjectAction, SalesforceExtension",
"SalesforceExtension.CreateSalesforceDocument, SalesforceExtension",
"SalesforceExtension.SalesforceDatasource, SalesforceExtension"
  1. Copy the files listed above into the following folder on the SmartIQ web server:
    [<<productname>> Manage Path]\bin
  2. Using a text editor such as Notepad, open the following file:
    [<<productname>> Manage Path]\appsettings.json
  3. Locate the <Extensions> section of the appsettings.json file and add the following entries:
"SalesforceExtension.SalesforceDatasource, SalesforceExtension"
  1. Using a web browser, navigate to the <<productname>> Produce and <<productname>> Manage applications to allow the system to register the Connector.

Installation to Scheduler

If the target environment is using the Scheduler, it is best practice to always install connectors and accelerators to this service at the same time as the installation in SmartIQ
Produce application. If this is not installed to the Scheduler there may be errors if any projects are executed from the scheduler that refers to this connector.

To install any connector to the Scheduler, follow the instructions in this guide as they apply to SmartIQ Produce, except instead of [SmartIQ Produce Path] use [SmartIQScheduler Path], noting that there is no ‘bin’ folder in this path so all files should be copied into the root of this path. For example, consider the path:

c:\inetpub\wwwroot\<<productname>>\produce

To install to the Scheduler, simply use this path:

c:\inetpub\wwwroot\<<productname>>\IntelledoxScheduler

Also, you must apply the same configuration changes as instructed for the Produce appsettings.json file.