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
- Log in to Outreach as an Admin.
- Navigate to Administration > Integrations > Connectors
- 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.
- 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.
- 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.
- 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.
- Navigate to Administration > Integrations > Connectors.
- Select Snowflake and click Add Connection.
- Click Continue.
- Enter credentials
- Account identifier - You can find this identifier at the beginning of your Snowflake URL. The preferred method is: <organization_name>-<account_name>
- Username and Password – 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://<org_name-account_name>.snowflakecomputing.com
- 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.
- Navigate to Administration > Integrations > Connectors.
- Select Snowflake and click Add Connection.
- Select where you would like to map your data to from one of the options.
- 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.
- 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.
-
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.
- 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.
-
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
- Example: To set a weekly sync, recurring every Friday, you can select:
- Click Next.
Sync Your Data
With your data mapped, you will need to select ‘Poll’ to start synchronizing the records from Snowflake to Outreach.
- Navigate to Administration > Integrations > Connectors.
- Select the dropdown arrow next to your connection and locate the data table you would like to start synchronizing.
- 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).
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.