Setting up the Openflow Connector for Veeva Vault¶
Note
This connector is subject to the Snowflake Connector Terms.
This topic describes the steps to set up the Openflow Connector for Veeva Vault.
Prerequisites¶
-
Set up your runtime deployment.
-
If you are using Openflow - Snowflake Deployments, ensure that you have reviewed configuring required domains and have granted access to the required domains for the Veeva Vault connector. If you are using Openflow - BYOC Deployments, configure your cloud network egress to allow TLS 443 access to your Vault hostname (for example,
myvault.veevavault.com:443). -
You have access to the Openflow admin role or a similar role you use to manage Openflow.
-
If you’re deploying in Openflow - BYOC Deployments and using the
KEY_PAIRauthentication strategy, you have created key pair authentication. For more information, see key pair authentication.
Set up Veeva Vault¶
The connector uses Direct Data API to retrieve data. Before you can use the connector, your Vault administrator must complete the following tasks.
Enable Direct Data¶
Direct Data must be enabled on your Vault. This is a Vault-level feature that allows external systems to retrieve data exports via the Direct Data API.
To verify that Direct Data is enabled, your Vault administrator can check Admin » Settings » General Settings » Direct Data in the Veeva Vault UI.
For more information, see the Direct Data API documentation.
Create a service account¶
Create a dedicated Veeva Vault user account for the connector. Refer to the Direct Data API permissions documentation for configuring this account.
Record the username and password for this service account. You need these values when configuring the connector.
Note
Snowflake recommends using a dedicated service account rather than a personal user account. This ensures that the connector continues to function if a personal account is disabled or its password is changed.
Set up your Snowflake account¶
As an Openflow administrator, perform the following tasks to set up your Snowflake account. With the
default SNOWFLAKE_MANAGED authentication strategy, the runtime’s execute-as role is the identity
the connector uses to access Snowflake, so you grant it the following privileges.
Create database, schema, and warehouse¶
-
Create the destination database:
-
Create the destination schema:
-
Grant the required privileges to the runtime’s execute-as role:
-
Create a warehouse (or use an existing one) and grant usage privileges:
-
If any other Snowflake users require access to the tables ingested by the connector (for example, for custom processing in Snowflake), grant those users the execute-as role.
Note
If you’re deploying the connector in Openflow - BYOC Deployments and using the KEY_PAIR authentication
strategy instead of the recommended SNOWFLAKE_MANAGED, you’ll also grant this same execute-as
role to a service user rather than relying on the runtime’s managed token. See
Set up key-pair authentication for Openflow - BYOC Deployments
to create the service user.
Grant the privilege to create a pipe¶
The connector uses Snowpipe Streaming with high-performance architecture, which requires a PIPE
object. Grant the additional privilege needed to create it:
Install the connector¶
To install the connector, do the following as a data engineer:
-
Navigate to the Connector library tab in Openflow.
-
On the Openflow connectors page, find the connector and select Install.
-
In the Select runtime dialog, select your runtime from the Available runtimes drop-down list and click Install.
Note
Before you install the connector, ensure that you have created a database and schema in Snowflake for the connector to store ingested data.
-
Authenticate to the deployment with your Snowflake account credentials and select Allow when prompted to allow the runtime application to access your Snowflake account. The connector installation process takes a few minutes to complete.
-
Authenticate to the runtime with your Snowflake account credentials.
The Openflow canvas appears with the connector process group added to it.
Configure the connector¶
To configure the connector, perform the following steps:
- Right-click on the added connector process group and select Parameters.
- Populate the required parameter values as described in the sections below.
Veeva Vault parameters¶
| Parameter | Description |
|---|---|
| Veeva Vault Base URL | Base URL for the Veeva Vault environment. Must be a valid URL including the protocol. Example: |
| Veeva Vault Username | Service account username for Veeva Vault authentication. |
| Veeva Vault Password | Service account password for Veeva Vault authentication. Stored securely as a sensitive parameter. |
| Veeva Vault Ingestion Mode | Determines how Direct Data files are consumed. Allowed values:
|
| Veeva Vault Incremental Start Time | Optional starting timestamp for incremental polling. Only applicable when the ingestion mode is Example: |
| Veeva Vault Include Audit Logs | Whether to also ingest Direct Data audit log files. Default: |
Snowflake destination parameters¶
| Parameter | Description |
|---|---|
| Snowflake Authentication Strategy | Authentication strategy for the connector to connect to Snowflake.
|
| Snowflake Account | Snowflake account identifier, formatted as Example: |
| Snowflake Username | The Snowflake user for authentication. Required when the authentication strategy is KEY_PAIR. |
| Snowflake Private Key | PEM-encoded private key content for Snowflake key pair authentication. Required when the authentication strategy is You can also upload the private key file by selecting the Reference asset checkbox, uploading the file as an asset, and selecting the asset as the value for the parameter. |
| Snowflake Private Key Password | Password to decrypt the Snowflake private key, if the key is encrypted. Only applicable when the authentication strategy is KEY_PAIR. |
| Snowflake Role | The execute-as role used for table creation, data ingestion, and access verification. When using SNOWFLAKE_MANAGED, this is the execute-as role for Openflow runtimes. When using KEY_PAIR, this is the role assigned to the specified Snowflake user. |
| Snowflake Database | Name of the destination database in Snowflake. The database must already exist before starting the connector. |
| Snowflake Schema | Name of the destination schema in Snowflake. The schema must already exist before starting the connector. |
| Snowflake Warehouse | The Snowflake warehouse used for table management operations such as CREATE TABLE and MERGE. |
| Snowflake Table Prefix | Optional prefix applied to all destination table names in Snowflake. Use this to namespace tables when multiple connectors write to the same schema. |
| Snowflake Delete Strategy | How to apply Veeva delete extracts in Snowflake.
|
Schema evolution parameters¶
| Parameter | Description |
|---|---|
| Column Removal Strategy | Defines the strategy when a column should be removed from the destination table based on the latest received schema.
|
| Removed Column Name Suffix | Suffix appended to the column name when the Column Removal Strategy is set to Default: |
Run the flow¶
- Right-click on an empty area of the canvas and select Enable all Controller Services.
- Right-click on the connector process group and select Start.
The connector starts polling Veeva Vault for Direct Data files and loading data into Snowflake.
Next steps¶
- For information on tasks you can perform after installing the connector, see Use the connector.
- For information on monitoring the flow, see Monitor the flow.