Data Ingestion Requirements
As of today, Clari supports ingestion of external data from these data sources:
- PostgreSQL (aka Postgres)
- Snowflake
- Microsoft SQL Server
- BigQuery
- Amazon S3 Connector
Before we get into specific requirements, check out these general guidelines for data ingestion:
-
If you're interested in ingesting external data to Clari and using that data in any Clari module (Forecast/Accounts/Opportunities) MUST have the corresponding module running on RevDB.
-
If you want to ingest external data to Clari and use that data in any Clari module, you MUST NOT be using Enterprise Territory Management.
-
If you want to use your ingested data in any Clari module, you MUST use Field Configuration in Clari Studio to create modes.
-
You must whitelist the IP addresses listed for your Google Cloud Platform for the region you are based out of — see this article.
-
You will need to prepare a table in the source system with data to be ingested that follows Clari-specific schema requirements outlined below.
Clari Schema Requirements
Clari’s data model is built around CRM objects and requires some key identifiers to map the source data correctly to those objects. The table below captures these detailed schema requirements. Note that apart from [field_name], which is the custom field(s) you’d like to ingest, all other fields should be named exactly as denoted below.
| Field Name | Data Type | Description | Required |
| ID | int | Primary key of each record you’re trying to push into Clari. This value must be unique across the dataset. | Yes |
| crm_opportunity_id | string | Salesforce opportunity ID that the individual records stored on this table are attributed to. | At least ONE of the three ID fields must be specified Ideally, all three. |
| crm_account_id | string | Salesforce account ID that the individual records stored on this table are attributed to. | At least ONE of the three ID fields must be specified Ideally, all three. |
| crm_owner_id | string | Salesforce owner of the respective record. | At least ONE of the three ID fields must be specified Ideally, all three. |
| [field_name] | decimal | Numerical value (i.e., number of seats) that gets rolled up into the CRM records. | One (or more) [field_name] required |
| [field_name] | money | Numerical value (i.e., Forecast ARR) that gets rolled up into the CRM records.Must include the currency ISO code field if multi-currency is enabled. | One (or more) [field_name] required |
| created_on | date | Date the record was originally created. | Yes (Do NOT change when updating an existing record) |
| updated_on | date | Date the record was updated. Default should be created_on date. | Yes, if the same record will be updated over time. No, if there will be no record updates. |
| crm_currency_iso_code | string | The currency code for [field_name] | Only if multi-currency is enabled |
Requirements for Specific Source Types
Amazon Aurora PostgreSQL
Prerequisites
-
PostgreSQL version 8.4 - 14.x
-
An RDS account with an account administrator role
-
Access to your database server
-
Access to your database host's machine
-
Your database host's IP (e.g., 1.2.3.4) or domain (your.server.com)
-
Your database's port (usually 5432)
-
TLS enabled on your database. Follow Amazon's TLS setup instructions to enable TLS on your database.
Guidelines
| Instructions | Details |
| Create a Fivetran user with read-only permissions |
Create a user: Create a database user for Fivetran's exclusive use
CREATE USER <username> PASSWORD 'some-password';
Grant user read-only access: To grant access to a schema other than PostgreSQL's default public schema, replace public with the schema name
GRANT USAGE ON SCHEMA "public" TO <username>;
GRANT SELECT ON ALL TABLES IN SCHEMA "public" TO <username>;
ALTER DEFAULT PRIVILEGES IN SCHEMA "public" GRANT SELECT ON TABLES TO <username>;
|
| Enable logical replication with pgoutput plugin with WAL enabled for Fivetran incremental sync |
-
Go to your Amazon RDS PostgresSQL master database (For more details with screenshots refer to step #7 in this link)
-
Create new parameter group
-
Apply the above-created parameter group on the database and reboot the database. Or, while creating database, you can apply the parameter group created with above configuration.
-
Login into database console with superuser credentials. Superusers have rds_superuser role
-
Create a logical replication slot for the database you want to sync by running this command:
-
Grant permission to fivetran user to read replication slot using below command.
-
Log in in as Fivetran user and verify that Fivetran user can read the replication slot
Note: For more details about above steps use this link.
|
| Once the above tasks are completed, customer to create a table following Clari schema requirements with data to be ingested. | Refer to the Schema Requirements section above |
| When adding a PostgreSQL data source in Clari studio, provide information in the connection/authentication screen for your source system. |
-
Host
-
Port
-
User
-
Password
-
Database
|
| In the same screen mentioned in the previous instruction, an admin user will make selections. |
-
Connection Method: Connect Directly
-
Update Method: Logical replication of the WAL using the pgoutput plugin
-
Replication Slot: <Replication Slot created in the previous steps>
|
Snowflake
If needed, see the Snowflake and Fivetran setup guide.
To connect Snowflake to Fivetran, you'll need a Snowflake account with the appropriate permissions to create a user and warehouse for Fivetran. You can choose to create an exclusive warehouse for Clari or use an existing warehouse.
Guidelines
1. When adding a Snowflake data source in Clari Studio, an admin must provide the following information in the connection/authentication screen for their source system:
2. In the same screen as specified in the previous instruction, select PASSWORD as the value against Auth field to enter the password in the subsequent Password field.
Microsoft SQL Server
Prerequisites
-
SQL Server 2012 - 2019
-
Your database host's IP (e.g., 1.2.3.4) or domain (your.server.com)
-
Your database's port (usually 1433)
-
TLS enabled on your database. Follow Amazon's TLS setup instructions to enable TLS on your database.
Guidelines
| Instructions | Details |
| Enable Access | To enable access, please follow these instructions. |
|
Create User
|
Run the following queries
USE [<database>];
CREATE LOGIN <username> WITH PASSWORD = '<password>';
CREATE USER <username> FOR LOGIN <username>;
|
|
Grant access
|
Run the following queries:
GRANT SELECT on DATABASE::<database> to <username>;
OR
GRANT SELECT on SCHEMA::<schema> to <username>;
|
|
Enable TLS
|
To enable TLS on your database, follow MSSQL TLS Configuration instructions.
|
|
Allow incoming connections to your MS SQL Server
|
Fivetran connects directly to your MSSQL. To connect directly, configure your firewall and/or other access control systems to allow incoming connections to your MSSQL from Fivetran’s IPs. For more information on this please see this article.
|
|
Enable Incremental Update
The incremental update mechanism is Change Data Capture (CDC)
|
Enable CDC at the database level:
EXEC msdb.dbo.rds_cdc_enable_db [<database>];
To enable CDC for each table you want to integrate:
EXEC sys.sp_cdc_enable_table
@source_schema = [<schema>],
@source_name = [<table>],
@role_name = [<username>];
Note: Fivetran only supports tables with a single CDC capture instance. Our syncs only include tables and columns that are present in a CDC instance. If you add new tables or columns, you must create a new CDC instance that includes them and delete the old instance. For more info please read this article.
|
|
When adding a SQL Server data source in Clari studio, an admin must provide the information to the right in the connection/authentication screen for their source system.
|
-
Host
-
Port
-
User
-
Password
-
Database
|
|
In the same screen as mentioned above, an admin must to make the following selections.
|
Connection Method: Connect Directly
|
If your server is not an Amazon SQL Server RDS, depending on the type of SQL Server being used, see these instructions:
BigQuery
If needed, refer to the BigQuery and Fivetran setup guide.
Prerequisites
To connect BigQuery to Fivetran, you need a BigQuery account with the permissions to assign Job User, Data Viewer, and Admin roles at the dataset level.
Guidelines
| Instructions | Details |
|
Project ID
|
This is the ID of your BigQuery project.
|
|
Specify whether customer will use own service account or not
|
In the connector configuration page, this toggle should be turned on, if customer wants to use own service account.
If this option is disabled, Fivetran’s service account will be used. In order to set it up, grant the BigQuery User role to the auto-generated email address that's displayed in the connector setup form.
|
|
Dataset name
|
This is the BigQuery schema that needs to be connected. Note that only one schema can be specified.
|
Amazon S3 Connector
Pre-requesites and setup guide: Read Fivetran docs here.
Supported Files:
.tsv
.csv
Supported Configurations
Amazon S3 Documentation
Limitations
-
The AWS S3 connector by default doesn’t support deletes. To enable Clari to capture deletions, we require customers to add an ‘isdeleted’ field in the S3 file with supported boolean values [TRUE | FALSE] only.
TRUE - indicates the record is deleted from the source.
FALSE - indicates the record is active (non-deleted)