Where do I begin?
STEP 1: CUSTOM FIELD CREATION
Custom fields are required to be created in Snowflake for the Vertify integration. Please create these fields on the appropriate table(s) or object(s) (i.e., Leads, Contacts, and Accounts). Reference the API Name column in the table below for the list of how to title the fields, the needed data type, and the purpose of the field for context.
|API Name||Data Type||Purpose|
|ExternalContactId||String||This field will be used to house the MAP Contact’s internalId, and for merging and lookup purposes in Vertify.|
|ExternalCompanyId||String||This field will be used to house the MAP Company’s internalId, and for merging and lookup purposes in Vertify.|
|SyncToVertify||Boolean||This field will be hard-coded by Vertify or by a workflow in CRM. It is used to determine which records are eligible to move back to the MAP and for filtering in Vertify.|
STEP 2: SNOWFLAKE CREDENTIAL CREATION
It is preferred that users are created with an Administrator role to ensure that no permissions errors are encountered during the implementation.
- Log into Snowflake as an ACCOUNTADMIN
- Action Item: Please note the organization_name, account_name and account_locator that will be generated in this query in a separate document, such as text editor or notepad. You will need these when connecting with Vertify in Step 3 below.
- Execute query:
use role orgadmin;
show organization accounts;
- Action Item: Please note the OAUTH_CLIENT_ID and OAUTH_CLIENT_SECRET that will be generated in this query in your open document. You will also need these when connecting with Vertify in Step 3 below.
This will create OAUTH refresh tokens that expire after the maximum of 90 days. This means a Vertify user would need to disconnect and reconnect to Snowflake once every 3 months. You can request via Snowflake Support to change the refresh token timeout for your Snowflake environment. For example, to request a timeout of 5 years, request the maximum OAUTH_REFRESH_TOKEN_VALIDITY for a SECURITY INTEGRATION to be increased to 157784630 seconds.
- Execute query:
CREATE SECURITY INTEGRATION OAUTH_VERTIFY_INTEGRATION
TYPE = OAUTH
ENABLED = TRUE
OAUTH_CLIENT = CUSTOM
OAUTH_CLIENT_TYPE = ‘CONFIDENTIAL’
OAUTH_REDIRECT_URI = ‘https://oauth-connect.vertify.com/snowflake’
OAUTH_ISSUE_REFRESH_TOKENS = TRUE;
Select system$show_oauth_client_secrets (‘OAUTH_VERTIFY_INTEGRATION’);
- Tables must have a primary key defined or they will not be found
- Views support has not yet been added (current as of Aug 2023)
- Primary Keys are not enforced as unique in Snowflake; therefore, it is possible that an UPDATE will update more than one row.
- Snowflake does not support retrieving the values of primary keys for inserted rows; therefore, we only support inserts and updates if the primary key fields are part of the mapping.
Please note, the following are unsupported Datatypes in Snowflake:
STEP 3: VERTIFY SYSTEM SETUP
Refer to the steps outlined below to set up the system in Vertify. Alternatively, you’re welcome to schedule a working session with your Vertify Integration Specialist for assistance.
- In Vertify, navigate to the Connect page
- Click the New System button -
- Select Snowflake from the Remote System dropdown
- Wait for other parameters to auto-populate, and then select the most recent connector version
- Note: System Name and Prefix must be uniquely named if more than one connection to that System exists in your Workspace
- Enter the required system credentials from the text document you had open in Step 2 above-
- Account [Required]
- Client Id [Required]
- Client Secret [Required]
- Database [Required]
- Locator [Required]
- Organization [Required]
- Warehouse [Required]
- Click Connect to Snowflake
- Press Save
- System will then scan automatically, and the response will be returned either successful or an error message with the authentication issue. Please reach out to your specialist for additional assistance as needed.