diff --git a/client/admin/integrations/edit/EditOutgoingWebhook.js b/client/admin/integrations/edit/EditOutgoingWebhook.js
index 173470a19aa8f1953eb582f3ab3edb11ec650885..bf8f18cf796e313df9198a904cbd481bdd4dc907 100644
--- a/client/admin/integrations/edit/EditOutgoingWebhook.js
+++ b/client/admin/integrations/edit/EditOutgoingWebhook.js
@@ -18,6 +18,8 @@ import OutgoingWebhookForm from '../OutgoiongWebhookForm';
 import { useForm } from '../../../hooks/useForm';
 import DeleteSuccessModal from '../../../components/DeleteSuccessModal';
 import DeleteWarningModal from '../../../components/DeleteWarningModal';
+import { triggerWordsToArray, triggerWordsToString } from '../helpers/triggerWords';
+
 
 export default function EditOutgoingWebhookWithData({ integrationId, ...props }) {
 	const t = useTranslation();
@@ -54,7 +56,7 @@ const getInitialValue = (data) => {
 		event: data.event,
 		token: data.token,
 		urls: data.urls.join('\n') ?? '',
-		triggerWords: data.triggerWords?.join('; ') ?? '',
+		triggerWords: triggerWordsToString(data.triggerWords),
 		targetRoom: data.targetRoom ?? '',
 		channel: data.channel.join(', ') ?? '',
 		username: data.username ?? '',
@@ -115,7 +117,7 @@ function EditOutgoingWebhook({ data, onChange, setSaveAction, ...props }) {
 		try {
 			await saveIntegration(data._id, {
 				...formValues,
-				triggerWords: triggerWords.split(/\s*(?:;|$)\s*/),
+				triggerWords: triggerWordsToArray(triggerWords),
 				urls: urls.split('\n'),
 			});
 
diff --git a/client/admin/integrations/helpers/triggerWords.ts b/client/admin/integrations/helpers/triggerWords.ts
new file mode 100644
index 0000000000000000000000000000000000000000..4aa2bb1a777e367763ce514388d05a2c931a0360
--- /dev/null
+++ b/client/admin/integrations/helpers/triggerWords.ts
@@ -0,0 +1,13 @@
+const separator = ',';
+
+export function triggerWordsToArray(s?: string): Array<string> {
+	if (typeof s !== 'string' || s.length === 0) {
+		return [];
+	}
+
+	return s.split(separator);
+}
+
+export function triggerWordsToString(triggerWords?: Array<string>): string {
+	return triggerWords?.join(separator) ?? '';
+}
diff --git a/client/admin/integrations/new/NewOutgoingWebhook.js b/client/admin/integrations/new/NewOutgoingWebhook.js
index 6e5569b58f2ea3062b34596cc4dc9f35eb88fcf3..fcad3909cef66c103f518bec54e9430f1f1ff416 100644
--- a/client/admin/integrations/new/NewOutgoingWebhook.js
+++ b/client/admin/integrations/new/NewOutgoingWebhook.js
@@ -7,6 +7,7 @@ import { useEndpointAction } from '../../../hooks/useEndpointAction';
 import { useRoute } from '../../../contexts/RouterContext';
 import { useForm } from '../../../hooks/useForm';
 import OutgoingWebhookForm from '../OutgoiongWebhookForm';
+import { triggerWordsToArray } from '../helpers/triggerWords';
 
 const defaultData = {
 	type: 'webhook-outgoing',
@@ -31,6 +32,7 @@ const defaultData = {
 	runOnEdits: true,
 };
 
+
 export default function NewOutgoingWebhook({ data = defaultData, onChange, setSaveAction, ...props }) {
 	const t = useTranslation();
 	const router = useRoute('admin-integrations');
@@ -42,10 +44,11 @@ export default function NewOutgoingWebhook({ data = defaultData, onChange, setSa
 		triggerWords,
 	} = formValues;
 
+
 	const params = useMemo(() => ({
 		...formValues,
 		urls: urls.split('\n'),
-		triggerWords: triggerWords.split(';'),
+		triggerWords: triggerWordsToArray(triggerWords),
 	}), [formValues, triggerWords, urls]);
 	const saveIntegration = useEndpointAction('POST', 'integrations.create', params, t('Integration_added'));
 
diff --git a/package-lock.json b/package-lock.json
index ebcc5adeee46f61879257a328cdf69faa281ee9f..761efe741b49066516c68d8106e69e68c54c618f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5038,6 +5038,13 @@
 				"semver": "^5.5.0",
 				"stack-trace": "0.0.10",
 				"uuid": "^3.2.1"
+			},
+			"dependencies": {
+				"adm-zip": {
+					"version": "0.4.16",
+					"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz",
+					"integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg=="
+				}
 			}
 		},
 		"@rocket.chat/css-in-js": {