Salesforce

Supports:

  • ✅ Models
  • ✅ Model sync destination
  • ✅ Bulk sync source

Connection

Configuration

NameTypeDescriptionRequired
client_idstringClient ID

(required if connect_mode is “clientcredentials”)
false
client_secretstringClient Secret

(required if connect_mode is “clientcredentials”)
false
connect_modestringDefault: browser (i.e. oauth through Polytomic). If ‘code’ is specified, the response will include an auth_code for the user to enter when completing authorization. NOTE: when supplying client_id and client_secret the connect mode must be ‘api’.

Accepted values: browser, clientcredentials, code, api
false
daily_api_callsintegerDaily call limit

The daily Salesforce API call cap that Polytomic should adhere to.
false
domainstringDomain

The Salesforce instance’s login domain, e.g. acmecorp.my.salesforce.com
true
enable_multicurrency_lookupbooleanEnable multicurrency source field support

If incremental mode for bulk-syncing from Salesforce formula fields is enabled, setting this to true extends support to accurate currency conversions.
false
enable_toolingbooleanEnable support for Tooling API

If true, expose objects from the Salesforce Tooling API in the Polytomic bulk sync source object list.
false
enforce_api_limitsbooleanEnforce API limits

If true, Polytomic will restrict itself to a fixed daily cap of Salesforce API calls enforced by the number in daily_api_calls.
false
oauth_refresh_tokenstringfalse

Example

1{
2 "name": "Salesforce connection",
3 "type": "salesforce",
4 "configuration": {
5 "client_id": "a45gadsfdsaf47byor2ugfbhsgllpf12gf56gfds",
6 "client_secret": "ay8d5hdepz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq",
7 "connect_mode": "api",
8 "daily_api_calls": 0,
9 "domain": "http://instance.my.salesforce.com",
10 "enable_multicurrency_lookup": false,
11 "enable_tooling": false,
12 "enforce_api_limits": false,
13 "oauth_refresh_token": "dasfdasz62px8lqeoakuea2ccl4rxm13i6tbyorxhu1i20kc8ruvksmzxq"
14 }
15}

Read-only properties

NameTypeDescriptionRequired
instance_url_overridestringInstance URL override

This URL will be used for API requests instead of the one provided by Salesforce during OAuth.
false
usernamestringSalesforce userfalse

Model Sync

Source

Configuration

NameTypeDescriptionRequired
include_deletedbooleanInclude deleted recordsfalse
querystringfalse
tablestringObjectfalse

Example

1{
2 ...
3 "configuration": {
4 "include_deleted": false,
5 "query": "select Id from Contact",
6 "table": "Contact"
7 }
8}

Target

Salesforce connections may be used as the destination in a model sync. Some destinations support additional configuration.

Lead or Contact

Applies to:

  • multi:leadOrContact
Configuration
NameTypeDescriptionRequired
bulk_batch_sizeintegerBulk batch sizefalse
concurrency_modestringConcurrency mode

Accepted values: Parallel, Serial
false
create_records_asstringCreate new records as

Accepted values: Contact, Lead, ContactIfAccountId
true
ingestion_apistringIngestion API

Accepted values: automatic, bulk, rest
true
Example
1{
2 ...
3 "target": {
4 "configuration": {
5 "bulk_batch_size": 100,
6 "concurrency_mode": "Parallel",
7 "create_records_as": "",
8 "ingestion_api": "bulk"
9 }
10 }
11}

Leads

Applies to:

  • Lead
Configuration
NameTypeDescriptionRequired
bulk_batch_sizeintegerBulk batch sizefalse
concurrency_modestringConcurrency mode

Accepted values: Parallel, Serial
false
ignore_invalid_referencesbooleanIgnore invalid external ID referencesfalse
ingestion_apistringIngestion API

Accepted values: automatic, bulk, rest
true
insert_null_valuesbooleanCopy null valuesfalse
invalid_relationshipsstringRecords with invalid relationship IDs

Accepted values: error, omit_values, omit_records
true
only_sync_differentbooleanOnly update if different from Salesforcefalse
skip_convertedbooleanIgnore converted and duplicate Leadsfalse
sort_batches_bystringSort batches bytrue
Example
1{
2 ...
3 "target": {
4 "configuration": {
5 "bulk_batch_size": 100,
6 "concurrency_mode": "Parallel",
7 "ignore_invalid_references": false,
8 "ingestion_api": "bulk",
9 "insert_null_values": false,
10 "invalid_relationships": "",
11 "only_sync_different": false,
12 "skip_converted": false,
13 "sort_batches_by": "AccountId"
14 }
15 }
16}

Other targets

Configuration
NameTypeDescriptionRequired
bulk_batch_sizeintegerBulk batch sizefalse
concurrency_modestringConcurrency mode

Accepted values: Parallel, Serial
false
ingestion_apistringIngestion API

Accepted values: automatic, bulk, rest
true
insert_null_valuesbooleanCopy null valuesfalse
invalid_relationshipsstringRecords with invalid relationship IDs

Accepted values: error, omit_values, omit_records
true
only_sync_differentbooleanOnly update if different from Salesforcefalse
sort_batches_bystringSort batches bytrue
Example
1{
2 ...
3 "target": {
4 "configuration": {
5 "bulk_batch_size": 100,
6 "concurrency_mode": "Parallel",
7 "ingestion_api": "bulk",
8 "insert_null_values": false,
9 "invalid_relationships": "",
10 "only_sync_different": false,
11 "sort_batches_by": "AccountId"
12 }
13 }
14}