diff --git a/api/app/Integrations/Handlers/DiscordIntegration.php b/api/app/Integrations/Handlers/DiscordIntegration.php index e9977fd16..5358c69f0 100644 --- a/api/app/Integrations/Handlers/DiscordIntegration.php +++ b/api/app/Integrations/Handlers/DiscordIntegration.php @@ -15,6 +15,7 @@ public static function getValidationRules(?Form $form): array return [ 'discord_webhook_url' => 'required|url|starts_with:https://discord.com/api/webhooks', 'include_submission_data' => 'boolean', + 'include_hidden_fields_submission_data' => ['nullable', 'boolean'], 'link_open_form' => 'boolean', 'link_edit_form' => 'boolean', 'views_submissions_count' => 'boolean', @@ -34,10 +35,14 @@ protected function shouldRun(): bool protected function getWebhookData(): array { + $settings = (array) $this->integrationData ?? []; + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } $formattedData = $formatter->getFieldsWithValue(); - $settings = (array) $this->integrationData ?? []; $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '[**🔗 Open Form**](' . $this->form->share_url . ')'; diff --git a/api/app/Integrations/Handlers/SlackIntegration.php b/api/app/Integrations/Handlers/SlackIntegration.php index 41978f08b..30da69212 100644 --- a/api/app/Integrations/Handlers/SlackIntegration.php +++ b/api/app/Integrations/Handlers/SlackIntegration.php @@ -15,6 +15,7 @@ public static function getValidationRules(?Form $form): array return [ 'slack_webhook_url' => 'required|url|starts_with:https://hooks.slack.com/', 'include_submission_data' => 'boolean', + 'include_hidden_fields_submission_data' => ['nullable', 'boolean'], 'link_open_form' => 'boolean', 'link_edit_form' => 'boolean', 'views_submissions_count' => 'boolean', @@ -34,10 +35,14 @@ protected function shouldRun(): bool protected function getWebhookData(): array { + $settings = (array) $this->integrationData ?? []; + $formatter = (new FormSubmissionFormatter($this->form, $this->submissionData))->outputStringsOnly(); + if (Arr::get($settings, 'include_hidden_fields_submission_data', false)) { + $formatter->showHiddenFields(); + } $formattedData = $formatter->getFieldsWithValue(); - $settings = (array) $this->integrationData ?? []; $externalLinks = []; if (Arr::get($settings, 'link_open_form', true)) { $externalLinks[] = '*<' . $this->form->share_url . '|🔗 Open Form>*'; diff --git a/client/components/open/integrations/components/NotificationsMessageActions.vue b/client/components/open/integrations/components/NotificationsMessageActions.vue index fa81e2f16..4d45dde2b 100644 --- a/client/components/open/integrations/components/NotificationsMessageActions.vue +++ b/client/components/open/integrations/components/NotificationsMessageActions.vue @@ -15,6 +15,14 @@ label="Include submission data" help="With form submission answers" /> +