Setup the FullContact application in Snowflake

Welcome

This guide will walk you through the initial configuration steps for using FullContact's application within Snowflake.

If you run into any challenges working through this guide, please send an email to your FullContact customer success manager or to [email protected] for assistance.

Prerequisites

  • A user with the ACCOUNTADMIN role
  • Have agreed to the Snowflake Marketplace's terms of service to consume listings
  • Your Snowflake license has been whitelisted to access Snowflake applications
    • FullContact will request some information from you, the customer, in order to grant access and to do the necessary routing for approval with Snowflake. Once that information is received, access is usually approved within <24 hours.

Setup

Note: To use this application, you will need a FullContact API Key.

  1. In Snowsight, Visit the "Apps" section of Snowsight from your Snowflake Account.
  2. Under the "Recently Shared with You" section, click the "Get" button next to the FullContact Native Identity Application
  3. Choose the warehouse to use to run the install scripts (an XS warehouse works fine).
  4. Expand the Options dropdown, where you are able to name the application anything you would like. We have named the app "FC_NATIVE_APP". This is the app name we use in the SQL queries we provide post installation of the application in a Snowsight worksheet to help you complete the installation.
  5. Click the Get button to install the application. The Get button will be deactivated while installing. There is not currently a loader that displays to give a sense for how the installation is progressing - the installers typically complete within 1-2 minutes.
  6. In a worksheet, run the GET_SQL_POST_INSTALL stored procedure. This will output a series of SQL statements.
    These commands create the specified API Integration, grant the appropriate access to the application and creates a database, FC_NATIVE_APP_IO that will be used to store the output of the application.
CALL FC_NATIVE_APP.APP_SCHEMA.GET_SQL_POST_INSTALL('FC_API_INT');
  • Calling this stored procedure should output a set of SQL statements like:
-- 1. Create FC API integration
CREATE OR REPLACE API INTEGRATION FC_API_INT
API_PROVIDER = aws_api_gateway
API_AWS_ROLE_ARN = 'arn:aws:iam::966965295085:role/cx-blizzard-snowflake'
API_ALLOWED_PREFIXES = ('https://um58694ui8.execute-api.us-east-1.amazonaws.com/blizzard-default/v3')
ENABLED = true;
GRANT USAGE ON INTEGRATION FC_API_INT TO APPLICATION FC_NATIVE_APP;

-- 2. Allow application to create a dedicated database for input/output tables
GRANT CREATE DATABASE on account to APPLICATION FC_NATIVE_APP;

-- 3. Install external functions (requires FC API integration)
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_GET_PRODUCT_USAGE('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_GET_DATAPACKS('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_GET_OAUTH_GROUP_LIST('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_GET_OAUTH_GROUP_MEMBER_LIST('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_PUT_USAGE('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_FC_ENRICH('FC_API_INT');
CALL FC_NATIVE_APP.APP_SCHEMA.CREATE_EF_FC_MAPRESOLVE('FC_API_INT');

```

Copy and execute these SQL statements and run it in a worksheet to grant the necessary permissions needed to run our application.

Granting access to other ROLES in your account

After you install the FullContact Snowflake application you will need to decide which internal users and roles in your account should be allowed to access it. An easy way to do this is to click on the "Manage Access" button in the upper right of the application, choose the role, add it, and ensure it is assigned "FC_USER".

Closing

You've got the basic configuration setup for the FullContact application within Snowflake.

Now, click through the other parts of the guide to understand how to use each of the pieces of functionality that are available within this app.


What’s Next

Check out our guides on using Native Resolve and Media Amplification