Issue with Zapier Integration and Database Module
I’m working on a Zapier integration that includes an action for modifying database records using the sequelize package. The action connects to an external database to perform updates.
When I run the action locally using the Zapier CLI test command, everything works perfectly and the database records get updated as expected. However, when I try to test the same action through the Zapier platform interface, I encounter this error:
Cannot find module './drivers/node-sequelize-native/adapter'
The local testing environment seems to handle all the dependencies correctly, but the online Zapier platform appears to be missing some required modules. Has anyone encountered similar dependency issues when deploying Zapier apps that use database connection libraries?
Hit the same issue with a postgres connection library last year. Zapier’s runtime doesn’t include all the native modules sequelize tries to load, even when they’re in your package.json. I switched to a lighter database client that doesn’t need native bindings and that fixed it. If you’re stuck with sequelize, try setting the dialectModule option explicitly in your config - it’ll skip the automatic driver detection that’s causing your path resolution error. Also check you’re on the latest version since older ones were way more aggressive about loading native modules.
yep, that sounds like a bundling issue for sure. sequelize has some native dependencies that can be a pain. double check your package.json to ensure all dependencies are listed correctly, not just in devDependencies. zapier’s sandbox can have trouble with native bindings.
Classic Sequelize deployment issue. Sequelize tries to load native database drivers during initialization, even when you’re not using them. That ‘./drivers/node-sequelize-native/adapter’ path means it’s looking for a native binding that exists in your local node_modules but isn’t available in Zapier’s runtime.
I fixed this by explicitly setting the dialect and dialectModulePath in the sequelize constructor options - stops the automatic driver scanning. You can also use pg or mysql2 directly instead of letting sequelize handle driver loading, then pass the connection instance to sequelize.
Make sure you’re using the same node version locally as Zapier’s runtime to avoid compatibility issues.