From FormSettings.schema.yaml (onform/FormSettings.schema
)
---
$id: https://skeleton.botmd.io/onform/FormSettings.schema
$schema: http://json-schema.org/draft-07/schema#
title: Form Settings
description: >-
`FormV2.settings` is used to store form and provider information about `FormV2`s. **Secrets are stored here.**
additionalProperties: false
type: object
required: []
properties:
budibase:
title: Budibase
description: Settings for Budibase forms.
$ref: "#/definitions/Budibase"
calendly:
title: Calendly
description: Settings for Calendly forms.
$ref: "#/definitions/Calendly"
concerto:
title: Concerto
description: Settings for Concerto forms.
$ref: "#/definitions/Concerto"
formsg:
title: FormSG
description: Settings for FormSG forms.
$ref: "#/definitions/FormSG"
google_form:
title: Google Form
description: Settings for Google Forms.
$ref: "ProviderSettings.schema#/definitions/Google Form"
tabular:
title: Tabular Interface
description: Settings for Tabular interface forms.
$ref: "/scalpel/TabularInterfaceSettings.schema"
typeform:
title: Typeform
description: Settings for Typeform forms.
$ref: "#/definitions/Typeform"
#end properties
definitions:
Budibase:
type: object
additionalProperties: false
required: [app_prod_id, app_dev_id, screen_id]
properties:
webhook_token:
title: Webhook Token
description: Webhook token used to authenticate against our endpoints. This token is usually generated by the user. This will override the `webhook_token` on provider settings if set.
type: string
minLength: 1
app_dev_id:
title: Development app ID
description: Provider-specific ID for identifying the development app in budibase. This ID will also be used by backend to update development app in budibase.
type: string
minLength: 1
pattern: '^app\_dev\_\w+$'
app_prod_id:
title: Published app ID
description: Provider-specific ID for identifying the published app in budibase. This ID will also be used by backend to update published app in budibase.
type: string
minLength: 1
pattern: '^app\_\w+$'
screen_id:
title: Screen ID
description: "Provider-specific ID for identifying screen within app in budibase. Note: Currently we only support one screen per form."
type: string
minLength: 1
pattern: '^screen\_\w+$'
#end properties
#end Budibase
Calendly:
type: object
additionalProperties: false
required: [api_key, signing_key]
properties:
api_key:
title: API key
description: API key for accessing the Calendly API.
type: string
minLength: 1
signing_key:
title: Signing key
description: Signing key used to validate incoming webhook payload.
type: string
minLength: 1
#end properties
#end Calendly
Concerto:
type: object
additionalProperties: false
required: [test_groups]
properties:
client_code:
title: Client Code
description: Client code of incoming payloads should match this. Defaults to `client_code` on provider settings.
type: string
minLength: 1
test_groups:
title: Test Groups
description: Test groups for this form. This should be a superset of the test groups in the payload.
type: array
minItems: 1
items:
type: string
minLength: 1
#end items
#end properties
#end Calendly
FormSG:
type: object
additionalProperties: false
required: [secret_key]
properties:
secret_key:
title: Secret Key
description: Encryption/Decryption key provided by FormSG.
type: string
minLength: 1
#end properties
#end FormSG
Typeform:
type: object
additionalProperties: false
required: [webhook_secret]
properties:
webhook_secret:
title: WWebhook secret
description: Webhook secret for verifying incoming responses.
type: string
minLength: 1
delete_submissions:
title: Delete Submissions
description: Delete submissions that are older than `N` days. If not set, fallback to provider-application's settings.
type: integer
minimum: 0
#end Typeform
#end definitions