Schema for Onform Form Settings

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

[Main Page] [Schema Documentation] [Examples]