Overview
Snowflake is a cloud-based data platform built for scalable storage, fast querying, and secure data sharing across structured and semi-structured datasets. It separates compute and storage for flexible scaling and supports advanced analytics with strong performance across major cloud providers.
Appian helps you get more from Snowflake by turning raw data into action through low-code applications and AI-powered automation. With Appian’s data fabric, you can connect to Snowflake to enable unified views, streamlined workflows, and faster decisions, all while keeping Snowflake as your system of record.
Use this Appian Connected System to authenticate with OAuth 2.0: Authorization Code Grant in order to access and execute actions on your Snowflake resources. Through the integrations provided in this plug-in, you can select, insert, update, delete, and call a function or stored procedure in any accessible warehouse, schema, or table.
This plug-in was originally authored by Appian's partner, WNS Vuram. It is now maintained by the Appian Technology Partner Team.
Key Features & Functionality
Hello Appian Team!
We were previously on a super old version of this plugin that allowed a direct SQL statement. We're unable to migrate all of our queries to the new plugin because it doesn't support SQL queries like one would expect from a Snowflake connector via the statements REST API. For example:
`SELECT DISTINCT {...}`
`SELECT abc.col1, xyz.col2 FROM ABC abc JOIN XYZ xyz ON {...}`
Can we please get a plugin update to support basic SQL?
Are there current workarounds for these that do not involve creating a view in Snowflake? Our developers only have, and will always only have, a read only role into Snowflake.
We run direct SQL statements without issue.
Using the Retrieve Integration operation:
Table or View = "ABC abc JOIN XYZ ON {...}"
Query Columns = {"abc.col1", "xyz.col2"}
Thanks keitht , this helped a lot. There's a bit of back-and-forth to get the syntax working with quotes. We were also able to get the simpler 'group by' statements migrated. The SQL CTEs we have still seem to cause issues. Maybe it's just a matter of figuring out the right text box to put these statements in, but maybe not.
Ideally we would just take the statements we receive from our data team and mostly copy/paste them into Appian (adding some extra quotes where needed). The statements we receive look semi-nonsensical because the data model they deal with is fairly complicated and includes its own form of history / version control. So ideally none of the Appian developers would ever need to unravel the SQL the data team gives us in order to sync data to Appian.