diff --git a/src/index.js b/src/index.js
index 6da6e4c..7266355 100644
--- a/src/index.js
+++ b/src/index.js
@@ -10,7 +10,8 @@ const run = async () => {
     source, remoteUser, remoteHost, remotePort,
     deployKeyName, sshPrivateKey,
     args, exclude, sshCmdArgs,
-    scriptBefore, scriptAfter,
+    scriptBefore, scriptBeforeRequired,
+    scriptAfter, scriptAfterRequired,
     rsyncServer
   } = inputs;
   // Validate required inputs
@@ -24,7 +25,7 @@ const run = async () => {
   }
   // Check Script before
   if (scriptBefore) {
-    await remoteCmdBefore(scriptBefore, privateKeyPath);
+    await remoteCmdBefore(scriptBefore, privateKeyPath, scriptBeforeRequired);
   }
   /* eslint-disable object-property-newline */
   await sshDeploy({
@@ -33,7 +34,7 @@ const run = async () => {
   });
   // Check script after
   if (scriptAfter) {
-    await remoteCmdAfter(scriptAfter, privateKeyPath);
+    await remoteCmdAfter(scriptAfter, privateKeyPath, scriptAfterRequired);
   }
 };
 
diff --git a/src/inputs.js b/src/inputs.js
index 06c8d60..2c5dd19 100644
--- a/src/inputs.js
+++ b/src/inputs.js
@@ -4,7 +4,7 @@ const inputNames = [
   'REMOTE_HOST', 'REMOTE_USER', 'REMOTE_PORT',
   'SSH_PRIVATE_KEY', 'DEPLOY_KEY_NAME',
   'SOURCE', 'TARGET', 'ARGS', 'SSH_CMD_ARGS', 'EXCLUDE',
-  'SCRIPT_BEFORE', 'SCRIPT_AFTER'];
+  'SCRIPT_BEFORE', 'SCRIPT_AFTER', 'SCRIPT_BEFORE_REQUIRED', 'SCRIPT_AFTER_REQUIRED'];
 
 const githubWorkspace = process.env.GITHUB_WORKSPACE;
 const remoteUser = process.env.REMOTE_USER || process.env.INPUT_REMOTE_USER;