diff --git a/packages/builder/src/components/integration/ExtraQueryConfig.svelte b/packages/builder/src/components/integration/ExtraQueryConfig.svelte
new file mode 100644
index 0000000000..303beb1e4b
--- /dev/null
+++ b/packages/builder/src/components/integration/ExtraQueryConfig.svelte
@@ -0,0 +1,48 @@
+
+
+{#each extraFields as { key, displayName, type }}
+
+
+ {#if type === "string"}
+ populateExtraQuery(extraQueryFields)}
+ bind:value={extraQueryFields[key]}
+ />
+ {/if}
+
+ {#if type === "list"}
+
+{/each}
+
+
diff --git a/packages/builder/src/components/integration/QueryViewer.svelte b/packages/builder/src/components/integration/QueryViewer.svelte
index 5c2523d519..da93033cef 100644
--- a/packages/builder/src/components/integration/QueryViewer.svelte
+++ b/packages/builder/src/components/integration/QueryViewer.svelte
@@ -15,6 +15,7 @@
} from "@budibase/bbui"
import { notifications, Divider } from "@budibase/bbui"
import api from "builderStore/api"
+ import ExtraQueryConfig from "./ExtraQueryConfig.svelte"
import IntegrationQueryEditor from "components/integration/index.svelte"
import ExternalDataSourceTable from "components/backend/DataTable/ExternalDataSourceTable.svelte"
import ParameterBuilder from "components/integration/QueryParameterBuilder.svelte"
@@ -60,6 +61,14 @@
fields = fields
}
+ function resetDependentFields() {
+ if (query.fields.extra) query.fields.extra = {}
+ }
+
+ function populateExtraQuery(extraQueryFields) {
+ query.fields.extra = extraQueryFields
+ }
+
async function previewQuery() {
try {
const response = await api.post(`/api/queries/preview`, {
@@ -127,11 +136,19 @@