Omnata Product Documentation
  • Omnata Sync for Snowflake
    • What is Omnata Sync for Snowflake?
    • How it works
      • Terminology
      • Branching Mode
      • Sync Directions and Strategies
        • Outbound
        • Inbound
      • Rate Limiting
      • Access Control
      • Notifications
      • Security and Privacy
      • Internal tables
      • Internal Stored Procedures
      • FAQ
    • Step-by-step guides
      • 1. Install the Omnata Sync Engine
      • 2. Install the Omnata Plugin
      • 3. Configure the Plugin
      • 4. Create a connection
      • 5. Create a sync
    • Apps
      • Aerobotics
        • 📘Release History
      • Airtable
        • 📘Release History
      • Amazon Ads
        • Privacy Notice
      • ApprovalMax
        • 📘Release History
      • Bamboo HR
        • 📘Release History
      • Clockify
        • 📘Release History
      • Contentful
        • 📘Release History
      • GitHub
        • 📘Release History
      • Github
      • Google Ads
        • 📘Release History
      • Google Sheets
        • 📘Release History
      • HubSpot
        • 📘Release History
      • Hubspot
      • Infor Data Lake
        • 📘Release History
      • Jira
        • 📘Release History
      • LinkedIn Ads
        • 📘Release History
      • Mailgun
        • 📘Release History
      • Marketo
        • 📘Release History
      • Meta Marketing
        • 📘Release History
      • Microsoft Ads
        • 📘Release History
      • Microsoft Dynamics 365 Business Central
        • 📘Release History
        • 📘Release History
        • 📘Release History
        • 📘Release History
        • 📘Release History
      • Microsoft Entra ID
        • 📘Release History
        • 📘Release History
        • 📘Release History
        • 📘Release History
      • Microsoft Excel
      • Microsoft SQL Server
        • 📘Release History
      • Monday.com
        • 📘Release History
      • MRPeasy
        • 📘Release History
      • PayHero
        • 📘Release History
      • Pinterest Ads
        • Privacy Policy
      • PostgreSQL
        • 📘Release History
      • Salesforce
        • Salesforce Permissions needed
        • Formula Fields
        • How we use the Salesforce APIs
        • 📘Release History
      • Salesforce Marketing Cloud
        • OAuth for APIs, SFTP for file transfer with GPG on outbound
        • OAuth for APIs, SFTP for file transfer
        • OAuth for APIs, Cloud Storage for file transfer
        • 📘Release History
      • Shopify
        • Outbound sync data structures
        • 📘Release History
      • Slack
        • 📘Release History
      • Tiktok Ads
        • Privacy Policy
      • Typeform
        • 📘Release History
      • Wise
        • 📘Release History
      • Xero
        • 📘Release History
      • Zendesk Support
        • 📘Release History
        • 📘Release History
    • Plugins
      • Anatomy of a Plugin
      • Example Plugins
        • Example Plugin: Slack
        • Example Plugin: Zoho CRM
      • Creating Plugins
      • Advanced Plugin topics
        • Advanced rate limiting / concurrency
        • Custom Jinja filters
        • Custom Record Transformers
        • Dynamic Configuration Forms
        • Test case generation
    • Branching
      • Inbound Sync branching
      • Outbound Sync branching
    • Integrations
      • dbt
        • Validation Tests (coming soon)
    • 📘Release History
  • Omnata Connect for Salesforce
    • Overview
    • Getting Started
      • Install the Salesforce App
      • Connect to your data warehouse
        • Snowflake
        • BigQuery
        • Rockset
        • Firebolt
        • SingleStore (previously MemSQL)
      • Deciding which mode to use
    • Omnata with Salesforce Connect (External Objects)
      • Object Configuration
      • View your data in a list
      • Link to other objects
      • Use in a Report
      • Database schema changes
      • Writing to External Objects
    • Omnata with Salesforce Lightning Components
      • Object Configuration
      • View your data in a list
      • Link to other objects
      • Using the Lightning Component on a page
      • Assigning Permissions
    • Advanced Features
      • Row Level Filtering
      • Multi-Currency handling
        • About Multi-Currency
        • Support in Omnata Connect
        • Apex Features
    • Integrations
      • Datadog
    • Omnata with Salesforce Apex
    • Security
    • Use cases
      • Linked object drill-downs
      • Global Search
      • ERP and historical data
      • Embedded product metrics
    • Best Practices
      • Global Search
      • Change Management
      • Snowflake table design
      • Salesforce page layout
      • Salesforce Caching
