Salesforce

Salesforce is the world's #1 CRM platform

Authentication methods

Credentials

Use your username, password, and security token to authenticate as a user.

If you don't know your security token, see the Salesforce docs for instructions on how to reset it.

OAuth (Client Credentials)

Omnata does not provide a centralized OAuth app for all customers to use. Instead, you will create a private Connected App within your Salesforce instance.

Currently, the Authorization Code flow is not available due to incompatibilities with Snowflake OAuth secrets.

Use the following settings:

  • Connected App Name: Omnata Sync

  • Contact email: Chose any internal email

  • Enable OAuth Settings: checked

  • Enable for Device Flow: checked

  • Leave the default Callback URL, this will not actually be used

  • Selected OAuth Scopes:

    • Manage user data via APIs (api)

    • Perform requests at any time (refresh_token, offline_access)

  • Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows: unchecked

  • Enable Client Credentials Flow: checked

Then click Save, then Continue

Afterwards, click Manage, then Edit Policies

Under the Client Credentials Flow heading, choose a User in the Run As box. This is the user that Omnata Sync will assume the privileges of when connecting.

Click Save.

Next, to find your Consumer Secret and Key, navigate to View on the Connected App, and then click the Manage Consumer Details button.

During the connection configuration process, you will also be asked for your Salesforce domain, you can find this under the "My Domain" section in Salesforce setup.

Inbound Syncs

Supported Sync Strategies

  • Full Refresh - Replace

  • Full Refresh - Append

  • Incremental - Append

  • Incremental - Merge

Supported Streams

The following objects are supported:

There are some objects that appear in the global describe() results that are not valid for syncing, for various reasons:

  • Any object ending in "ChangeEvent" is not allowed to be queried

  • Certain objects don't support fetching via the query API, and some can only be fetched as a nested result in another object type

  • If there is a particular object missing from the list which you expect to be able to sync, please get in touch at support@omnata.com

Each object is synced as a separate stream and appears as a separate table in Snowflake.

The available objects are determined by Salesforce access rules:

  • The roles and permissions of the authenticated Salesforce user

  • The Salesforce object must be accessible with the "queryable" property set to true.

Outbound Syncs

Supported Targets

  • Standard Objects

  • Custom Objects

Supported Sync Strategies

Functions

SOQL_QUERY

Executes a SOQL query and returns the results.

Parameters:

  • CONNECTION_SLUG (VARCHAR): The slug of the connection to query

  • QUERY (VARCHAR): The SOQL query

  • USE_BULK_API (BOOLEAN): Set to true to use the Salesforce Bulk API, recommended if you expect a large number of results.

Examples:

select RECORD
from table(OMNATA_SALESFORCE_PLUGIN.UDFS.SOQL_QUERY(
                'my-salesforce-connection',
                'select Id, Name from Account',
                true));

FETCH_SOBJECTS

Fetches a list of all objects in the Org by using global describe.

Parameters:

  • CONNECTION_SLUG (VARCHAR): The slug of the connection to query

Examples:

select RECORD
from table(OMNATA_SALESFORCE_PLUGIN.UDFS.FETCH_SOBJECTS(
                'my-salesforce-connection'));

Last updated