diff --git a/packages/rocketchat-integrations/server/api/api.coffee b/packages/rocketchat-integrations/server/api/api.coffee
index 4dfa4f3033bd150f63842acb3bbfff0baec513c0..49774f5c270c558676a53fa1fe418d3ace2b4fc1 100644
--- a/packages/rocketchat-integrations/server/api/api.coffee
+++ b/packages/rocketchat-integrations/server/api/api.coffee
@@ -54,7 +54,18 @@ Api = new Restivus
 			payloadIsWrapped = @bodyParams?.payload? and payloadKeys.length == 1
 
 			if payloadIsWrapped and @request.headers['content-type'] is 'application/x-www-form-urlencoded'
-				@bodyParams = JSON.parse @bodyParams.payload
+				try
+					@bodyParams = JSON.parse @bodyParams.payload
+				catch e
+					return {
+						error: {
+							statusCode: 400
+							body: {
+								success: false
+								error: e.message
+							}
+						}
+					}
 
 			@integration = RocketChat.models.Integrations.findOne
 				_id: @request.params.integrationId