diff --git a/lib/fastlane/actions/snapshot.rb b/lib/fastlane/actions/snapshot.rb
index <HASH>..<HASH> 100644
--- a/lib/fastlane/actions/snapshot.rb
+++ b/lib/fastlane/actions/snapshot.rb
@@ -21,7 +21,7 @@ module Fastlane
         ENV['SNAPSHOT_SKIP_OPEN_SUMMARY'] = "1" # it doesn't make sense to show the HTML page here
 
         begin
-          Dir.chdir(FastlaneFolder.path) do
+          Dir.chdir(params[:snapshot_file_path] || FastlaneFolder.path) do
             Snapshot::SnapshotConfig.shared_instance
             Snapshot::Runner.new.work(clean: clean)
 
@@ -49,7 +49,14 @@ module Fastlane
                                        env_name: "FL_SNAPSHOT_VERBOSE",
                                        description: "Print out the UI Automation output",
                                        is_string: false,
-                                       default_value: false)
+                                       default_value: false),
+          FastlaneCore::ConfigItem.new(key: :snapshot_file_path,
+                                       env_name: "FL_SNAPSHOT_CONFIG_PATH",
+                                       description: "Specify a path to the directory containing the Snapfile",
+                                       default_value: FastlaneFolder.path || Dir.pwd, # defaults to fastlane folder
+                                       verify_block: Proc.new do |value|
+                                        raise "Couldn't find folder '#{value}'. Make sure to pass the path to the directory not the file!".red unless File.directory?(value)
+                                       end)
         ]
       end
Added support providing a custom path to snapshot action