Configuring the Outreach Snowflake Connector

Created by Rakesh Saini, Modified on Mon, 9 Feb at 11:01 PM by Alsabana Sahubarali

Objective

This article provides information to Outreach Admins about Outreach Data Enrichment with Snowflake, which is an inbound data ingestion product that brings your Snowflake data into Outreach. This feature allows customers to bring critical data not stored in CRM into Outreach, such as Products, Purchases, and Usage Metrics.

Applies To

  • Data Integrations
  • Outreach Admins

Before You Begin

  • This is an admin-controlled feature

Procedure

Requesting Access

  1. Log in to Outreach as an Admin.
  2. Navigate to Administration > Integrations > Connectors.
  3. Click on Request License which will initiate a ticket with our provisioning team. To learn more, please reach out to your Outreach account team.

Data Preparation

Before synchronizing data from Snowflake, you will need to create a custom object Outreach instance. This custom object will have to be an exact match to the table in your Snowflake instance.

  1. Create a new custom object.
    • Define a custom object which will be used to map your Snowflake data into Outreach. Custom objects allow you to add fields, create relationships with other objects, set user permissions, and more. Outreach Data Enrichment requires an exact mapping between your Snowflake data table and your custom object. Below is an example of a custom object you could create to bring in product usage data from Snowflake.
  2. Create a corresponding table view in Snowflake.
    • Your table in Snowflake must include an external_id field and then all matching fields you have created in the Outreach custom object. The external_id field is a unique ID for the external record, so if we see the same record in a subsequent sync, we can update Outreach rather than create a duplicate. In the example below, the external_id field will be the ID column in Snowflake that is unique to the record.

Connect to Snowflake

Before you can begin mapping data into Outreach, you will first need to authenticate a connection between your Outreach instance and your Snowflake instance.

  1. Navigate to Administration > Integrations > Connectors.
  2. Select Snowflake and click Add Connection.
  3. Click Continue.
  4. Enter credentials
    • Account identifier - You can find this identifier at the beginning of your Snowflake URL. The preferred method is: -
    • Username and private key – These are your credentials for your Snowflake account
    • Warehouse - This specifies the warehouse to use when Outreach executes queries in Snowflake
    • Database - This specifies the database to use when Outreach executes queries in Snowflake
    • Schema - This specifies the schema to use when Outreach executes queries in Snowflake
    • Role (optional) - Use this field to specify the role Outreach should use when executing queries in Snowflake
    • Access URL - If you are providing one, the preferred URL format is a global region-less format: https://.snowflakecomputing.com
  5. Click Create.

Your connector authentication setup should now be complete.

Map Your Data

With your data prepared and an authenticated connection, you are now ready to map your data.

  1. Navigate to Administration > Integrations > Connectors.
  2. Select Snowflake and click Add Connection.
  3. Select where you would like to map your data to from one of the options.
  4. Select the appropriate Snowflake connection and the right Outreach instance. You can then begin defining both the source table in Snowflake and the destination object in Outreach.
  5. Select your source table in Snowflake and your destination object in Outreach. These are the required fields that our service uses to retrieve records from Snowflake to Outreach.
  6. Set the required metadata. These are the required fields that our service uses to map the external record with our internal system.
    • The external_id field is a unique ID for the external record, so if we see the same record in a subsequent sync, we can update an existing record in Outreach rather than create a duplicate. The external_id for this Snowflake Connector will be the ID column in Snowflake that is unique to the record.
      • Note: For Prospect, Account, and Opportunity objects, select the Outreach internal Prospect, Account, Opportunity ID fields respectively.
    • The updated_at and created_at to determine how to synchronize the record. If the latest seen version of a record by our system is newer than what you gave us, we will ignore what Snowflake gives us since we have a newer version of the record already logged. The updated_at and created_at will be timestamp columns in Snowflake that denote when the record was created, and when it was last updated at.
    • The is_deleted to keep track of deleted records in our system. If you want to delete data on your end, we need some event to trigger the event in Outreach. We need this column so that we will know to delete the record in Outreach when the record no longer exists in your record set.
  7. Set the sync frequency. You can set the frequency to an interval and time unit as desired. You can specify the start and end dates for the sync.
    • Example: To set a weekly sync, recurring every Friday, you can select:
      • Time value = 1
      • Time unit = weeks
      • Start date: Set to Friday, mm/dd/yyyy
      • End date: optional
  8. Click Next.

