[
  {
    "type": "multi-input",
    "id": "open-ai",
    "title": "OpenAI",
    "content": "OpenAI settings.",
    "help": "https://board.support/docs/#open-ai",
    "value": [
      {
        "type": "select",
        "id": "open-ai-sync-mode",
        "title": "Sync mode",
        "value": [
          [ "auto", "Automatic" ],
          [ "manual", "Manual" ]
        ]
      },
      {
        "type": "password",
        "id": "open-ai-key",
        "title": "API key"
      },
      {
        "type": "select",
        "id": "open-ai-mode",
        "title": "Chatbot mode",
        "value": [
          [ "", "All questions" ],
          [ "sources", "Only questions related to your sources" ],
          [ "general", "Only general questions" ],
          [ "assistant", "Assistant" ]
        ]
      },
      {
        "type": "select",
        "id": "open-ai-model",
        "title": "Model",
        "value": [
          [ "", "Default" ],
          [ "gpt-5", "gpt-5" ],
          [ "gpt-5-mini", "gpt-5-mini" ],
          [ "gpt-5-nano", "gpt-5-nano" ],
          [ "gpt-4.1", "gpt-4.1" ],
          [ "gpt-4.1-mini", "gpt-4.1-mini" ],
          [ "gpt-4.1-nano", "gpt-4.1-nano" ],
          [ "o4-mini", "o4-mini" ],
          [ "o3-mini", "o3-mini" ],
          [ "o1", "o1" ],
          [ "gpt-4o-mini", "gpt-4o-mini" ],
          [ "gpt-4o", "gpt-4o" ],
          [ "gpt-4-turbo", "gpt-4-turbo" ],
          [ "gpt-4", "gpt-4" ],
          [ "gpt-3.5-turbo", "gpt-3.5-turbo" ],
          [ "gpt-3.5-turbo-instruct", "gpt-3.5-turbo-instruct" ]
        ]
      },
      {
        "type": "text",
        "id": "open-ai-assistant-id",
        "title": "Assistant ID"
      },
      {
        "type": "text",
        "id": "open-ai-fallback-message",
        "title": "Fallback message"
      },
      {
        "type": "textarea",
        "id": "open-ai-prompt",
        "title": "Prompt"
      },
      {
        "type": "number",
        "id": "open-ai-tokens",
        "title": "Max tokens"
      },
      {
        "type": "number",
        "id": "open-ai-temperature",
        "title": "Temperature",
        "placeholder": "1"
      },
      {
        "type": "number",
        "id": "open-ai-presence-penalty",
        "title": "Presence penalty",
        "placeholder": "0"
      },
      {
        "type": "number",
        "id": "open-ai-frequency-penalty",
        "title": "Frequency penalty",
        "placeholder": "0"
      },
      {
        "type": "text",
        "id": "open-ai-logit-bias",
        "title": "Logit bias"
      },
      {
        "type": "text",
        "id": "open-ai-custom-model",
        "title": "Custom model ID"
      },
      {
        "type": "select",
        "id": "open-ai-training-data-language",
        "title": "Training data language",
        "value": [
          [ "", "Default" ],
          [ "am", "Amharic" ],
          [ "ar", "Arabic" ],
          [ "bg", "Bulgarian" ],
          [ "br", "Portuguese - Brasilian" ],
          [ "cs", "Czech" ],
          [ "da", "Danish" ],
          [ "de", "German" ],
          [ "el", "Greek" ],
          [ "es", "Spanish" ],
          [ "et", "Estonian" ],
          [ "fa", "Persian" ],
          [ "fi", "Finnish" ],
          [ "fr", "French" ],
          [ "he", "Hebrew" ],
          [ "hi", "Hindi" ],
          [ "hr", "Croatian" ],
          [ "hu", "Hungarian" ],
          [ "id", "Indonesian" ],
          [ "is", "Icelandic" ],
          [ "it", "Italian" ],
          [ "ja", "Japanese" ],
          [ "ka", "Georgian" ],
          [ "ko", "Korean" ],
          [ "lt", "Lithuanian" ],
          [ "mk", "Macedonian" ],
          [ "mn", "Mongolian" ],
          [ "ms", "Malay" ],
          [ "my", "Burmese" ],
          [ "nl", "Dutch" ],
          [ "no", "Norwegian" ],
          [ "pa", "Punjabi - Gurmurkhi" ],
          [ "pl", "Polish" ],
          [ "pt", "Portuguese" ],
          [ "ro", "Romanian" ],
          [ "ru", "Russian" ],
          [ "sk", "Slovak" ],
          [ "sl", "Slovenian" ],
          [ "sq", "Albanian" ],
          [ "sr", "Serbian" ],
          [ "su", "Sundanese" ],
          [ "sv", "Swedish" ],
          [ "th", "Thai" ],
          [ "tl", "Filipino" ],
          [ "tr", "Turkish" ],
          [ "uk", "Ukrainian" ],
          [ "vi", "Vietnamese" ],
          [ "zh", "Chinese" ],
          [ "zt", "Chinese - Traditional" ]
        ]
      },
      {
        "type": "checkbox",
        "id": "open-ai-active",
        "title": "Chatbot"
      },
      {
        "type": "checkbox",
        "id": "open-ai-small-talk",
        "title": "Small talk"
      },
      {
        "type": "checkbox",
        "id": "open-ai-spelling-correction",
        "title": "Spelling correction"
      },
      {
        "type": "checkbox",
        "id": "open-ai-smart-reply",
        "title": "Smart reply"
      },
      {
        "type": "checkbox",
        "id": "open-ai-user-expressions",
        "title": "Generate user questions"
      },
      {
        "type": "checkbox",
        "id": "open-ai-speech-recognition",
        "title": "Speech recognition"
      },
      {
        "type": "checkbox",
        "id": "open-ai-vision",
        "title": "Image and file analysis"
      },
      {
        "type": "checkbox",
        "id": "open-ai-source-links",
        "title": "Source links"
      },
      {
        "type": "checkbox",
        "id": "open-ai-note-scraping",
        "title": "Note data scraping"
      },
      {
        "type": "checkbox",
        "id": "open-ai-training-cron-job",
        "title": "Training via cron job"
      },
      {
        "type": "checkbox",
        "id": "open-ai-user-train-conversations",
        "title": "Use conversations for training"
      },
      {
        "type": "checkbox",
        "id": "open-ai-context-awareness",
        "title": "Context awareness"
      },
      {
        "type": "button",
        "id": "open-ai-troubleshoot",
        "title": "Troubleshoot",
        "button-url": "#",
        "button-text": "Troubleshoot problems"
      }
    ]
  },
  {
    "type": "repeater",
    "id": "open-ai-assistants",
    "title": "OpenAI Assistants - Department linking",
    "content": "Set a dedicated OpenAI Assistants for each department.",
    "help": "https://board.support/docs/#open-ai-assistant",
    "items": [
      {
        "type": "select-ajax",
        "id": "open-ai-assistants-department-id",
        "name": "Department"
      },
      {
        "type": "text",
        "id": "open-ai-assistants-id",
        "name": "Assistant ID"
      }
    ]
  },
  {
    "type": "multi-input",
    "id": "open-ai-rewrite",
    "title": "Message rewriting",
    "content": "Automatically rewrite messages to improve clarity, tone, and style.",
    "help": "https://board.support/docs/#message-rewriting",
    "value": [
      {
        "type": "checkbox",
        "id": "open-ai-rewrite-active",
        "title": "Active"
      },
      {
        "type": "text",
        "id": "open-ai-rewrite-prompt",
        "title": "Prompt",
        "placeholder": "Rewrite the following text and make it more friendly and professional, do no add any additional text or comments, always return the rewritten text only."
      },
      {
        "type": "select",
        "id": "open-ai-rewrite-execution-mode",
        "title": "Execution mode",
        "value": [
          [ "manual", "Manual" ],
          [ "auto", "Automatic" ],
          [ "sentiment", "Negative sentiment" ]
        ]
      }
    ]
  },
  {
    "type": "multi-input",
    "id": "google",
    "title": "Google",
    "content": "Google settings.",
    "help": "https://board.support/docs/#google-sync",
    "value": [
      {
        "type": "select",
        "id": "google-sync-mode",
        "title": "Sync mode",
        "value": [
          [ "auto", "Automatic" ],
          [ "manual", "Manual" ]
        ]
      },
      {
        "type": "text",
        "id": "google-client-id",
        "title": "Client ID"
      },
      {
        "type": "password",
        "id": "google-client-secret",
        "title": "Client secret"
      },
      {
        "type": "text",
        "id": "google-refresh-token",
        "title": "Refresh token"
      },
      {
        "type": "button",
        "id": "dialogflow-sync-btn",
        "title": "Synchronize",
        "button-text": "Synchronize",
        "button-url": "#"
      },
      {
        "type": "button",
        "id": "dialogflow-redirect-url-btn",
        "title": "Authorised redirect URI",
        "button-text": "Get URL",
        "button-url": "#"
      },
      {
        "type": "checkbox",
        "id": "google-multilingual-translation",
        "title": "Multilingual via translation",
        "help": "https://board.support/docs/#multilingual-via-translation"
      },
      {
        "type": "checkbox",
        "id": "google-translation",
        "title": "Automatic translation",
        "help": "https://board.support/docs/#google-translation"
      },
      {
        "type": "checkbox",
        "id": "google-language-detection",
        "title": "Language detection",
        "help": "https://board.support/docs/#language-detection"
      },
      {
        "type": "text",
        "id": "google-language-detection-message",
        "title": "Language detection message"
      },
      {
        "type": "button",
        "id": "google-troubleshoot",
        "title": "Troubleshoot",
        "button-url": "#",
        "button-text": "Troubleshoot problems"
      }
    ]
  },
  {
    "type": "multi-input",
    "id": "dialogflow-google-search",
    "title": "Google search",
    "content": "Let the chatbot search on Google to find answers to user questions.",
    "help": "https://board.support/docs/#google-search",
    "value": [
      {
        "type": "checkbox",
        "id": "dialogflow-google-search-active",
        "title": "Active"
      },
      {
        "type": "checkbox",
        "id": "dialogflow-google-search-spelling-active",
        "title": "Spelling correction"
      },
      {
        "type": "text",
        "id": "dialogflow-google-search-id",
        "title": "Search engine ID"
      },
      {
        "type": "password",
        "id": "dialogflow-google-search-key",
        "title": "API key"
      }
    ]
  },
  {
    "type": "checkbox",
    "id": "dialogflow-timetable",
    "title": "Disable during office hours",
    "content": "Enable the chatbot outside of scheduled office hours only."
  },
  {
    "type": "checkbox",
    "id": "dialogflow-disable-tickets",
    "title": "Disable for the tickets area",
    "content": "Disable the chatbot for the tickets area."
  },
  {
    "type": "multi-input",
    "id": "dialogflow-human-takeover",
    "title": "Human takeover",
    "content": "If the chatbot doesn't understand a user's question, forwards the conversation to an agent.",
    "help": "https://board.support/docs/#human-takeover",
    "value": [
      {
        "type": "checkbox",
        "id": "dialogflow-human-takeover-active",
        "title": "Active"
      },
      {
        "type": "checkbox",
        "id": "dialogflow-human-takeover-auto",
        "title": "Automatic human takeover"
      },
      {
        "type": "checkbox",
        "id": "dialogflow-human-takeover-disable-chatbot",
        "title": "Disable chatbot"
      },
      {
        "type": "checkbox",
        "id": "dialogflow-human-takeover-disable-offline",
        "title": "Disable outside office hours"
      },
      {
        "type": "textarea",
        "id": "dialogflow-human-takeover-message",
        "title": "Message",
        "placeholder": "I'm a chatbot. Do you want to get in touch with one of our agents?"
      },
      {
        "type": "textarea",
        "id": "dialogflow-human-takeover-message-confirmation",
        "title": "Confirmation message",
        "placeholder": "Alright! We will get in touch soon!"
      },
      {
        "type": "textarea",
        "id": "dialogflow-human-takeover-message-fallback",
        "title": "Fallback message",
        "placeholder": "An agent has already been contacted and will respond shortly."
      },
      {
        "type": "text",
        "id": "dialogflow-human-takeover-confirm",
        "title": "Confirm button text",
        "placeholder": "Yes"
      },
      {
        "type": "text",
        "id": "dialogflow-human-takeover-cancel",
        "title": "Cancel button text",
        "placeholder": "Cancel"
      }
    ]
  },
  {
    "type": "number",
    "id": "dialogflow-bot-delay",
    "title": "Bot response delay (seconds)",
    "content": "Add a delay to the chatbot's responses.",
    "placeholder": "2"
  },
  {
    "type": "checkbox",
    "id": "ai-smart-reply",
    "title": "Smart reply",
    "content": "Follows a conversation between a human agent and an end user and provide response suggestions to the human agent in real-time.",
    "help": "https://board.support/docs/#smart-reply"
  },
  {
    "type": "checkbox",
    "id": "dialogflow-email-piping",
    "title": "Reply to user emails",
    "content": "Allow the chatbot to reply to the user's emails if the answer is known and email piping is active."
  },
  {
    "type": "checkbox",
    "id": "dialogflow-sms",
    "title": "Reply to user text messages",
    "content": "Allow the chatbot to reply to the user's text messages if the answer is known."
  },
  {
    "type": "multi-input",
    "id": "chatbot-usage-limit",
    "title": "Usage Limit",
    "content": "Prevent any abuse from users by limiting the number of messages sent to the chatbot from one device.",
    "value": [
      {
        "type": "number",
        "id": "chatbot-usage-limit-quota",
        "title": "Max message limit"
      },
      {
        "type": "number",
        "id": "chatbot-usage-limit-interval",
        "title": "Interval (seconds)"
      },
      {
        "type": "textarea",
        "id": "chatbot-usage-limit-message",
        "title": "Message"
      }
    ]
  },
  {
    "type": "multi-input",
    "id": "google-calendar",
    "title": "Google Calendar integration",
    "content": "View and manage bookings from the conversations area, and integrate Google Calendar with the chatbot to let users make bookings automatically via the chatbot. Set the available booking times under Settings > Miscellaneous > Scheduled Office Hours.",
    "help": "https://board.support/docs/#google-calendar-integration",
    "value": [
      {
        "type": "checkbox",
        "id": "google-calendar-active",
        "title": "Active"
      },
      {
        "type": "number",
        "id": "google-calendar-slot-time",
        "title": "Slot time (minutes)",
        "placeholder": "30"
      },
      {
        "type": "number",
        "id": "google-calendar-min-booking-time",
        "title": "Minimum booking time (minutes)",
        "placeholder": "120"
      },
      {
        "type": "number",
        "id": "google-calendar-buffer-time",
        "title": "Buffer time (minutes)",
        "placeholder": "0"
      },
      {
        "type": "number",
        "id": "google-calendar-max-advance-booking",
        "title": "Max advance booking (days)",
        "placeholder": "30"
      },
      {
        "type": "text",
        "id": "google-calendar-id",
        "title": "Calendar ID",
        "placeholder": "Default is primary calendar"
      },
      {
        "type": "text",
        "id": "google-calendar-event-title",
        "title": "Booking title",
        "placeholder": ""
      },
      {
        "type": "text",
        "id": "google-calendar-event-description",
        "title": "Booking description",
        "placeholder": ""
      },
      {
        "type": "checkbox",
        "id": "google-calendar-disable-chatbot",
        "title": "Disable chatbot"
      }
    ]
  },
  {
    "type": "multi-input",
    "id": "tidycal",
    "title": "TidyCal integration",
    "content": "View and manage bookings from the conversations area, and integrate TidyCal with the chatbot to let users make bookings automatically via the chatbot.",
    "help": "https://board.support/docs/#tidycal-integration",
    "value": [
      {
        "type": "checkbox",
        "id": "tidycal-active",
        "title": "Active"
      },
      {
        "type": "password",
        "id": "tidycal-access-token",
        "title": "Access token"
      },
      {
        "type": "text",
        "id": "tidycal-booking-type",
        "title": "Booking type title"
      },
      {
        "type": "checkbox",
        "id": "tidycal-disable-chatbot",
        "title": "Disable chatbot"
      }
    ]
  }
]