If you’re new to Unstructured, read this note first.Before you can create a destination connector, you must first sign in to your Unstructured account:
- If you do not already have an Unstructured account, go to https://unstructured.io/contact and fill out the online form to indicate your interest.
- If you already have an Unstructured account, sign in by using the URL of the sign in page that Unstructured provided to you when your Unstructured account was created. If you do not have this URL, contact Unstructured Sales at sales@unstructured.io.
-
A Snowflake account and its account identifier.
To get the identifier for the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click your username, and then click Account > View account details.
- On the Account tab, note the value of the Account Identifier field.
-
The Snowflake user’s login name (not its username) and its password in the account.
To view the login name for a user:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Users & Roles.
- On the Users tab, in the list of available users, click the name of the target user.
- In the About tile, note the Login Name for the user.
<my-user>, including theirlogin_namevalue representing their login name: -
The name of the Snowflake role that the user belongs to and that also has sufficient access to the Snowflake database, schema, table, and host.
- To create a database in Snowflake, the role needs to be granted
CREATE DATABASEprivilege at the current account level; andUSAGEprivilege on the warehouse that is used to create the database. - To create a schema in a database in Snowflake, the role needs to be granted
USAGEprivilege on the database and the warehouse that is used to create the schema; andCREATE SCHEMAon the database. - To create a table in a schema in Snowflake, the role needs to be granted
USAGEprivilege on the database and schema and the warehouse that is used to create the table; andCREATE TABLEon the schema. - To write to a table in Snowflake, the role needs to be granted
USAGEprivilege on the database and schema and the warehouse that is used to write to the table; andINSERTon the table. - To read from a table in Snowflake, the role needs to be granted
USAGEprivilege on the database and schema and the warehouse that is used to write to the table; andSELECTon the table.
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Users & Roles.
- Click the Roles tab.
Grant privileges to a role. Learn more. - To create a database in Snowflake, the role needs to be granted
-
The Snowflake warehouse’s hostname and its port number in the account.
To view a list of available warehouses in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Admin > Warehouses. This view does not provide access to the warehouses’ hostnames or port numbers. To get this information, you must run a Snowflake query.
typeofSNOWFLAKE_DEPLOYMENT: -
The name of the Snowflake database in the account.
To view a list of available databases in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
-
The name of the schema in the database.
To view a list of available schemas for a database in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
- Expand the name of the target database.
The following Snowflake query returns a list of available schemas for the database named<database_name>in the current account: -
The name of the table in the schema.
To view a list of available tables for a schema in a database in the current Snowflake account:
- Log in to Snowsight with your Snowflake account.
- In Snowsight, on the navigation menu, click Data > Databases.
- Expand the name of the database that contains the target schema.
- Expand the name of the target schema.
- Expand Tables.
<schema_name>in the datbase named<database_name>in the current account:Snowflake requires the target table to have a defined schema before Unstructured can write to the table. The recommended table schema for Unstructured is as follows. In the followingCREATE TABLEstatement, replace the following placeholders with the appropriate values:<database_name>: The name of the target database in the Snowflake account.<schema_name>: The name of the target schema in the database.<number-of-dimensions>: The number of dimensions for any embeddings that you plan to use. This value must match the number of dimensions for any embeddings that are
specified in your related Unstructured workflows or pipelines. If you plan to use Snowflake vector embedding generation or Snowflake vector search, this value must match the number of dimensions that you plan to have Snowflake generate or search against.
SQL -
The name of the column in the table that uniquely identifies each record (for example,
RECORD_ID).
- On the sidebar, click Connectors.
- Click Destinations.
- Cick New or Create Connector.
- Give the connector some unique Name.
- In the Provider area, click Snowflake.
- Click Continue.
- Follow the on-screen instructions to fill in the fields as described later on this page.
- Click Save and Test.
- Name (required): A unique name for this connector.
- Account ID (required): The target Snowflake account’s identifier.
- Role (required): The name of the Snowflake role that the user belongs to. This role must have the appropriate access to the target Snowflake warehouse, database, schema, and table.
- User (required): The target Snowflake user’s login name (not their username).
- Password (required): The user’s password.
- Host (required): The hostname of the target Snowflake warehouse.
- Port (required): The warehouse’s port number. The default is
443if not otherwise specified. - Database (required): The name of the target Snowflake database.
- Schema (required): The name of the target Snowflake schema within the database.
- Table (required for source connector only): The name of the target Snowflake table within the database’s schema. For the destination connector, the default is
elementsif not otherwise specified. - Columns (source connector only): A comma-separated list of columns to fetch from the table. By default, all columns are fetched unless otherwise specified.
- ID Column (required, source connector only): The name of the column that uniquely identifies each record in the table.
- Record ID Key (destination connector only): The name of the column that uniquely identifies each record in the table. The default is
record_idif not otherwise specified. - Batch Size (required): The maximum number of rows to fetch for each batch. The default is
50if not otherwise specified.