Sync Your Data

With your data mapped, you will need to select ‘Poll’ to start synchronizing the records from Snowflake to Outreach.

  1. Navigate to Administration > Integrations > Connectors.
  2. Select the dropdown arrow next to your connection and locate the data table you would like to start synchronizing.
  3. Click the ellipsis and select Poll.

Manage Your Connection

To manage your connections, locate the data table you would like to configure and click the ellipsis.

  • Pause - to pause the connection
  • Poll - to start synchronizing your data
  • Configure - to make changes to the connection
  • Remove - to remove the connection

You will be able to create as many connections to bring in as much data as needed. Please do note that each connection has a 1-1 table between your Snowflake instance and your Outreach instance.

Create Sales Automations

Using Triggers functionality in Outreach, you can now use the data from Snowflake to create tasks and assign tasks to owners of the accounts. To create an Outreach Trigger, please refer to this Trigger Article.

Example with product usage metrics:

Once Snowflake usage metrics are ingested into Outreach, the data can be seen as a custom object with its associated fields.

The usage metrics can now be used to set workflows in Triggers. In this example, you can set the condition as follows:

If the active rate is less than or equal to 60, the owner of the task will meet the customer in person immediately (1 day).

Configuring for Prospects, Accounts and Opportunities

Admins can enrich standard or custom fields on existing Prospect, Account & Opportunity records in Outreach with data from Snowflake.

  1. Log in to Outreach as an Admin.
  2. Navigate to Administration > Integrations > Connectors.
  3. Click Add Connection.
  4. Select the record - Accounts, Prospects, Opportunities or other to enrich
  5. Select the appropriate Snowflake instance.
  6. Select the following on the Account Object
    • external_id
    • created_at
    • updated_at
    • is_deleted
  7. Review all fields.
  8. Click Next to finish. 

Frequently Asked Questions

How do I synchronize new fields after I have set up the Snowflake connection and the data is synchronizing?

You will need to start a new connection with the table that has the new fields and start the sync process.

Syncing stopped during the initial data load, what do I do?

You can restart the load by clicking on “Poll” on the main page.

Can I reorder my columns in Outreach once I’ve established the sync?

Yes.

What should I do when my source table fields in Snowflake change?

You will need to change your table in Outreach to match the new table fields. Then start a connection and sync process.

Are there any limits to the number of Snowflake data tables I can synchronize with Outreach?

After purchasing the Outreach Data Enrichment SKUs, you can create as many connections as you need to bring in data.

Are there any limits to the number of records of Snowflake I can synchronize with Outreach?

Yes, Outreach Data Enrichment pricing is determined by your cumulative volume of enriched records. Outreach reserves the right to monitor such usage and provide an invoice for any overages.

Does Outreach Data Enrichment include bi-directional sync?

No. Outreach Data Enrichment only brings forward data from the connected data source to Outreach. When a field changes in the connected data source, the field will be updated in Outreach at the next scheduled sync. Any edits made in Outreach will not be reflected in the connected data source.

What are the best practices around managing the scale of data that could be ingested via the Snowflake Connector?

We strongly recommend that customers create separate tables to hold a subset of their data relevant to the use case. Customers typically filter the data further based on attributes like the time horizon to ensure that the most relevant information is utilized within Outreach.

Additional considerations include:

  1. Customers use a convention like to identify the tables, going forward, in their data lake.
  2. Typical use cases center on importing product health and product metrics data, with custom views filtered for the last week or month, to drive sales plays.

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article