> Portal Navigation: > > - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version. > - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages). > - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`). > - Top-level index of all portals: https://dev.wix.com/docs/llms.txt > - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt # GetDynamicSchema # Package: triggers # Namespace: TriggerProviderService # Method link: https://dev.wix.com/docs/api-reference/business-management/automations/triggers/trigger-provider-service-plugin/get-dynamic-schema.md ## Introduction This endpoint returns a [JSON schema](https://json-schema.org/) object that's used to dynamically update the fields available to a Wix user when they configure an [automation](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Ftriggers/site-automations). Wix calls this endpoint when a user selects an option from an [item selection filter](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/filter-fields.md#item-selection) configured for a trigger. Wix appends the returned schema to the [payload schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/payload-schema.md) you defined for the trigger and makes the fields available to the Wix user's automation. --- ## REST API ### Schema ``` Method: getDynamicSchema Description: This endpoint returns a [JSON schema](https://json-schema.org/) object that's used to dynamically update the fields available to a Wix user when they configure an [automation](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Ftriggers/site-automations). Wix calls this endpoint when a user selects an option from an [item selection filter](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/filter-fields.md#item-selection) configured for a trigger. Wix appends the returned schema to the [payload schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/payload-schema.md) you defined for the trigger and makes the fields available to the Wix user's automation. URL: null Method: POST # Note: If the parameter `a.b` is listed under required parameters, `b` is only required if `a` is also present. Required parameters: triggerKey Method parameters: param name: selectedFilterOptions | type: array | description: Current selection state of the trigger's filters. - name: fieldKey | type: string | description: Key representing a field from the trigger's [payload schema](https://dev.wix.com/docs/rest/business-management/automations/triggers/the-trigger-payload-schema.md) that has been configured as an [item selection filter](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/filter-fields.md#item-selection). For example `formId`. - name: values | type: array | description: Values selected for the filter field. param name: triggerKey | type: triggerKey | description: Trigger key as defined in your app's trigger configuration in the app dashboard. For example, `form_submitted` or `invoice_due`. | required: true Return type: GetDynamicSchemaResponse - name: dynamicSchema | type: object | description: A [JSON schema](https://json-schema.org/) corresponding to the filter selection sent in the request. Possible Errors: HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROVIDER_NOT_FOUND | Description: Service provider not found. ``` ### Examples ### Dynamic schema request sent by Wix Dynamic schema request with a sample response body ```curl curl -X POST \ 'https://www..com/dynamic-schema' \ -H 'user-agent: Wix' \ -H 'accept-encoding: gzip, deflate' \ -H 'content-type: application/json' \ -d '{ "triggerKey" : "form_submitted", "selectedFilterOptions" : [ { "fieldKey" : "form_id", "values" : ["1dd34d-gg567"] } ] }' ``` --- ## JavaScript SDK ### Schema ``` Method: wixClientAdmin.triggers.TriggerProviderService.getDynamicSchema(request, metadata) Description: This endpoint returns a [JSON schema](https://json-schema.org/) object that's used to dynamically update the fields available to a Wix user when they configure an [automation](https://www.wix.com/my-account/site-selector/?buttonText=Select%20Site&title=Select%20a%20Site&autoSelectOnSingleSite=true&actionUrl=https:%2F%2Fwww.wix.com%2Fdashboard%2F%7B%7BmetaSiteId%7D%7D%2Ftriggers/site-automations). Wix calls this endpoint when a user selects an option from an [item selection filter](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/filter-fields.md#item-selection) configured for a trigger. Wix appends the returned schema to the [payload schema](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/payload-schema.md) you defined for the trigger and makes the fields available to the Wix user's automation. Method parameters: param name: metadata | type: Context | description: this message is not directly used by any service, it exists to describe the expected parameters that SHOULD be provided to invoked Velo methods as part of open-platform. e.g. SPIs, event-handlers, etc.. NOTE: this context object MUST be provided as the last argument in each Velo method signature. Example: ```typescript export function wixStores_onOrderCanceled({ event, metadata }: OrderCanceledEvent) { ... } ``` - name: requestId | type: string | description: A unique identifier of the request. You may print this GUID to your logs to help with future debugging and easier correlation with Wix's logs. - name: currency | type: string | description: [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-letter currency code. - name: identity | type: IdentificationData | description: An object that describes the identity that triggered this request. - ONE-OF: - name: anonymousVisitorId | type: string | description: GUID of a site visitor that has not logged in to the site. - name: memberId | type: string | description: GUID of a site visitor that has logged in to the site. - name: wixUserId | type: string | description: GUID of a Wix user (site owner, contributor, etc.). - name: appId | type: string | description: GUID of an app. - name: languages | type: array | description: A string representing a language and region in the format of `"xx-XX"`. First 2 letters represent the language code according to ISO 639-1. This is followed by a dash "-", and then a by 2 capital letters representing the region according to ISO 3166-2. For example, `"en-US"`. - name: instanceId | type: string | description: The service provider app's instance GUID. param name: request | type: GetDynamicSchemaRequest - name: triggerKey | type: string | description: Trigger key as defined in your app's trigger configuration in the app dashboard. For example, `form_submitted` or `invoice_due`. - name: selectedFilterOptions | type: array | description: Current selection state of the trigger's filters. - name: fieldKey | type: string | description: Key representing a field from the trigger's [payload schema](https://dev.wix.com/docs/rest/business-management/automations/triggers/the-trigger-payload-schema.md) that has been configured as an [item selection filter](https://dev.wix.com/docs/build-apps/develop-your-app/extensions/backend-extensions/automations/triggers/filter-fields.md#item-selection). For example `formId`. - name: values | type: array | description: Values selected for the filter field. Return type: PROMISE - name: dynamicSchema | type: object | description: A [JSON schema](https://json-schema.org/) corresponding to the filter selection sent in the request. Possible Errors: HTTP Code: 404 | Status Code: NOT_FOUND | Application Code: PROVIDER_NOT_FOUND | Description: Service provider not found. ``` ### Examples ### getDynamicSchema ```javascript import { triggerProvider } from '@wix/automations/service-plugins'; async function getDynamicSchema(request,metadata) { const response = await triggerProvider.getDynamicSchema(request,metadata); }; ``` ### getDynamicSchema (with elevated permissions) ```javascript import { triggerProvider } from '@wix/automations/service-plugins'; import { auth } from '@wix/essentials'; async function myGetDynamicSchemaMethod(request,metadata) { const elevatedGetDynamicSchema = auth.elevate(triggerProvider.getDynamicSchema); const response = await elevatedGetDynamicSchema(request,metadata); } ``` ### getDynamicSchema (self-hosted) Self-hosted SDK calls require you to [create a client](https://dev.wix.com/docs/sdk/articles/work-with-the-sdk/about-the-wix-client.md). ```javascript import { createClient } from '@wix/sdk'; import { triggerProvider } from '@wix/automations/service-plugins'; // Import the auth strategy for the relevant access type // Import the relevant host module if needed const myWixClient = createClient ({ modules: { triggerProvider }, // Include the auth strategy and host as relevant }); async function getDynamicSchema(request,metadata) { const response = await myWixClient.triggerProvider.getDynamicSchema(request,metadata); }; ``` ---