diff --git a/api/resources/data/forms/integrations.json b/api/resources/data/forms/integrations.json
index a61ff56d..07bcf432 100644
--- a/api/resources/data/forms/integrations.json
+++ b/api/resources/data/forms/integrations.json
@@ -4,6 +4,7 @@
"icon": "heroicons:envelope-20-solid",
"section_name": "Notifications",
"file_name": "EmailIntegration",
+ "actions_file_name": "EmailIntegrationActions",
"is_pro": false,
"crisp_help_page_slug": "can-i-receive-notifications-on-form-submissions-134svqv"
},
@@ -12,6 +13,7 @@
"icon": "mdi:slack",
"section_name": "Notifications",
"file_name": "SlackIntegration",
+ "actions_file_name": "SlackIntegrationActions",
"is_pro": true
},
"discord": {
@@ -19,6 +21,7 @@
"icon": "ic:baseline-discord",
"section_name": "Notifications",
"file_name": "DiscordIntegration",
+ "actions_file_name": "DiscordIntegrationActions",
"is_pro": true
},
"webhook": {
@@ -26,6 +29,7 @@
"icon": "material-symbols:webhook",
"section_name": "Automation",
"file_name": "WebhookIntegration",
+ "actions_file_name": "WebhookIntegrationActions",
"is_pro": false
},
"zapier": {
diff --git a/client/components/open/integrations/components/DiscordIntegrationActions.vue b/client/components/open/integrations/components/DiscordIntegrationActions.vue
new file mode 100644
index 00000000..1ae2ac0b
--- /dev/null
+++ b/client/components/open/integrations/components/DiscordIntegrationActions.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
diff --git a/client/components/open/integrations/components/EmailIntegrationActions.vue b/client/components/open/integrations/components/EmailIntegrationActions.vue
new file mode 100644
index 00000000..c3a61835
--- /dev/null
+++ b/client/components/open/integrations/components/EmailIntegrationActions.vue
@@ -0,0 +1,70 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/client/components/open/integrations/components/GoogleSheetsIntegrationActions.vue b/client/components/open/integrations/components/GoogleSheetsIntegrationActions.vue
index eb47176e..223ebe75 100644
--- a/client/components/open/integrations/components/GoogleSheetsIntegrationActions.vue
+++ b/client/components/open/integrations/components/GoogleSheetsIntegrationActions.vue
@@ -4,14 +4,12 @@
v-if="integration.provider"
class="hidden md:block space-y-1"
>
-
- {{ integration.provider.name }}
-
-
- {{ integration.provider.email }}
-
+
diff --git a/client/components/open/integrations/components/WebhookIntegrationActions.vue b/client/components/open/integrations/components/WebhookIntegrationActions.vue
new file mode 100644
index 00000000..05d619ea
--- /dev/null
+++ b/client/components/open/integrations/components/WebhookIntegrationActions.vue
@@ -0,0 +1,44 @@
+
+
+
+
+
diff --git a/client/data/forms/integrations.json b/client/data/forms/integrations.json
index a61ff56d..07bcf432 100644
--- a/client/data/forms/integrations.json
+++ b/client/data/forms/integrations.json
@@ -4,6 +4,7 @@
"icon": "heroicons:envelope-20-solid",
"section_name": "Notifications",
"file_name": "EmailIntegration",
+ "actions_file_name": "EmailIntegrationActions",
"is_pro": false,
"crisp_help_page_slug": "can-i-receive-notifications-on-form-submissions-134svqv"
},
@@ -12,6 +13,7 @@
"icon": "mdi:slack",
"section_name": "Notifications",
"file_name": "SlackIntegration",
+ "actions_file_name": "SlackIntegrationActions",
"is_pro": true
},
"discord": {
@@ -19,6 +21,7 @@
"icon": "ic:baseline-discord",
"section_name": "Notifications",
"file_name": "DiscordIntegration",
+ "actions_file_name": "DiscordIntegrationActions",
"is_pro": true
},
"webhook": {
@@ -26,6 +29,7 @@
"icon": "material-symbols:webhook",
"section_name": "Automation",
"file_name": "WebhookIntegration",
+ "actions_file_name": "WebhookIntegrationActions",
"is_pro": false
},
"zapier": {
diff --git a/client/lib/utils.js b/client/lib/utils.js
index d1339a50..8838818c 100644
--- a/client/lib/utils.js
+++ b/client/lib/utils.js
@@ -109,3 +109,15 @@ export const customDomainUsed = function () {
return host !== appDomain && getDomain(host) !== appDomain
}
+
+export const mentionAsText = (content) => {
+ if (!content) return ''
+
+ // Parse the content and style mentions
+ return content.replace(
+ /
]*>([^<]+)<\/span>/g,
+ (match, fieldId, fieldName, text) => {
+ return `${text}`
+ }
+ )
+}
\ No newline at end of file