{
  "version": 1,
  "structures": [
    {
      "name": "application_triage_response",
      "description": "Fit score and notes from the application",
      "example": {
        "role_match_score": 78,
        "key_skills": [
          "python",
          "rest apis",
          "postgres"
        ],
        "experience_years": 4,
        "red_flags": [
          "no relevant portfolio"
        ]
      },
      "schema": {
        "type": "object",
        "properties": {
          "role_match_score": {
            "type": "number"
          },
          "key_skills": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "experience_years": {
            "type": "number"
          },
          "red_flags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "role_match_score",
          "key_skills",
          "experience_years",
          "red_flags"
        ],
        "additionalProperties": false
      }
    },
    {
      "name": "application_response_response",
      "description": "Screen decision and next-step email",
      "example": {
        "screen_decision": "advance",
        "next_steps": "Invite the candidate to a 30-minute intro call",
        "candidate_email": "Thanks for applying - we'd love to schedule a quick call."
      },
      "schema": {
        "type": "object",
        "properties": {
          "screen_decision": {
            "type": "string",
            "enum": [
              "advance",
              "on_hold",
              "decline"
            ]
          },
          "next_steps": {
            "type": "string"
          },
          "candidate_email": {
            "type": "string"
          }
        },
        "required": [
          "screen_decision",
          "next_steps",
          "candidate_email"
        ],
        "additionalProperties": false
      }
    }
  ],
  "workflows": [
    {
      "name": "application_triage_workflow",
      "description": "Scores the application and starts screening",
      "provider": "openai",
      "model": "gpt-5.6-terra",
      "backups": [
        {
          "provider": "anthropic",
          "model": "claude-haiku-4-5-20251001"
        }
      ],
      "request_type": "chat",
      "system_instructions": "Screen the job application: score how well the candidate matches the role, list their key skills, estimate years of relevant experience, and flag any red flags. Stay factual and fair.",
      "structure": "application_triage_response",
      "customer_fields": [
        "candidate_name",
        "resume_text",
        "job_role"
      ],
      "test_mode": false,
      "cache_window_seconds": 900,
      "backend_pipeline": {
        "enabled": true,
        "events": [
          {
            "name": "application_received"
          },
          {
            "name": "screen_and_respond",
            "target_workflow": "application_response_workflow"
          },
          {
            "name": "response_ready"
          }
        ]
      }
    },
    {
      "name": "application_response_workflow",
      "description": "Decides next steps and drafts the candidate email",
      "provider": "anthropic",
      "model": "claude-haiku-4-5-20251001",
      "backups": [
        {
          "provider": "openai",
          "model": "gpt-5.6-terra"
        }
      ],
      "request_type": "chat",
      "system_instructions": "Based on the screening score, choose the next step: advance strong candidates to an interview, hold borderline ones, or decline weak matches. Draft a polite, professional email for the candidate.",
      "structure": "application_response_response",
      "customer_fields": [
        "candidate_name",
        "resume_text",
        "job_role"
      ],
      "test_mode": false
    }
  ]
}