Powered by GitBook
On this page
  • Prerequisites
  • Authentication methods
  • Credentials
  • OAuth (Client Credentials)
  • Inbound Syncs
  • Supported Sync Strategies
  • Supported Streams
  • Outbound Syncs
  • Supported Targets
  • Supported Sync Strategies
  • Functions
  • SOQL_QUERY
  • FETCH_SOBJECTS
  • FETCH_SOBJECT_FIELDS
  • FETCH_PICKLIST_VALUES
  • LIST_STANDARD_ACTIONS
  • INVOKE_STANDARD_ACTION
  1. Omnata Sync for Snowflake
  2. Apps

Salesforce

Salesforce is the world's #1 CRM platform

PreviousRelease HistoryNextSalesforce Permissions needed

Last updated 11 days ago

Prerequisites

The Omnata Salesforce Plugin connects to the core Salesforce CRM APIs, aka Sales and Service Cloud, and does not require any add-on products on the Salesforce side to operate. It also supports industry clouds, such as Health Cloud, that are built on the core CRM but have slightly different object schemas.

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 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:

  • Custom Objects

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

  • Update (requires the Salesforce 18 character system ID as an identifier)

  • Create

  • Delete

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

Parameters:

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

Examples:

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

FETCH_SOBJECT_FIELDS

Fetches a list of all field metadata for a given object in the Org.

Parameters:

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

  • SOBJECT_NAME: Type of object to search for

Examples:

select *
from table(OMNATA_SALESFORCE_PLUGIN.UDFS.FETCH_SOBJECT_FIELDS(
                'my-salesforce-connection','Account'));

FETCH_PICKLIST_VALUES

Fetches all picklist values for all fields.

Parameters:

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

Examples:

select *
from table(OMNATA_SALESFORCE_PLUGIN.UDFS.FETCH_PICKLIST_VALUES(
                'my-salesforce-connection'));

LIST_STANDARD_ACTIONS

Lists all available standard Salesforce actions.

Some actions return errors in some environments when attempting to query the full details. If you see NULL values next to certain actions, check the Snowflake event table for warning messages to see the API error.

Parameters:

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

Examples:

select *
from table(OMNATA_SALESFORCE_PLUGIN.UDFS.LIST_STANDARD_ACTIONS(
                'my-salesforce-connection'));

INVOKE_STANDARD_ACTION

Invokes standard Salesforce actions. The list of available actions and required inputs can be retrieved via LIST_STANDARD_ACTIONS

Parameters:

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

  • ACTION_NAME (VARCHAR): The name of the action

  • INPUTS (OBJECT): Inputs to the action

This function returns a variant due to the variety of possible return values the different actions can return.

Examples:

select OMNATA_SALESFORCE_PLUGIN.UDFS.INVOKE_STANDARD_ACTION(
    'my-salesforce-connection',
    'emailSimple',
    {
        'emailAddresses':'james.weakley@omnata.com',
        'emailSubject': 'Hello via Standard Action',
        'emailBody': 'This email was sent via a Snowflake UDF!'
    });

select OMNATA_SALESFORCE_PLUGIN.UDFS.INVOKE_STANDARD_ACTION(
    'my-salesforce-connection',
    'findMatchingIndividuals',
    {
        'searchTerm':'john',
        'searchObject': 'Contact',
        'searchFields': 'All'
    });

Standard Objects - .

Upsert (requires an also marked as Unique)

Mirror (requires an also marked as Unique)

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

Salesforce docs
See the list of Standard Salesforce Objects
External ID field
External ID field
global describe