diff --git a/web/src/pages/WebhooksPage/modals/CEWebhookModal/CEWebhookModal.tsx b/web/src/pages/WebhooksPage/modals/CEWebhookModal/CEWebhookModal.tsx
index 898aa83052..d852daab05 100644
--- a/web/src/pages/WebhooksPage/modals/CEWebhookModal/CEWebhookModal.tsx
+++ b/web/src/pages/WebhooksPage/modals/CEWebhookModal/CEWebhookModal.tsx
@@ -77,13 +77,13 @@ const formSchema = z.object({
),
token: z
.string()
- .min(1, m.form_error_required())
.max(
250,
m.form_error_max_len({
length: 250,
}),
- ),
+ )
+ .nullable(),
enabled: z.boolean(),
on_user_created: z.boolean(),
on_user_deleted: z.boolean(),
@@ -98,7 +98,10 @@ const ModalContent = ({ webhook }: ModalData) => {
const defaultValues = useMemo((): FormFields => {
if (isPresent(webhook)) {
- return webhook;
+ return {
+ ...webhook,
+ token: webhook.token || null,
+ };
}
return {
description: '',
@@ -107,7 +110,7 @@ const ModalContent = ({ webhook }: ModalData) => {
on_user_created: false,
on_user_deleted: false,
on_user_modified: false,
- token: '',
+ token: null,
url: '',
};
}, [webhook]);
@@ -139,13 +142,14 @@ const ModalContent = ({ webhook }: ModalData) => {
onChange: formSchema,
},
onSubmit: async ({ value }) => {
+ const payload = { ...value, token: value.token ?? '' };
if (isEdit) {
await editWebhook({
id: webhook.id,
- ...value,
+ ...payload,
});
} else {
- await addWebhook(value);
+ await addWebhook(payload);
}
},
});
@@ -171,11 +175,7 @@ const ModalContent = ({ webhook }: ModalData) => {