#!/bin/bash # Freescout Custom Fields Setup Script # Creates 3 custom fields via Freescout API: # 1. AI_SUGGESTION (Text Field) # 2. AI_SUGGESTION_STATUS (Dropdown) # 3. PROCESSED_BY_AI (Checkbox) set -e # Environment variables validation if [ -z "$FREESCOUT_API_BASE" ]; then echo "❌ Error: FREESCOUT_API_BASE environment variable not set" exit 1 fi if [ -z "$FREESCOUT_API_KEY" ]; then echo "❌ Error: FREESCOUT_API_KEY environment variable not set" exit 1 fi if [ -z "$FREESCOUT_MAILBOX_ID" ]; then echo "❌ Error: FREESCOUT_MAILBOX_ID environment variable not set" exit 1 fi echo "Starting Freescout custom fields setup..." echo "API Base: $FREESCOUT_API_BASE" echo "Mailbox ID: $FREESCOUT_MAILBOX_ID" echo "" # Function to create custom field create_field() { local name=$1 local title=$2 local type=$3 local required=$4 local options=$5 echo "Creating field: $name ($title)..." if [ -z "$options" ]; then # For text and checkbox fields without options curl -X POST "$FREESCOUT_API_BASE/mailboxes/$FREESCOUT_MAILBOX_ID/custom-fields" \ -H "Authorization: Bearer $FREESCOUT_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"name\": \"$name\", \"title\": \"$title\", \"type\": \"$type\", \"required\": $required }" \ -w "\nHTTP Status: %{http_code}\n" \ -s else # For select fields with options curl -X POST "$FREESCOUT_API_BASE/mailboxes/$FREESCOUT_MAILBOX_ID/custom-fields" \ -H "Authorization: Bearer $FREESCOUT_API_KEY" \ -H "Content-Type: application/json" \ -d "{ \"name\": \"$name\", \"title\": \"$title\", \"type\": \"$type\", \"required\": $required, \"options\": $options }" \ -w "\nHTTP Status: %{http_code}\n" \ -s fi echo "✅ Field created: $name" echo "" } # Create Field 1: AI_SUGGESTION (Text Field) create_field "AI_SUGGESTION" "KI-Vorschlag" "text" "false" # Create Field 2: AI_SUGGESTION_STATUS (Dropdown/Select) create_field "AI_SUGGESTION_STATUS" "KI-Status" "select" "false" '["PENDING", "APPROVED", "REJECTED", "EXECUTED"]' # Create Field 3: PROCESSED_BY_AI (Checkbox) create_field "PROCESSED_BY_AI" "Von KI verarbeitet" "checkbox" "false" echo "✅ All Freescout custom fields created successfully!"