Overview
Snowflake is a cloud-based data platform used by organizations to store, query, and analyze large volumes of structured and semi-structured data.
The Alchemer integration with Snowflake supports automated data retrieval, row inserts, row updates, row upserts, and structured response pushes. The Alchemer Snowflake integration allows Alchemer to use information from Snowflake to personalize surveys, enrich survey data, and update Snowflake tables with survey response data.
Common uses for the Alchemer Snowflake integration
- Personalize invites and surveys with data stored in Snowflake
- Use Snowflake table data in survey logic
- Automatically insert or update Snowflake rows when a response is submitted
- Reduce manual data entry and record maintenance
- Keep Snowflake tables synchronized with responses collected in Alchemer
- Push structured survey response data directly into Snowflake for reporting and analysis
What can the Alchemer Snowflake integration do?
- Push to Table (basic authentication)
- Get Data (basic authentication)
- Get data
- Push to table
- Update row
- Upsert row
- Structured response
You will need
- Snowflake authentication credentials. More details in the authentication how-to guide.
- Basic authentication: Snowflake username and password
- Key-pair authentication: Snowflake account identifier, username, and private key
- An Alchemer plan that includes integrations and the Integration Manager permission enabled.
- Contact us if you are unsure if your plan includes integrations.
Setup Alchemer Snowflake integration in surveys
Snowflake | Push to Table (basic authentication)
You will need:
- Snowflake username and password
- Survey fields containing the data you want to insert into the Snowflake table
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Push to Table (basic authentication).
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Choose Table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Insert Row Into Table: Map Alchemer survey fields to the corresponding Snowflake table columns you want to insert data into.
- Snowflake | Get data back: Select metadata fields (e.g., message, status code) to return. These help with debugging your integration.
- Save the action.
Status codes
- 200: Row was successfully inserted into the Snowflake table
- 400: The Snowflake API returned an error
Snowflake | Get Data (basic authentication)
You will need:
- Snowflake username and password
- A survey field containing a unique identifier for the Snowflake row you want to retrieve
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Get Data (basic authentication).
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Choose Table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Query Row in Table: Choose the survey data you want to use to query a row for in your Snowflake table.
- Snowflake | Choose Column to Order By: Select which column you would like to order by and whether you would like this to be ascending or descending.
- Snowflake | Get data back: Select the Snowflake table columns you want returned to the survey. These values can be used to personalize survey questions or drive logic.
- Save the action.
Status codes
- 200: A row was successfully found
- 202: Multiple rows were found (first returned is used)
- 400: Error returned by Snowflake API or failed to find a matching row
Snowflake | Get data
You will need:
- Snowflake account identifier, username, and private key
- A survey field containing a unique identifier for the Snowflake row you want to retrieve
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Get data.
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Select database: Select the Snowflake database you would like to use from the dropdown.
- Snowflake | Select schema: Select the Snowflake schema you would like to use from the dropdown.
- Snowflake | Select table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Find row: Choose the survey data you want to use to find a row in your Snowflake table.
- Note: Multiple fields will be combined with either (AND,OR) depending on the operator you select.
- Snowflake | Get data back: Select the Snowflake table columns you want returned to the survey. These values can be used to personalize survey questions or drive logic.
- Save the action.
Status codes
- 200: A single row was successfully found
- 201: Query ran successfully, but no rows were found
- 202: More than one row was found. The first row is used for the values returned to Alchemer
- 400: The external integration returned an error
Snowflake | Push to table
You will need:
- Snowflake account identifier, username, and private key
- Survey fields containing the data you want to insert into the Snowflake table
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Push to table.
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Select database: Select the Snowflake database you would like to use from the dropdown.
- Snowflake | Select schema: Select the Snowflake schema you would like to use from the dropdown.
- Snowflake | Select table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Insert row into table: Choose the survey data you want to use to insert a row into your Snowflake table.
- Snowflake | Get data back: Select metadata fields (e.g., message, status code) to return. These help with debugging your integration.
- Save the action.
Status codes
- 200: Successfully inserted row
- 400: The external integration returned an error
Snowflake | Update row
You will need:
- Snowflake account identifier, username, and private key
- A survey field containing a unique identifier for the Snowflake row you want to update
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Update row.
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Select database: Select the Snowflake database you would like to use from the dropdown.
- Snowflake | Select schema: Select the Snowflake schema you would like to use from the dropdown.
- Snowflake | Select table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Find row: Choose the survey data you want to use to find a row in your Snowflake table. Multiple fields will be combined with either (AND,OR) depending on the operator you select.
- Snowflake | Update row in table: Choose the survey data you want to use to update a row in your Snowflake table.
- Snowflake | Get data back: Select metadata fields (e.g., message, status code) to return. These help with debugging your integration.
- Save the action.
Status codes
- 200: Successfully updated row
- 201: Query ran successfully. No rows updated
- 202: Multiple rows were found. X row(s) updated
- 400: The external integration returned an error
Snowflake | Upsert row
You will need:
- Snowflake account identifier, username, and private key
- A survey field containing a unique identifier for the Snowflake row you want to upsert
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Upsert row.
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Select database: Select the Snowflake database you would like to use from the dropdown.
- Snowflake | Select schema: Select the Snowflake schema you would like to use from the dropdown.
- Snowflake | Select table: Select the Snowflake table you would like to use from the dropdown.
- Snowflake | Find row: Choose the survey data you want to use to find a row in your Snowflake table. Multiple fields will be combined with either (AND,OR) depending on the operator you select.
- Snowflake | Upsert row in table: Choose the survey data you want to use to upsert a row in your Snowflake table. This will either update a row if the data matches or create a new row.
- Snowflake | Get data back: Select metadata fields (e.g., message, status code) to return. These help with debugging your integration.
- Save the action.
Status codes
- 200: Successfully inserted row
- 201: Query ran successfully. No rows updated
- 202: Successfully updated X row(s)
- 400: The external integration returned an error
Snowflake | Structured response
You will need:
- Snowflake account identifier, username, and private key
- A designated Snowflake database and schema for new table
- IMPORTANT: Create your tables in Snowflake using the headers in the CSV's below as your table columns.
- schema_questions.csv
- schema_responses.csv
- schema_sessions.csv
Configure the action
- Open your survey in Survey Builder.
- Select Add New: Action.
- In the Add Action modal, scroll to the Your Integrations section.
- Select Snowflake.
- Select Snowflake | Structured response.
- Snowflake | Authentication: Select an existing authentication or create a new one.
- Snowflake | Select database: Select the Snowflake database you would like to use from the dropdown.
- Snowflake | Select schema: Select the Snowflake schema you would like to use from the dropdown.
- Snowflake | Select tables: Select your Snowflake tables you would like to use for the structured response.
- Snowflake | Validating tables: Checking if your Snowflake tables are properly built before proceeding. If you receive an error, ensure you've selected the correct table, and all required fields are created.
- Snowflake | Select data to push: Select the fields in this survey that contain the values you want to use to create the row in Snowflake.
- Snowflake | Pushing question data: Pushes question metadata to Snowflake for the selected questions.
- Snowflake | Get data back: Select which Snowflake fields to return. This is optional.
- Save the action.
Status codes
- 200: Successfully pushed to Snowflake
- 400: The external integration returned an error
Testing and Troubleshooting
Testing and Validation
How to test
- Submit a survey response with data that triggers the integration action.
- Confirm the expected row activity in Snowflake (inserted, updated, retrieved, or upserted).
- Use returned metadata message to validate successful behavior.
How to verify results
- Inspect the affected Snowflake table or row.
- Ensure all retrieved or updated values match expectations.
Monitoring Integration Activity
Where to find logs
- Go to Results → Individual Responses.
- Select the response you want to inspect.
- Open the Action Log tab.
What logs display
- Success or failure status
- Timestamp
- Input and output values
- Returned status codes from Snowflake
Troubleshooting
Authentication issues
- Incorrect username or password (basic authentication)
- Invalid or malformed private key (key-pair authentication)
- Incorrect account identifier
- Insufficient Snowflake role permissions
Lookup failures
- No matching row found for the provided identifier
- Lookup field value does not match the column data type
Mapping errors
- Incorrect data type formatting (e.g., dates must match Snowflake's expected format)
- Column names do not match the target Snowflake table
API errors
- Snowflake warehouse is suspended or unavailable
- Query or insert validation failures
FAQs
What permissions do I need?
Integration Manager in Alchemer and a Snowflake role with read/write access to the relevant database, schema, and tables.
Integration Manager in Alchemer and a Snowflake role with read/write access to the relevant database, schema, and tables.
When does the integration run?
In real time when a survey response is submitted.
In real time when a survey response is submitted.
Can I use multiple Snowflake actions in one survey?
Yes. Actions can run independently or in sequence.
Yes. Actions can run independently or in sequence.
What is the difference between basic and key-pair authentication actions?
Basic authentication actions use a Snowflake username and password. Key-pair authentication actions use an account identifier, username, and private key, which is recommended for production environments.
Basic authentication actions use a Snowflake username and password. Key-pair authentication actions use an account identifier, username, and private key, which is recommended for production environments.
Why isn't my data updating?
Check the Action Log for lookup issues, mapping mismatches, or API errors.
Check the Action Log for lookup issues, mapping mismatches, or API errors.
What if I need additional functionality?
Contact Alchemer Support for enhancement requests.
Contact Alchemer Support for enhancement requests.